首页 > 学院 > 开发设计 > 正文

牛顿法和拟牛顿法

2019-11-14 11:17:28
字体:
来源:转载
供稿:网友

牛顿法(Newton method)和拟牛顿法(quasi Newton method)是求解无约束最优化问题的常用方法,有收敛速度快的优点。

1. 牛顿法

考虑无约束最优化问题 minx∈Rnf(x) 其中x∗为目标函数极小点。 假设f(x)有二阶连续偏导数,若第k次迭代值为x(k),则可将f(x)x(k)附近进行二阶泰勒展开: f(x)=f(x(k))+gTk(x−x(k))+12(x−x(k))TH(x(k))(x−x(k)) 这里,gk=g(x(k))=▽f(x(k))f(x)的梯度向量在点x(k)的值,H(x(k))f(x)的海塞矩阵 H(x)=[∂2f∂xi∂xj]n×n 在点x(k)的值。H(x(k))是正定矩阵是,函数f(x)的极值为极小值。 假设x(k)满足: ▽f(x(k+1))=0f(x)求导,得 ▽f(x)=gk+Hk(x−x(k)) 其中Hk=H(x(k)),则 gk+Hk(x(k+1)−x(k))=0 因此,x(k+1)=x(k)−H−1kgk (**), 或者x(k+1)=x(k)+pk,其中,Hkpk=−gk 式(**)作为迭代公式的算法就是牛顿法。 牛顿法: 输入:目标函数f(x),梯度g(x)=▽f(x),海塞矩阵H(x),精读要求ϵ; 输出:f(x)的极小点x∗. (1)取初始点x(0),置k=0, (2)计算gk=g(x(k)), (3)若||gk||<ϵ,则停止计算,得近似解x∗=x(k), (4)计算Hk=H(x(k)),并求pk Hkpk=−gk (5)置x(k+1)=x(k)+pk, (6)置k=k+1,转至(2)。 步骤(4)要求H−1k,计算复杂,所以有其他改进的方法,比如拟牛顿法等。

待续……


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表