漫步最优化三十九——Fletcher-Reeves法

来源:互联网 发布:远程登陆阿里云服务器 编辑:程序博客网 时间:2024/06/16 06:55









Pasito a pasito, suave suavecito
Nos vamos pegando, poquito a poquito
Y es que esa belleza es un rompecabezas
Pero pa montarlo aun tengo la pieza
——
Fletcher-Reeves法是共轭梯度法的变种,它的主要特征是参数αk,k=0,1,2,是用线搜索最小化f(x+αdk)确定的,这与最速下降或者牛顿法一样。而不同点在于dk是对dk1,dk2,,d0共轭,而不是最速梯度方向或者牛顿方向。
如果所求的问题是凸的,二次的且方向按共轭梯度发选择,那么
df(xk+αdk)dα=gTk+1dk=0

其中k=0,1,2,,更进一步,共轭的方向集合确保

df(xk+αdi)dα=gTk+1di=0for 0ik

或者

gTkdi=0for 0i<k

所以通过线搜索确定的αk等价于共轭梯度法。因为线搜索需要更多的计算量,所以Fletcher-Reeves的修正是退化的一步,但不管怎样,这样做得到两个非常明显的好处:

  • 这个修正使得该方法更加适应非二次问题的最小化,这是因为对不在解邻域内的点,f(x)沿着dk方向能够更大程度的减少,这是因为对于非二次问题,共轭梯度法得到的α沿着dk方向不会得到最小值。
  • 这个修正避免了推导计算海森矩阵。

如果每n次迭代后重新初始化,那么Fletcher-Reeves算法能够收敛,该算法的具体实现如下:

11x0ε2k=0g0d0=g03αk,f(xk+αdk)αxk+1=xk+αkdk4αkdk<ε,x=xk+1,f(x)=fk+15k=n1,x0=xk+1,26gk+1βk=gTk+1gk+1gTkgkdk+1=gk+1+βkdkk=k+13

原创粉丝点击