梯度下降法的简单理解

梯度下降法

  梯度下降法(gradient descent)或最速下降法(steepest descent)是求解无约束最优化问题的一种最常用的方法。
负梯度方向是使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新x的值,从而达到减少函数值的目的。
假设 f(x) Rn 上具有一阶连续偏导数,要求解的无约束最优化问题是:

minxRnf(x)

由于 f(x) 具有一阶连续偏导数,若第 k 次迭代值为 x(k) ,则可将 f(x) x(k) 附近进行泰勒展开:
f(x)=f(x(k))+gTk(xx(k))

这里, gk=g(x(k))=f(x(k)) f(x) x(k) 的梯度。
求出第 k+1 次迭代值 x(k+1) x(k+1)x(k)+λkpk
其中, pk 是搜索方向,取负梯度方向 pk=f(x(k)) λk 是步长,由一维搜索确定,即 λk 使得 f(x(k)+λkpk)=minλ0f(x(k)+λpk)

简单推导:

f(x(k+1))=f(x(k))+f(x(k))(x(k+1)x(k))

x(k+1)=x(k)+λpk=x(k)+λ(f(x(k))) ,带入上式有:

f(x(k+1))=f(x(k))λ(f(x(k)))2
,所以 f(x(k+1))f(x(k)) ,且如果 f(x) 存在最小值,因此多次迭代下,可以收敛。

梯度下降法的简单理解_第1张图片

  牛顿法和拟牛顿法也是求解无约束最优化问题常用的方法,有收敛速度快的优点。牛顿法是迭代算法,每一步需要求解目标函数的海赛矩阵的逆矩阵,计算比较复杂。拟牛顿法通过正定矩阵近似海赛矩阵的逆矩阵或海赛矩阵,简化了这一计算过程。
以下三种方法都是拟牛顿法:
DFP(Davidon-Fletcher-Powell)算法
BFGS(Broyden-Fletcher-Goldfarb-Shanno)算法
L-BFGS算法

参考资料:
1. 《统计学习方法》李航
2. [泰勒公式] https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=2362434890,1610636723&fm=58

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