优化算法2-牛顿法

北城余情 提交于 2019-11-29 10:17:06

牛顿法,全称Newton's method。

当N=1时,

牛顿法的基本思想是:在现有极小点估计值的附近对f(x)做二阶泰勒展开,进而找到极小点的下一个估计值。设 为当前的极小值点的估计值,那么通过二阶泰勒:

                                         

由于求的是最值, 应满足

求得

                

,则

当N>1时,超过二维。二阶泰勒展开式可以做推广。

 

为f的梯度向量,为f的海森矩阵,其定义如下所示。

                               

 

 

 

                                                       

同理,

 

 

 

 

若矩阵非奇异,存在逆矩阵时,可求解为:

 

牛顿法算法伪代码:

1)         给定初始值x0和精度阈值ε,并令k:=0

2)         计算

3)         若,则停止迭代,否则确定搜索方向

  

4)         计算新的迭代点,

5)         令

 

6)         转至2

 

缺点:原始牛顿法在迭代公式中没有步长因子,定

 

 

迭代,对于非二次型目标函数,有时会使函数值上升,表明牛顿法不能保证函数值稳定地下降,在严重的情况下,甚至可能造成迭代点列{ }发散而失败。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!