2.5 共轭梯度法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

The Best of the 20th Century: Editors Name Top 10 Algorithms, SIAM News
现代迭代方法: Krylov子空间方法
共轭梯度法的关键是构造一组两两共 轭的方向(即一组线性无关向量)。巧妙的是 , 共轭方向可以由上次搜索方向和当前的梯 度方向之组合来产生。
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 。
的几何意义
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
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.
(0)
其中 0 ,0 满足
0 r (1)T Ar (1) 0 r (1)T Ap(0) r (1)T r (1) (1)T (0) (0)T (0) 0 r Ap 0 p Ap 0
取下一个搜索方向为
0 (0) p (x x ) r p 0 0
r ) (x
( 0)
( 0)
0r )
( 0)
令 x (1)
x
x
( 0)
0 r
( 0)
,从而完成第一次迭代。
下面以
(1 )
为新的初值,重复上述过程。
最速下降法的算法:
选取初值
(k )
x
( 0)
R
(k )
n
搜索方向是正交的:
For k=0,1,2,…
(r
( k 1)
,r
T
1T
设 p1 , p2 ,, pk 是 Rn 中一组非零向量,如果 它们两两关于 A
则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
注:如果A是单位矩阵,则
1T 2
p I p 0 p p2 0
1T
p1 p2
共轭是正交的推广!!
共轭梯度法 选取初始向量
x
设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.
( 0)
(0)

p
( 0)
r ,
( 0)
( r ( 0 ) , p( 0 ) ) 0 ( 0) ( 0) ( Ap , p )
( 0)
x x
(1)
0 p
,r
(1)
b Ax
(1)
如何确定下一个搜索方向呢?
(r , r ) 选取初始向量 x p , r 0 ( 0) ( 0) ( Ap , p ) (1) ( 0) ( 0) (1) (1) x x 0 p , r b Ax
(k )
)0
( k 1)
(k )
r
b Ax (k ) (k ) (r , r ) k (k ) (k ) ( Ar , r )
r
(k )
( k 1)
b Ax
(k )
b A( x k r )
x
( k 1)
x
r
(k )
kr
r
(k )
k Ar
(k )
§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;
i , j 1
a
n
ij
xi x j bi xi
i 1
n
gradf Ax b
2 f 2 x 1 Hessf 2 f x x n 1 2 f x1xn A 2 f 2 x n
19:41
费马引理:
(1)
1
(1)
(1)
沿该方向进行一维搜索得步长为
(r , p ) 1 (1) (1) ( Ap , p )
(1)
(1)
0 ( r , Ap ) 记 0 (0) (0) 0 ( p , Ap )
(1) (0)
x
(2)
x 1 p
(1)
(2)
(1)
p
(1)
r
(1)
0 p
(0)
共轭梯度法的实现过程
( 0)
( 0)
( 0)
( 0)
确定下一个搜索方向: 由过点
x
(1 )
向量
r
(1 )
和p
(0)
所张成的下列二维平
面内找出函数值下降最快的方向作为搜索方向
p
(1)
2 x x r
(1)
(1)
p : , R
(0)
p 、p
(1)
(0)

r
(1 )


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* ),

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)
(0)
下面以 x
为新的迭代值,重复上述过程即可
共轭梯度法的算法
思 想
共轭梯度法将求解方程组问题等价转化为一个 二次 泛函的极值问题。
一、与方程组等价的二次泛函问题 定义二次函数
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是二次函数
2 f 2 x 1 Hessf 2 f x x n 1

f x1
,
f x2
,
,
f xn

T
Hessian矩阵:
2 f x1xn 2 f 2 x n
19:41
预备知识
1 f ( x ) ( Ax , x ) (b, x ) 2 =1 2
在极小点附近,目标函数可以用二次函数近似,其等值面近似
椭Βιβλιοθήκη Baidu面。
x2 x3

x*
x1

最速下降方向反映了目 标函数的一种局部性质 。 它只是
局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
f(x1,x2)=100x12+x22
19:41
最速下降法
f(x1,x2)=100x12+x22
19:41
Barzilai-Borwein方法
局部思想: 最速下降法思想简单,但是收敛速度慢。本 质上是因为负梯度方向函数下降快是局部性质。 全局思想: N 维空间的任意向量可以由N个线性无关 的向量线性表示。
19:41
3、共轭梯度法/*Conjugate-Gradient Method*/
共轭梯度法不仅是解决大型线性方程组最有用的方法之一, 也是解大型非线性最优化最有效的算法之一。
设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
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)
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
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时最速下降法收敛非常慢。
锯齿现象
19:41
2.5.2 最速下降法
几何意义:
等值线
x
(0)


x

思 想
最速下降法是指每次沿着函数值 下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
最速下降法实现过程: (0) 选取初始向量 x ,由二次函数 H ( x ) 的基本性质 ( 0) (0) (0) H ( x ) b Ax r
由极值的必要条件得
(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
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
lim x ( k ) x *。
k
从瞎子下山到最优化方法
Science of Better
19:41
瞎子与计算机
• 瞎子: 能感觉到脚下的坡度(这是海拔函数 在当前点的梯度值),但不知道山上其它点 的任何情况 • 计算机: 计算目标函数在该点的信息(如函 数值和梯度值), 但不知道其它点的信息
Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵的 线性方程组, Fletcher和Reeves(1964)首先提出了解非线性最优化问题的 共轭梯度法。 由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次 终止性等优点,现在共轭梯度法已经广泛地应用与实际问题, 已经成为求解大型稀疏线性方程组最受欢迎的一类方法。
相关文档
最新文档