最优化方法:五、无约束最优化方法

主要参考书目:

  • 最优化方法及其应用/郭科,陈聆,魏友华.-北京:高等教育出版社,2007.7(2013.7重印)

在第四章中,我们解决了确定搜索步长的问题,现在解决确定搜索方向的问题。

1、最速下降法

  • 基本思路
    搜索方向总沿着 f(X) f ( X ) Xk X k 点的负梯度方向,因为在 Xk X k 点的某个邻域内,该方向上目标函数下降最快。

    Pk=f(Xk). P k = − ▽ f ( X k ) .
  • 具体细节
    运用于正定二次函数可以得到显式递推公式:
    Xk+1=XkgTkgkgTkAgkgk. X k + 1 = X k − g k T g k g k T A g k g k .
  • 特点
    该方法虽然叫做“最速下降法”,实际上收敛速度并不快。
    其主要原因是每次迭代后下一次的搜索方向总是和前一次相互垂直,产生锯齿现象,使得收敛速度较为缓慢。
    锯齿现象如图:

2、牛顿法

  • 基本思路
    每轮迭代在迭代的起始点 Xk X k 处用一个适当的二次函数来近似该点处的目标函数,由此用 Xk X k 指向近似二次函数极小点的方向来构造搜索方向 Pk P k
    如图:
  • 具体细节
    假设原函数二阶可导且Hesse矩阵正定。
    则可以通过在 Xk X k 处进行泰勒展开来寻找近似二次函数,找到该函数后就可以找到指向其极小点的方向 Pk P k 作为搜索方向。而搜索步长 tk t k 恒取1。
    其中
    Pk=[2f(Xk)]1f(Xk). P k = − [ ▽ 2 f ( X k ) ] − 1 ▽ f ( X k ) .
  • 特点
    该方法收敛很快,但是:
    (1)迭代只能保证函数值不升,而不能保证函数值下降。
    (2)要求Hesse矩阵必须正定。
    (3)要求初始点比较接近极值点或者有利于接近极值点。
    (4)当Hesse矩阵奇异时,无法求出搜索方向。
    (5)计算内存需求较大。

3、修正牛顿法

  • 基本思路
    保留牛顿法确定的搜索方向,同时用一维搜索来确定步长。
  • 特点
    继承了牛顿法优点的基础上,对初始点的要求不再那么严格了。但牛顿法的其他缺陷未能得到克服。

4、共轭方向法

基本概念
特别地,当Q为单位矩阵时,称 d(1),d(2) d ( 1 ) , d ( 2 ) 正交。
*
以上这种从任意点出发,沿某组共轭方向进行一维搜索的方法称为共轭方向法。
一般地,在n维空间可以找到n个互相共轭的方向,故而对于n元正定二次函数,利用共轭方向法总可以在n次迭代内找到极小点。
对于n元正定二次目标函数,从任意初始点出发,如果经过有限次迭代就可以求得极小值,则称这种算法具有二次终止性
一般来说,具有二次终止性的算法在应用于一般函数时,收敛速度较快。
至此,只是叙述了共轭方向法的基本思路,尚未言明如何寻找共轭方向。以下将介绍共轭梯度法

5、共轭梯度法

  • 基本思路
    基本思路
  • 具体细节

    Pk+1=f(Xk+1)+λkPk,  k=0,1,2,,n2. P k + 1 = − ▽ f ( X k + 1 ) + λ k P k ,     k = 0 , 1 , 2 , ⋯ , n − 2.

    通过计算可以确定:
    1
    因为实际的目标函数并不一定是正定二次函数,所以在进行一轮迭代(就是每个方向都进行一次)后不一定能取得极小点。此时,我们令 X0=Xk X 0 = X k 再进行下一轮迭代即可。同时这样也克服了因舍入误差导致向量不再共轭的问题。
  • 特点
    共轭梯度法可以看做最速下降法的一种改进( λk=0 λ k = 0 即是最速下降法),收敛较快,与牛顿法相比则不必计算Hesse矩阵,对目标函数的性质要求较少,计算所需内存较少。

6、变尺度法

  • 基本思路
    保持牛顿法收敛快的优点,同时避免Hesse矩阵的计算。
    牛顿法的迭代公式为:
    Xk+1=XkG1kgk,k=0,1,2, X k + 1 = X k − G k − 1 g k , k = 0 , 1 , 2 , ⋯

    这里可以通过某种近似矩阵 Hk H k 来代替 G1k G k − 1 ,同时考虑到搜索步长,迭代公式变为:
    Xk+1=XktkHkgk, X k + 1 = X k − t k H k g k ,

    Hk H k 需要满足一些条件:
    (1) Hk H k 正定,保证了迭代公式具有下降性质。
    (2) Hk H k 之间具有简单迭代形式,如 Hk+1=Hk+Ek H k + 1 = H k + E k ,其中 Ek E k 称为校正矩阵,该公式称为校正公式。
    (3) Hk H k 必须满足拟牛顿条件:
    拟牛顿条件
    其中 g g 为梯度。
    变尺度法的不同即是校正矩阵的不同,以下介绍两种常用算法:
  • DFP算法
    Hk+1=Hk+SkSkTSkTyKHkykykTHkykTHkyk.
  • BFGS算法
    考虑形式:
    Hk+1=Hk+SkSTkyTkSKHkykyTkHkyTkHkyk+β(yTkSk)(yTkHkyk)WKWTk, H k + 1 = H k + S k S k T y k T S K − H k y k y k T H k y k T H k y k + β ( y k T S k ) ( y k T H k y k ) W K W k T ,

    其中
    Wk=SkyTkSkHkykyTkHkyk. W k = S k y k T S k − H k y k y k T H k y k .

    可见,当 β=0 β = 0 时,即为DFP算法。
    而当 β=1STkyk β = 1 S k T y k 时,即是BFGS算法,其校正公式为:
    Hk+1=Hk+1STkyk[(1+yTkHkykSTkyk)SkSTkHkyKSTkSkyTkHk] H k + 1 = H k + 1 S k T y k [ ( 1 + y k T H k y k S k T y k ) S k S k T − H k y K S k T − S k y k T H k ]
  • 特点
    对于DFP算法,由于一维搜索的不精确和计算误差的累积可能导致某一轮的 Hk H k 奇异,而BFGS法则不是很容易发生此种情况。BFGS算法比DFP算法更具有好的数值稳定性。

7、坐标轮换法

  • 基本思路
    依次在每个维度进行一维搜索。
    假设目标函数为 f(x,y) f ( x , y ) ,则依次在 [1,0],[0,1] [ 1 , 0 ] , [ 0 , 1 ] 方向进行搜索。
  • 特点
    算法简单,但计算效率较低。

8、单纯形法

  • 基本思路
    对于n维问题,在n维空间中选择n+1个点作为顶点构成n维单纯形,找到这n+1个点中最差的点,并向其反方向搜索得到一个新点,与其余n个点构成新的单纯形。知道满足收敛条件。
  • 具体细节
    1
    2
    3
  • 特点
    该方法占用内存很少,可以方便的求解一些精度要求较低的问题。但对于维度较高(>10)的问题不是很有效。
  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值