优化算法2-牛顿法

牛顿法,全称Newton's method。

当N=1时,

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

                                         

由于求的是最值, 应满足

求得

                

,则

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

 

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

                               

                                                       

同理,

 

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

 

牛顿法算法伪代码:

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

2)         计算

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

  

4)         计算新的迭代点,

5)         令

 

6)         转至2

缺点:原始牛顿法在迭代公式中没有步长因子,定迭代,对于非二次型目标函数,有时会使函数值上升,表明牛顿法不能保证函数值稳定地下降,在严重的情况下,甚至可能造成迭代点列发散而失败。

猜你喜欢

转载自www.cnblogs.com/cymx66688/p/11514568.html