牛顿算法及其改进【阻尼牛顿法、修正牛顿法】 | 您所在的位置:网站首页 › 修正牛顿法的优缺点 › 牛顿算法及其改进【阻尼牛顿法、修正牛顿法】 |
牛顿算法
对于优化函数\(f(x)\),\(x=(x_1;x_2;...;x_n)\),二阶连续可导 在\(x_k\)处泰勒展开,取前三项,即对于优化函数二阶拟合 \[f(x)=f(x_k)+g_k(x-x_k)+\frac{1}{2}(x-x_k)G_k(x-x_k) \]其中\(g_k=\nabla f(x_k)\),为函数梯度;\(G_k=\nabla^2f(x_k)\),为函数的Hesse矩阵 当\(G_k\)正定时,上式存在极小值,使得\(\nabla f(x)=0\) \(\nabla f(x)=g_k+G_k(x-x_k)=0\) 可得牛顿法迭代公式: \[x_{k+1}=x_k-G_k^{-1}g_k \] 可见,对于牛顿法,需要计算二阶偏导数(Hesse矩阵),且Hesse矩阵必须可逆、正定 并且,牛顿法对于迭代初始值\(x_0\)也有要求,当\(x_0\)距离最优解\(x*\)足够近时,算法才收敛 阻尼牛顿法阻尼牛顿法解决了第二个问题,使得算法全局收敛 主要方法是引入线搜索技术,使得算法满足收敛性条件,关于线搜索技术 线搜索 算法: \(step0:\) 给定迭代初始值\(x_0\),和容许误差\(\epsilon\) \(step1:\) 计算梯度\(g_k=\nabla f(x_k)\) if \(||g_k|| |
CopyRight 2018-2019 实验室设备网 版权所有 |