DFP算法的性质
定理1:在DFP算法中,若初始矩阵H 0 对称正定,则H k 中每一个都对称正定。
共轭方向法与共轭梯度法
基本思想
最速下降法存在锯齿现象,Newton法需要计算目标函数的二阶导数。接下来介绍的共轭方向法是介于最速下降法和Newton法之间的一种方法,它克服了最速下降法的锯齿现象,从而提高了收敛速度;它的迭代公式也比较简单,不必计算目标函数的二阶导数,与Newton法相比,减少了计算量和存储量。它是比较实用而有效的最优化方法。
任选初始点x 0 ,沿它的某个下降方向,例如向量p 0 的方向,作直线搜索,如上图所示。由下面这个定理:
由上面共轭梯度法那张图可以设:
归纳一下,对于正定二元二次函数,从任意初始点x 0 出发,沿任意下降方向p 0 做直线搜索得到x 1 再从x 1 出发,沿p 0的共轭方向p 1 作直线搜索,所得到的x 2 必是极小点x ∗。到目前为止的共轭梯度法依旧是假设了目标函数是二次正定矩阵。
上面的结果可以推广到n 维空间中,即在n 维空间中,可以找出n 个互相共轭的方向,对于n 元正定二次函数从任意初始点出发,顺次沿着这n 个共轭方向最多作n 次直线搜索,就可以求到目标函数的极小点。
对于n 元正定二次目标函数,如果从任意初始点出发经过有限次迭代就能够求到极小点,那么称这种算法具有二次终止性。例如,Newton法对于二次函数只须经过一次迭代就可以求到极小点,因此是二次终止的;而最速下降法就不具有二次终止性。共轭方向法(如共轭梯度法、拟Newton法等)也是二次终止的。
一般说来,具有二次终止性的算法,在用于一般函数时,收敛速度是较快的。
共轭向量及其性质
共轭方向法
共轭方向法的理论基础是下面的定理。
定理 假设
这个定理看来较繁,但可借用直观的几何图形来帮助理解。n = 3 n=3n=3,m = 2 m=2m=2的情形为例,如图示。
p 0 和p 1 是Q共轭向量,张成了二维空间R 2 ,这是过坐标原点的一个平面。 现在,过点x 0 沿p 0 方向作直线搜索得到x 1,再过点x 1 沿p 1 方向作直线搜索得到x 2 过点x 0 由向量p 0 和p 1 张成的平面就是线性流形L [ x 0 ; p 0 , p 1 ] 。它是R 2 的平行平面。
定理的论断是,最后一个迭代点x 2 处的梯度∇ f ( x 2 ) 必与p 0和p 1 垂直。并且x 2 是三元二次目标函数f ( x ) 在线性流形L [ x 0 ; p 0 , p 1 ]即过x 0由p 0 和p 1张成的平面)上的极小点。
共轭方向法算法的大体流程就是:选定初始点x 0和下降方向向量p 0 ,做直线搜索x k + 1 = l 。提供的梯度方向p k + 1使得。提供共轭方向的方法有多种。不同的提供方法将对应不同的共轭方法。每种方法也因产生共轭方向的特点而得名。
那么这里做直线搜索中的t 是如何确定的呢?这里我们先回顾一下在最速下降法中是如何计算这个t 的。最速下降法:
这里还可以采用另外一种种方式计算t k ,下面对另外一种方式进行公式推导:
共轭梯度法
针对目标函数是正定二次函数来讨论:
(1) 第一个迭代点的获得:
(2) 第二个迭代点的获得:
由此解出
(3) 第三个迭代点的获得:
(4) 第k 个迭代点的获得:
以上就是共轭梯度法得核心内容。
Fletcher-Reeves共轭梯度法
此式称为Fletcher-Reeves公式(1964年)。