牛顿法和梯度下降法的学习

碧影江白 2018-03-20 21:30:00 59

牛顿法和梯度下降法的差别

牛顿法:二次逼近
梯度下降法:一阶逼近

牛顿法:对局部凸的函数找到极小值,对局部凹的函数找到极大值,对不凹不凸的函数可能找到鞍点。
梯度下降法:一般不会找到最大值,但同样可能会找到鞍点。

在初始值合理的条件下,
牛顿法的收敛速度>梯度下降法的收敛速度

牛顿法的计算难度更大(因为需要估计二阶导数)

泰勒展开式:https://baike.baidu.com/item/泰勒公式/7681487?fr=aladdin

其中

牛顿法:

对f(x)函数进行二次逼近,即可以开方两次:

我们假设

g(x)是一个关于∆x的一元二次方程,我们知道一元二次方程式的最小值求法:

那么,g(∆x)的极值为:

此时f(x0+∆x)的极值为:

以此类推:

当f是一个多元函数时,牛顿法将会变为:

分子代表梯度(一阶矩阵推广的向量)

,分母代表Hession矩阵:

梯度下降法:

梯度下降法与牛顿法的区别在于梯度下降法是一阶算法。

假设f(x)是个多元函数,x是一个向量,在x0出对f进行线性逼近:

由于一次函数g(x)没有极值,所以梯度下降法只能提供出来下降的方向,而不能提供出需要下降的距离,我们通常只设定一个比较小的距离γ,并使其沿这个方向走下去,并二道梯度下降法的序列:

牛顿法和梯度下降法的本质上都是对目标函数进行局部逼近,所以只能找到局部极值。