漫步最优化四十四——基本拟牛顿法

来源:互联网 发布:java 多线程 源码 编辑:程序博客网 时间:2024/05/20 20:45











——

对于前面介绍的方法,第k次迭代生成的点由
xk+1=xkαkSkgk(1)

生成,其中

Sk={InH1k

如果二次问题为

minimize f(x)=a+bTx+12xTHx

我们现在用任意一个n×n的正定矩阵Sk来求上述问题的解,看看会得到什么。通过对f(xkαSkgk)求导并令其等于零,最小化f(xkαSkgk)α可以化简为

αk=gTkSkgkgTkSkHSkgk(2)

其中

gk=b+Hxk

f(x)在点x=xk处的梯度。

可以说明的是

f(xk+1)f(x)(1r1+r)2[f(xk)f(x)]

其中rSkH最小特征值与最大特征值之比。从效果上看基于等式1与2的算法将线性收敛,其收敛比率为

β=(1r1+r)2

如果r=1收敛最快,即SkH的特征值基本相等,这就意味着要想得到最好的结果,我们需要选择

SkH=In

或者

Sk=H1

同样地,对于一般的最优化问题,我们选择的正定矩阵Sk应该等于或者至少近似等于H1k

拟牛顿法的搜索方向基于正定矩阵Sk,它由可得到的数据生成,并设法作为H1k的近似。对于H1k的近似法有许多,因此存在许多不同的拟牛顿法。

原创粉丝点击