机器学习的数学那点事儿
学习机器学习算法和理论,就躲不开学习相关的数学知识,例如线性代数、微积分、概率论和最优化方法。对于每一块数学知识,这里简单地提几句。
线性代数
线性代数在机器学习中的使用非常之多,具体用到的知识点有:
-
向量和它的各种运算,包括加法,减法,数乘,转置,内积
-
向量和矩阵的范数,L1范数和L2范数
-
矩阵和它的各种运算,包括加法,减法,乘法,数乘
-
逆矩阵的定义与性质
-
行列式的定义与计算方法
-
二次型的定义
-
矩阵的正定性
-
矩阵的特征值与特征向量
-
矩阵的奇异值分解
-
线性方程组的数值解法,尤其是共轭梯度法
微积分
在机器学习中,主要使用到了微积分中的微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能。具体用到的知识点有:
-
导数和偏导数的定义与计算方法
-
梯度向量的定义
-
极值定理,可导函数在极值点处导数或梯度必须为0
-
雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到
-
Hessian矩阵,这是2阶导数对多元函数的推广,与函数的极值有密切的联系
-
凸函数的定义与判断方法
-
泰勒展开公式
-
拉格朗日乘数法,用于求解带等式约束的极值问题
概率论
如果把机器学习所处理的样本数据看作随机变量/向量,我们就可以用概率论的观点对问题进行建模。具体用到的知识点有:
-
随机事件的概念,概率的定义与计算方法
-
随机变量与概率分布,尤其是连续型随机变量的概率密度函数和分布函数
-
条件概率与贝叶斯公式
-
常用的概率分布,包括正态分布,伯努利二项分布,均匀分布
-
随机变量的均值与方差,协方差
-
随机变量的独立性
-
最大似然估计
最优化方法
最后要说的是最优化,因为几乎所有机器学习算法归根到底都是在求解最优化问题。求解最优化问题的指导思想是在极值点出函数的导数/梯度必须为0。因此你必须理解梯度下降法,牛顿法这两种常用的算法,它们的迭代公式都可以从泰勒展开公式中得到。如果能知道坐标下降法、拟牛顿法就更好了。
各种算法和理论用到的数学知识
引用
https://blog.csdn.net/vbskj/article/details/87900948