共轭方向法是介于最速下降法和Newton法之间的一种方法。克服了最速下降法的锯齿现象,从而提高了收敛速度;同时,共轭方向法的迭代公式比较简单,不必求目标函数的Hesse矩阵,比Newton法减少了计算量和存储量。是一种比较实用而且有效的方法。
在讲共轭方向法和共轭梯度法之前,先对共轭向量进行说明。
共轭向量及其性质
定义1:(共轭方向) Q 是
pTiQpj=0, i,j=0,1,⋅⋅⋅,m−1(i≠j)(1)
则称
p0,p1,⋅⋅⋅,pm−1
是
Q
共轭向量或称向量
当
pTipj=0, i,j=0,1,⋅⋅⋅,m−1(i≠j)(2)
即向量
p0,p1,⋅⋅⋅,pm−1
互相正交。由此可见,正交是共轭的一种特殊情况,共轭是正交的推广。
定理1: 若非零向量 p0,p1,⋅⋅⋅,pm−1 是 Q 共轭的,则他们是线性无关的。
推论1: 在n维的向量空间中,非零的共轭向量个数不超过n。
定义2: 设
z=x0+∑i=0m−1αipi 其中α1,α2,⋅⋅⋅,αm−1是任意实数
的向量构成的集合为由点
x0
和向量
p0,p1,⋅⋅⋅,pm−1
所生成的
线性流行。记为
L[x0;p0,p1,⋅⋅⋅,pm−1]
。
基本思想
在考虑普通函数之前,我们首先用2元正定二次函数进行讲解。首先考虑如下的正定二次函数
f(x)=12xTQx+bTx+c(3)
要求的目标函数
f(x)
的最优值,根据最速下降法的思想,我们首先选定一个初始点
x0
,然后沿着该点的最速下降方向
p0=−∇f(x0)
做直线搜索,得到点
x1
,由最速下降法的性质可知
∇f(x1)Tp0=0(4)
即
p0
与点
x1
出的等值线相切。
在第二次迭代过程中我们不适用 −∇f(x1) 作为这次迭代的搜索方向,我们想直在第二次迭代之后能直接到达最优点 x∗ ,那么这次的迭代方向 p1 应该满足什么条件呢?
首先根据迭代公式我们有
x∗=x1+t1p1(5)
其中t_1是最优步长因子,显然在未到达最优点
x∗
之前,
t1
是不等于0的。对目标函数求梯度,有
∇f(x)=Qx+b(6)
对于极小点
x∗
,我们有
∇f(x∗)=Qx∗+b=0=Q(x1+t1p1)+b=Qx1+b+Qt1p1=∇f(x1)+Qt1p1=0
即
∇f(x1)+Qt1p1=0
在上式两边同乘以
pT0
,由于公式(4),并且
t1≠0
我们可以得到
pT0∇f(x1)+t1pT0Qp1=>t1p0Qp1==pT000(7)
由公式(7)我们知道,
p0
和
p1
为
Q
的共轭向量。
现在我们假设