梯度下降法的简单理解

来源:互联网 发布:linux 修改目录结构 编辑:程序博客网 时间:2024/04/29 10:20

梯度下降法

  梯度下降法(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)存在最小值,因此多次迭代下,可以收敛。
这里写图片描述

这里写图片描述

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

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

0 0