总结学习机器学习过程中用到的数据学知识

现在机器学习行业持续加温,应届毕业生年薪持续走高,2019年毕业生算法岗年薪40万起,上不封顶,吸引着越来越多的人想往机器学习方向转。但是刚接触到算法时,看到那些数学公式都望而生畏,特别是公式的推导。今天本文就介绍机器学习会用到哪些数学知识,让那些想往机器学习方向转的同学心里有底,知道学习的方向。

数学是机器学习的内功。作为机器学习的基石,数学知识无论如何是绕不开的,机器学习中大量的问题最终都可以归结为求解最优化问题,微积分、线性代数是最优化方法和理论的基础,很多机器学习算法的建模涉及到概率论,由此可见学好数学知识多么必要。不少准备或刚刚迈入机器学习的同学,在面临数学基础的学习时,会遇到两个问题:

不知道机器学习和深度学习到底要用到哪些数学知识

无法真正理解这些数学知识,并用于机器学习的推导证明

对此,Summer哥在本文中专门为大家解决这两个问题。

首先,在庞杂的数学系统内,哪些知识是在机器学习中真正有用的,对这些知识掌握到什么程度就足够了?

其次,掌握了的数学知识怎么在机器学习领域内运用,即怎么从机器学习的角度去理解数学知识?

一、机器学习所需要的数学知识

很多人对于机器学习中的数学知识,谈之色变,一想到实变函数、随机过程、泛函分析等等就不寒而栗。事实上,要理解和掌握绝大部分机器学习算法和理论,尤其是对做工程应用的人而言,真正所需要的数学知识不过尔尔,主要包括了:微积分、线性代数、概率论、最优化方法
下面我们来一一介绍一下:

微积分
先说微积分/高等数学。在机器学习中,微积分主要用到了微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能。在机器学习里会用到微积分中的以下知识点:

导数和偏导数的定义与计算方法

梯度向量的定义

极值定理,可导函数在极值点处导数或梯度必须为0

雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到

Hessian矩阵,这是2阶导数对多元函数的推广,与函数的极值有密切的联系

凸函数的定义与判断方法
泰勒展开公式

拉格朗日乘数法,用于求解带等式约束的极值问题

相比之下,积分、无穷级数、常微分方程、偏微分方程等在机器学习和深度学习中使用的相对较少。

线性代数
相比之下,线性代数用的更多。在机器学习的几乎所有地方都有使用,具体用到的知识点有:

向量和它的各种运算,包括加法,减法,数乘,转置,内积

向量和矩阵的范数,L1范数和L2范数

矩阵和它的各种运算,包括加法,减法,乘法,数乘

逆矩阵的定义与性质

行列式的定义与计算方法

二次型的定义

矩阵的正定性

矩阵的特征值与特征向量

矩阵的奇异值分解

机器学习算法处理的数据一般都是向量、矩阵或者张量。经典的机器学习算法输入的数据都是样本的特征向量,深度学习算法在处理图像时输入的2维的矩阵或者3维的张量。掌握这些知识会使你游刃有余。

概率论
如果把机器学习所处理的样本数据看作随机变量/向量,我们就可以用概率论的观点对问题进行建模,这代表了机器学习中很大一类方法。在机器学习里用到的概率论知识点有:

随机事件的概念,概率的定义与计算方法

随机变量与概率分布,尤其是连续型随机变量的概率密度函数和分布函数

条件概率与贝叶斯公式

常用的概率分布,包括正态分布,伯努利二项分布,均匀分布

随机变量的均值与方差,协方差

随机变量的独立性

最大似然估计

最优化方法
最后要说的是最优化,因为几乎所有机器学习算法归根到底都是在求解最优化问题。求解最优化问题的指导思想是在极值点出函数的导数/梯度必须为0。因此你必须理解梯度下降法,牛顿法这两种常用的算法,它们的迭代公式都可以从泰勒展开公式中得到。如果能知道坐标下降法、拟牛顿法就更好了。

拉格朗日乘数法在机器学习中用的非常多,用于求解代等式约束的最优化问题,因此熟练的使用它是非常有必要的。

凸优化是机器学习中经常会提及的一个概念,这是一类特殊的优化问题,它的优化变量的可行域是凸集,目标函数是凸函数。凸优化最好的性质是它的所有局部最优解就是全局最优解,因此求解时不会陷入局部最优解。如果一个问题被证明为是凸优化问题,基本上已经宣告此问题得到了解决。在机器学习中,线性回归、岭回归、支持向量机、logistic回归等很多算法求解的都是凸优化问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxsgz.html