牛顿法的基本含义
泰勒公式:
现在要求f(x)的极小值,假设f(x)是二阶连续偏导数,若第k次迭代值为
xk
,则可将f(x)在该点附近进行二阶泰勒展开:
推导流程
我们知道求极值,必要条件是一阶导数为0,那么
∇f(x)=0
我们利用
f(x)
推导一下:
基于
∂xTAx∂x=2Ax
把一阶导数带入:
至此找到了两次不同位置点的更新公式,那就找到了迭代方法。于是
算法流程
输入:
f(x)
,梯度
g(x)=∇f(x)
, 海塞矩阵
H(x)
, 精度要求
ε
输出:
f(x)
的极小点
x∗
算法步骤:
- 初始化点 x0,k=0 .
- 计算梯度 g(xk)
- ||g(xk)||<ε ,则得到极小点 xk
- 否则继续迭代 xk+1=xk−H−1kgk ,得到k=k+1
- 然后转步骤2
核心要点
- 需要求极值
- 然后泰勒公式展开
- 然后求导,得到梯度和海塞矩阵
- 极值满足必要条件梯度为0,所以推导出两次迭代的更新公式
- 根据精度得到迭代跳出条件
- 海塞矩阵逆矩阵是复杂度较高的计算,需要优化和计算解决的问题。
参考
http://blog.youkuaiyun.com/sunnyxiaohu/article/details/52456261
本文详细介绍了牛顿法的基本原理及其在寻找函数极小值的应用。通过泰勒公式展开并利用梯度与海森矩阵求导,推导出迭代更新公式。最后给出了牛顿法的具体算法流程。
569

被折叠的 条评论
为什么被折叠?



