当前位置:文档之家› 2.5 共轭梯度法

2.5 共轭梯度法

x
(0)
T
(r , r ) 19 0 ( 0) ( 0) ( Ar , r ) 55
( 0)
x
0r
(0)
19 (3 1 3)T 55
最好
+ 最好 =
最好 ?
• 方向(最速下降) (best rk) • 步长(精确搜索) (best k)
( k 1) (k ) (k ) x x r • 是否最好 ? k
The Best of the 20th Century: Editors Name Top 10 Algorithms, SIAM News
现代迭代方法: Krylov子空间方法
共轭梯度法的关键是构造一组两两共 轭的方向(即一组线性无关向量)。巧妙的是 , 共轭方向可以由上次搜索方向和当前的梯 度方向之组合来产生。
的几何意义
2
x

p(1)
r (1)
x
(1)
p
(0)
此时 ( x ) 在 2 上可表示为
H x (1) r (1) p(0)
( , )
T 1 (1) (1) (0) (1) (1) (0) x r p A x r p 2 T (1) (1) (0) b x r p
Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵的 线性方程组, Fletcher和Reeves(1964)首先提出了解非线性最优化问题的 共轭梯度法。 由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次 终止性等优点,现在共轭梯度法已经广泛地应用与实际问题, 已经成为求解大型稀疏线性方程组最受欢迎的一类方法。
19:41
(k ) x 则由前述最速下降算法产生的序列 满足
Th

A 的特征值为 0 1
n ,
x
其中
(k )

x
A
x A b。
1
n 1 n 1
k
x
(0)
x
A
上述定理说明,当 1
n时最速下降法收敛非常慢。
锯齿现象
H ( x) x Ax 2b x aij xi x j 2 b j x j
T T
n
n
n
i 1 j 1
j 1
的极小值点 x 是线性方程组 Ax = b 的解。
19:41

H ( x ) min H ( x ), 则由极值的必要条件得 n
xR
H ( x ) 2 Ax 2b 0.
d (r , r ) ( 0) ( 0) H(x r ) 0 0 ( 0) ( 0) d ( Ar , r )
(0) (0)
d ( 0) ( 0) ( 0) ( 0) 注意到 2 ( x r ) 2( Ar , r ) 0 d
2
min ( x

( 0)
r 0 ,则 x 就是方程组的解; (0) (0) 如果 r 0 ,则沿 r 方向进行一维极小搜索: ( 0) ( 0) 求 0 使得 H ( x r ) 达到最小值, 则
如果
(0)
(0)
x x
(1)
( 0)
0r .
( 0)
H ( x ( 0 ) r ( 0 ) )= 1 (0) ( x r ( 0 ) )T A( x ( 0 ) r ( 0 ) ) bT ( x ( 0 ) r ( 0 ) ) 2
Barzilai-Borwein方法
局部思想: 最速下降法思想简单,但是收敛速度慢。本 质上是因为负梯度方向函数下降快是局部性质。 全局思想: N 维空间的任意向量可以由N个线性无关 的向量线性表示。
19:41
3、共轭梯度法/*Conjugate-Gradient Method*/
共轭梯度法不仅是解决大型线性方程组最有用的方法之一, 也是解大型非线性最优化最有效的算法之一。
(0)
下面以 x
为新的迭代值,重复上述过程即可
共轭梯度法的算法
T
1T
设 p1 , p2 ,, pk 是 Rn 中一组非零向量,如果 它们两两关于 A
则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
注:如果A是单位矩阵,则
1T 2
p I p 0 p p2 0
1T
p1 p2
共轭是正交的推广!!
共轭梯度法 选取初始向量
x
设A是 n 阶对称正定阵 ( Ax, y ) = ( x, Ay ) ; ( Ax,x ) ≥0, 且( Ax, x) = 0 x = 0
2/16
预备知识
梯度:
f ( x ) gradf ( x )
xf f1 f ( x ) x 2 f x 3
§2.5 共轭梯度法
预备知识
最速下降法 共轭梯度法
数值试验算例
19:41
预备知识:内积的定义 I 方程组问题: Ax = b 1 T T m in f ( x ) x Ax b x II 极值问题: xR n 2 n 设 x , y R , 记 ( x , y) = xT y ( x, y ) = ( y, x ); ( tx, y ) = t ( x, y); ( x+ y, z ) = ( x, z ) + ( y, z ); ( x, x) ≥ 0, 且( x, x) = 0 x = 0;
lim x ( k ) x *。
k
从瞎子下山到最优化方法
Science of Better
19:41
瞎子与计算机
• 瞎子: 能感觉到脚下的坡度(这是海拔函数 在当前点的梯度值),但不知道山上其它点 的任何情况 • 计算机: 计算目标函数在该点的信息(如函 数值和梯度值), 但不知道其它点的信息
19:41
2.5.2 最速下降法
几何意义:
等值线
x
(0)


x

思 想
最速下降法是指每次沿着函数值 下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
最速下降法实现过程: (0) 选取初始向量 x ,由二次函数 H ( x ) 的基本性质 ( 0) (0) (0) H ( x ) b Ax r
设x0是f ( x )的一个极值点, 且f ( x )在x0处导数存在, 则 f ( x0 )=0
注释: 费马引理的价值在于将极值问题转化为 方程的求解问题。
19:41
初等变分原理 设 Ax b, 其中 A (aij ) Rnn为对称正定矩阵, T x ( x1 , , xn ) , b (b1 , , bn )T ; x* A1b.
在极小点附近,目标函数可以用二次函数近似,其等值面近似
椭球面。
x2 x3

x*
x1

最速下降方向反映了目 标函数的一种局部性质 。 它只是
局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
f(x1,x2)=100x12+x22
19:41
最速下降法
f(x1,x2)=100x12+x22
19:41

r
( k )T
(k )
,停止
收敛速度?????
缺陷:收敛速度慢!
否则,进行下一次循环
例:用最速下降法求解方程组:
x
( 0)
(0 0 0)
T
2 0
0
1
0
1
0
计算
( 0)
x1 x2
3
1
3
( 0)
(1)
1
Step1
2
x3
r
( 0)
解: 易验证系数矩阵是对称正定的.
b Ax
(3 1 3)


Ax b
该性质说明:求解方程组的解等价于求上述 二次函数的最小值。
(k ) { x } 使得 迭代法构造思想:构造
H ( x( 0) ) H ( x(1) )
k
H ( x( k 1) ) H ( x( k ) )
H ( x* )
且 lim H ( x ( k ) ) H ( x* ),
由极值的必要条件得
(1)T (1) (1)T (0) (1)T (1) r Ar r Ap r r 0 r (1)T Ap(0) p(0)T Ap(0) 0
x x 0 r
(1)
(1)
0 p
思 想
共轭梯度法将求解方程组问题等价转化为一个 二次 泛函的极值问题。
一、与方程组等价的二次泛函问题 定义二次函数
T
:R R
n
H ( x) x Ax 2b x aij xi x j 2 b j x j
T
n
n
n
i 1 j 1
j 1
定理(初等变分原理) 设A =(aij )n×n为实对称正定 n 矩阵,x, b R ,则 x是二次函数
pk+1 := rk+1 + tau*pk
19:41
共轭方向和共轭方向法
若有
共轭,即
n 1 2 设 A 是 n n 的对称正定矩阵,对于 R 中的两个非零向量 p 和 p , 定义
p Ap 2 0 ,则称 p1和p 2关于A共轭。
p i Ap j 0 , i j , i , j 1 , 2 ,, k 。
r ) (x
( 0)
相关主题