个人对机器学习的理解

Featured image

一个比较官方的定义:

将一个任务记为T,经验记为E,对任务执行结果的评价记为P;
如果一段程序可以通过执行任务T,来获得经验E,进而使得执行结果的评价标准P越来越好;这个过程可以定义为机器学习

视角一:

个人理解机器学习的本质就是利用数学函数对数据进行拟合;

对于机器学习系统来说,都是需要有输入和输出的;一般来说无论是什么类型的输入(文本、图像、音频等)最终都需要转化为数字类型的数据作为算法输入,而算法输出的也是数字,需要后续转为人类可理解的信息。算法实际上可以理解为一个函数,将输入转化为输出的过程。

与传统的数学上根据已知数据,求解函数不同的是:机器学习研究的数据是很难找到一个函数可以完美拟合所有数据的,所以是需要找到一个最优的函数,可以对数据拟合的尽量好;这里好与劣的标准一般是用一个叫损失函数的值公式表示;

例如:对所有样本点的输入使用函数进行转换,可以将函数的输出与真实值之间做差然后求和再求平均值,如果这个值越小,则说明函数的输出与真实值之间的误差越小,表明函数的效果越好。这个对差值求和再求平均值的韩式就叫损失函数

另一个不同点是,最优函数不是一次求解得出的;最优函数的求解,主要是求解函数的参数,例如线性函数 y=k*x+b 就是求解参数k 和 b的最优值,使得损失函数最小,求解过程是这样的:首先赋予k和b一个初始值,然后利用一些数学原理,去更新k和b的值,使得损失函数变小一些;需要更新多次才能得到k和b的近似最优值。至于为什么不能一次更新到,了解了更新原理之后就会理解。

视角二:

机器学习在拟合现有(历史)数据的同时,更加强调泛化性能;只有具备很好的泛化性,才能对未知数据输出预期之内的预测效果;这样才能有价值;

视角三:

机器学习之所以成为了一个比较垂直的技术领域,其关键核心点在于机器学习过程设计与选择,包含了预测函数形式的选择(比如:一次函数、二次函数、指数函数、分段函数等)、函数参数的设计与选择、优化参数方法的选择、损失函数的选择与定义等专业领域知识;

另外也可以从统计学的理解,通过搜索、整理、分析、描述数据等手段,以达到推断所测对象的本质;

关于机器学习中的特征工程:
随着深度学习的兴起,对机器学习领域的特征工程工作有所弱化,但实际应用中还是需要花费精力去做特征工程,因为机器对数据没有理解与认知,如果在人的理解之上,让机器学习,效果则会更好。

算法工程师应该具备的能力: