统计机器学习-拟牛顿法

假设是上具有二阶连续偏导数的函数,要求解的无约束最优化问题是

表示目标函数的极小点。

在牛顿法的迭代中,需要计算海塞矩阵的逆矩阵,这一计算比较复杂,考虑用一个阶矩阵来近似代替。这就是拟牛顿法的基本想法。

假设在第次迭代时,找到的点是,让在点附近进行二阶泰勒展开:

其中是在点的梯度,是的海塞矩阵(类似于二阶导数)在点的值:

公式(2)两边对求导:

将点代入公式(4)得到:

所以

记,,则

或者说

公式(7)或公式(8)叫做拟牛顿条件。

如果是正定的(也是正定的),那么可以保证牛顿法搜索方向是下降方向。对公式(2)只展开到1阶:

而的更新公式为:

将(10)中的代入(9)得到:

因为正定,所以。当为一个充分小的正数时,总有,也就是说是下降方向。

综上所述,拟牛顿法使用近似(DFP算法)或者使用(BFGS算法)近似,需要满足满足两个条件:

  1. 或正定
  2. 满足拟牛顿条件,即或

或通过迭代的方式进行更新,即或。

DFP算法

DFP算法使用近似,需要满足拟牛顿条件,通过迭代更新。

使



公式(13)两边乘上


则公式(14)为

满足拟牛顿条件,也不难找出满足条件(15)和(16)的和:

于是得到矩阵的迭代公式:

算法

输入:目标函数,梯度,精度要求;

输出:的极小点。

  1. 选定初始点,取为正定对称矩阵,置
  2. 计算。若,则停止计算,得近似解;否则转(3)
  3. 一维搜索,求使得

  1. 计算,若,则停止计算,得近似解;否则按公式(20)算出
  2. 置,转(3)

BFGS算法

DFP算法使用近似,需要满足拟牛顿条件,通过迭代更新。

使



公式(22)两边乘上


则公式(23)为

满足拟牛顿条件,也不难找出满足条件(24)和(25)的和:

于是得到矩阵的迭代公式:

算法

输入:目标函数,梯度,精度要求;

输出:的极小点。

  1. 选定初始点,取为正定对称矩阵,置
  2. 计算。若,则停止计算,得近似解;否则转(3)
  3. 一维搜索,求使得

    1. 计算,若,则停止计算,得近似解;否则按公式(29)算出
  1. 置,转(3)

你可能感兴趣的:(统计机器学习-拟牛顿法)