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


你走进了我的视觉,
我开始发现,
心里有个角落,
一直在等你出现。
你的可爱让我沦陷,
你的魅力让我倾倒,
总是想着看你一遍,
不管天涯海角,
我要在你的身边。
——畅宝宝的傻逼哥哥

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

生成,其中

Sk={InH−1k对于最速下降法对于牛顿法

如果二次问题为

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∗)≤(1−r1+r)2[f(xk)−f(x∗)]

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

β=(1−r1+r)2

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

SkH=In

或者

Sk=H−1

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

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