统计学习知识点整理——梯度下降、最小二乘法、牛顿法

统计学习知识点整理——梯度下降、最小二乘法、牛顿法

梯度下降

梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。

统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第1张图片

梯度下降比较直观的解释,可以根据下山的过程来理解,在下山的过程中,每次均选择最陡峭的位置下山,就可以最快的到达最低点(对应损失函数,也就是最小化损失函数)

数学公式:

Θ1=Θ0+α▽J(Θ)→evaluatedatΘ0

此公式的意义是:J是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长,也就是α,走完这个段步长,就到达了Θ1这个点。

算法过程:

统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第2张图片

算法调优:

1. 步长的选择:步长太长,会导致迭代过快,甚至有可能错过最优解。步长过小,迭代速度太慢,很长时间都不能达到最优解。

2. 参数初始值选择:由上图可知,梯度下降得到的不一定是全局最优解,可能是局部最优解,所以初始值的选择会影响最终结果,如果损失函数是凸函数,则一定是最优解,不然就要多次使用不同初始值来运行算法,选择损失函数最小的算法。

3. 归一化:由于像本不同特征的取值范围不同,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据归一化,也就是转化为期望为1,标准差为1的分布。

梯度下降法家族:

批量梯度下降法(BGD): 具体做法是在更新参数是使用所有的样本来进行更新;

随机梯度下降法(SGD): 仅仅选取一个样本来求梯度;

小批量梯度下降法(MBGD): 是BGD和SGD的折中,也就是随机选取部分样本来更新;

最小二乘法

公式如下:

观测值就是我们的多组样本,理论值就是我们的假设拟合函数,目标函数也就是在机器学习中常说的损失函数。

最小二乘法就是要找到一组  使得 统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第3张图片 (残差平方和) 最小,即,求 统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第4张图片

最小二乘法的解法:

统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第5张图片

 

牛顿法

牛顿法的基本思想是:在现有极小点的估计值附近对f(x)进行二阶泰勒展开,进而找到极小点的下一个估计值。设xk为当前极小点的估计值,则:

若想求极值,令统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第6张图片,即:统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第7张图片,进而求得:统计学习知识点整理——梯度下降、最小二乘法、牛顿法_第8张图片

牛顿法优点:

牛顿法是一种具有二次收敛性的算法,对于非二次函数,若函数的二次形态较强,或者已进入极小点的领域,其收敛速度是很快的。

牛顿法缺点:

牛顿法中没有迭代步长,二次定长迭代,所以对于非二次型目标函数,有时会使函数值上升,这表明牛顿法不能保证函数值稳定的下降。

梯度下降法、最小二乘法、牛顿法之间的区别

相同点:都是无约束优化算法

不同点:

梯度下降法相对于最小二乘法:梯度下降法需要选择步长,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是计算解析解。如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有优势,计算速度很快。但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。

梯度下降法和牛顿法/拟牛顿法相比,两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。

 

参考文章:

梯度下降法:https://www.cnblogs.com/pinard/p/5970503.html

牛顿法与拟牛顿法学习笔记:https://blog.csdn.net/itplus/article/details/21896453

如何理解最小二乘法:https://blog.csdn.net/ccnt_2012/article/details/81127117

最小二乘法:https://zhuanlan.zhihu.com/p/38128785

 

你可能感兴趣的:(统计学习,机器学习)