假设是上具有二阶连续偏导数的函数,要求解的无约束最优化问题是
表示目标函数的极小点。
函数有极值的必要条件是在极值点的一阶导数为0,特别是当海塞矩阵是正定矩阵时,函数的极值为极小值。(因为当海塞矩阵是正定矩阵时函数为凸函数)
所以牛顿法的目标是通过迭代的方式找到一个的点使得
假设在第次迭代时,找到的点是,让在点附近进行二阶泰勒展开:
其中是在点的梯度,是的海塞矩阵(类似于二阶导数)在点的值:
假设在第次迭代时,找到的点是,满足(2)的要求,即:
公式(3)两边对求导:
然后将点代入公式(6)并通过公式(5)得到:
所以
记
则公式(7)为
其中
这样就得到了牛顿法的迭代方式,即公式(8)或公式(10)。
算法
输入:目标函数,梯度,海塞矩阵,精度要求;
输出:的极小点。
- 取初始点,置
- 计算
- 若,则停止计算,得近似解
- 计算,并求
- 置
- 置,转(2)
步骤4中需要计算,其计算比较复杂,所以有了拟牛顿法来进行改进。
网友评论