3.10梯度法与共轭梯度法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(k ) (0) (k ) (0) (0) k (0)
Th
x
或
(k )
由共轭梯度法计算得到的
x
(k )
近似解满足
(0)
min x : x x
(0)
A, r , k
(0) (0)
x
(k )
r
( 0)
( k 1)
r
( k 1)
(k )
p
( 0)
b Ax ( 0) r
(k )
如果 r
k Ap 0 ,停止
( k 1)
(k )
否则,计算
For k=0 , 1 , 2 , … , n
(r , r ) 计算 k (k ) (k ) ( Ap , p )
(k )
(k) *
k
且 lim ( x ( k ) ) ( x * ),
k
lim x ( k ) x *。
二、最速下降法
几何意义:
等值线
x
( 0)
x
思 想
最速下降法是指每次沿着函数值 下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
最速下降法实现过程: ( 0) 选取初始向量 x ,由二次函数 ( x ) 的基本性质 (0) ( 0) ( 0) ( x ) b Ax r
(r , r ) k (k ) (k ) (r , r )
( k 1)
p
( k 1)
r
( k 1)
x
( k 1)
x
(k )
k p
k p
(k )
(k )
进行下一次迭代
Th 6 .4 .3由共轭梯度法得到的 r , p 满足性质: ( j) (i) r , p 0, 0 i j k
(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
取下一个搜索方向为
p
(1)
(1)
1
0
x )r (x
(1)
(1)
( k 1)
(k )
r
( k 1)
b A( x k pk ) b Ax rk k Apk , ( r ( k 1) , r ( k ) ) 0
( k 1)
(k )
k
(r
( k 1)
, (r r (k ) ( p , Ap )
1 k (k ) (k ) ( k 1)
(1)
0 (0) p 0
沿该方向进行一维搜索得步长为
(r , p ) 1 (1) (1) ( Ap , p )
(1) (0) 0 ( r , Ap ) 记 0 (0) (0) 0 ( p , Ap )
x
(2)
x
(1)
1 p
(1)
p
(1)
r
(1)
0 p
(0)
r 0 ,则 x 就是方程组的解; (0) (0) 如果 r 0 ,则沿 r 方向进行一维极小搜索:
如果
(0)
( 0)
求
0
(1)
x
( x r ) 达到最小值, ( 0) ( 0) x 0r .
使得
( 0) ( 0)
则
( x ( 0 ) r ( 0 ) )= 1 ( 0) ( x r ( 0 ) )T A( x ( 0 ) r ( 0 ) ) bT ( x ( 0 ) r ( 0 ) ) 2
共轭梯度法的实现过程
(0)
(0)
如何确定下一个搜索方向呢? 由过点
x
(1)
向量
r
(1)
和p
( 0)
所张成的下列二维平
面内找出函数值下降最快的方向作为搜索方向
p
(1)
2 x x
(1)
r
(1)
p : , R
(0)
p
(1)
、p
( 0)
和
r
(1)
的几何意义
2
x p
r
如果
r
(k )
,停止
收敛速度?????
缺陷:收敛速度慢!
否则,进行下一次循环
(k ) x 则由前述最速下降算法产生的序列 满足
Th
设
A 的特征值为 0 1 n
k
,
x
其中
(k )
x A b。
n 1 (0) x A x x n 1 1
1 1 ( x ) ( x ) ( Ax , x ) ( x , Ax ) ( Ax , x ) 2 2 1 ( A( x x ), x x ) 0. 2
充分性:
如果 ( x
) min ( x ), n
xR
则由极值的必要条件得
Def
设 A Rnn 为对称正定矩阵,若 R n中向量组
则称它是 R n 中的一个A 共轭(A 正交)向量组。
思 想
利用一维极小搜索方法确定一组A
共轭方向
代替最速下降法中的正交方向来进行迭代。
共轭梯度法 选取初始向量
x
(0)
( 0)
,
p
x
(0)
r ,
( 0)
( r ( 0 ) , p( 0 ) ) 0 ( Ap( 0 ) , p( 0 ) )
d (r , r ) ( 0) ( 0) ( x r ) 0 0 (0) ( 0) d ( Ar , r )
d (0) (0) (0) (0) 注意到 2 ( x r ) ( Ar , r ) 0 d
2
(0)
(0)
min ( x
(0)
r ) (x
( k 1)
))
r ( k )T r ( k ) k ( k )T ( k ) p Ap
(r
1 k
( k 1) ( k 1) ,r ) (r ,r ) (k ) (k ) (k ) (k ) ( p , Ap ) (r , r )
( k 1)
共轭梯度法的算法
选取初值 x ( 0 ) Rn 计算 r ( 0 )
(0)
(0)
0r )
(0)
令 x (1)
下面以
x
x
(1)
( 0)
0r
(0)
,从而完成第一次迭代。
为新的初值,重复上述过程。
最速下降法的算法:
选取初值
(k )
x
( 0)
R
(k )
n
搜索方向是正交的:
For k=0,1,2,…
(r
( k 1)
,r
(k )
)0
( k 1) ( k 1) b Ax r b Ax (k ) (k ) (r , r ) (k ) (k ) k b A( x k r ) (k ) (k ) ( Ar , r ) ( k 1) (k ) ( k ) r ( k ) Ar ( k ) x x k r k
由极值的必要条件得
(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
(1)
0r
(1)
0 p
( 0)
(1)
x
0 p
,r
(1)
b Ax
(1)
如何确定下一个搜索方向呢?
(r , r ) p , r 0 选取初始向量 x (0) (0) ( Ap , p ) , (1) ( 0) ( 0) (1) (1) x x 0 p , r b Ax
( 0)
( 0) ( 0)
( x ) Ax b 0. Ax b
该性质说明:求解方程组的解等价于求上述 二次函数的最小值。
(k ) { x } 使得 迭代法构造思想:构造
( x ) ( x ) ( x
( 0) (1)
( k 1)
) ( x ) ( x ),
A
上述定理说明,当 1
n时最速下降法收敛非常慢。
3、共轭梯度法/*Conjugate-Gradient Method*/
共轭梯度法不仅是解决大型线性方程组最有用的方法之一, 也是解大型非线性最优化最有效的算法之一。
Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵 的线性方程组, Fletcher和Reeves(1964)首先提出了解非线性最优化问题 的共轭梯度法。 由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二 次终止性等优点,现在共轭梯度法已经广泛地应用与实际问 题中,已经成为求解大型稀疏线性方程组最受欢迎的一类方 法。
(k ) (k ) (k)
( r , p ) ( r ( k ) , r ( k ) k 1 p( k 1) )
(r , r ) (k ) (k ) (r , r ) k (k ) (k ) ( Ap , p )
(k ) (k )
(r , Ap ) k (k ) (k ) ( p , Ap )
(1)
r (1)
x
(1)
p
(0)
此时 ( x ) 在 2 上可表示为
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
( k )T (k )
终止条件:
r
( k 1)
0
算法简化: r ( k )T
p k ( k )T ( k ) p Ap ( k 1) (k ) ( k 1) (k ) (r , p ) (b Ax ,p )
(r
(k ) (k )
(k )
(k )
, p ) k ( Ap , p ) 0
下面以 x
( 2)
为新的迭代值,重复上述过程即可
(k ) p 一般地,设已经得到 ,则第k+1步迭代的计算公式为
r p k ( k )T ( k ) p Ap x ( k 1) x ( k ) k p( k ) ( k 1) ( k 1) b Ax r ( k 1)T (k ) r Ap k ( k )T ( k ) p Ap ( k 1) ( k 1) (k ) r k p p
(i) (i)
r , r 0, i j , 0 i , j k Ap , p 0, i j , 0 iห้องสมุดไป่ตู้, j k
( j) (i) ( j) (i)
Krylov (克雷洛夫)子空间
(0)
span r , , r
(0)
A, r
span p , , p , k 1 span r , Ar , , A r
: Rn R
n n n 1 1 ( x ) ( Ax, x ) ( x, b) aij xi x j b j x j 2 i 1 j 1 j 1 2
二次函数 ( x )的基本性质: 对 x Rn , ( x ) Ax b. x
n 1 n n ( x ) aij xi x j b j x j 2 i 1 j 1 j 1
为 Ax
b 的解的充要条件是
( x ) min ( x ).
xR n
证明: 必要性:
1 ( x ) ( Ax , x ), 对 x Rn 有 2
§3.10 共轭梯度法 设 Ax b, 其中
A (aij ) R nn为对称正定矩阵,
x ( x1 , , xn )T , b (b1 , , bn )T ; x* A1b.
思 想
共轭梯度法将求解方程组问题等价转化为一个 二次 泛函的极值问题。
一、与方程组等价的二次泛函问题 定义二次函数
A (aij ) R 为对称正定矩阵, Ax b T 其中 x ( x1 , x2 , , xn ) ; b (b1 , b2 , , bn )T
设
n n
(0) (1) (l ) (i ) ( j) p , p , , p 满足 ( Ap , p ) 0 i j
Th
x
或
(k )
由共轭梯度法计算得到的
x
(k )
近似解满足
(0)
min x : x x
(0)
A, r , k
(0) (0)
x
(k )
r
( 0)
( k 1)
r
( k 1)
(k )
p
( 0)
b Ax ( 0) r
(k )
如果 r
k Ap 0 ,停止
( k 1)
(k )
否则,计算
For k=0 , 1 , 2 , … , n
(r , r ) 计算 k (k ) (k ) ( Ap , p )
(k )
(k) *
k
且 lim ( x ( k ) ) ( x * ),
k
lim x ( k ) x *。
二、最速下降法
几何意义:
等值线
x
( 0)
x
思 想
最速下降法是指每次沿着函数值 下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
最速下降法实现过程: ( 0) 选取初始向量 x ,由二次函数 ( x ) 的基本性质 (0) ( 0) ( 0) ( x ) b Ax r
(r , r ) k (k ) (k ) (r , r )
( k 1)
p
( k 1)
r
( k 1)
x
( k 1)
x
(k )
k p
k p
(k )
(k )
进行下一次迭代
Th 6 .4 .3由共轭梯度法得到的 r , p 满足性质: ( j) (i) r , p 0, 0 i j k
(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
取下一个搜索方向为
p
(1)
(1)
1
0
x )r (x
(1)
(1)
( k 1)
(k )
r
( k 1)
b A( x k pk ) b Ax rk k Apk , ( r ( k 1) , r ( k ) ) 0
( k 1)
(k )
k
(r
( k 1)
, (r r (k ) ( p , Ap )
1 k (k ) (k ) ( k 1)
(1)
0 (0) p 0
沿该方向进行一维搜索得步长为
(r , p ) 1 (1) (1) ( Ap , p )
(1) (0) 0 ( r , Ap ) 记 0 (0) (0) 0 ( p , Ap )
x
(2)
x
(1)
1 p
(1)
p
(1)
r
(1)
0 p
(0)
r 0 ,则 x 就是方程组的解; (0) (0) 如果 r 0 ,则沿 r 方向进行一维极小搜索:
如果
(0)
( 0)
求
0
(1)
x
( x r ) 达到最小值, ( 0) ( 0) x 0r .
使得
( 0) ( 0)
则
( x ( 0 ) r ( 0 ) )= 1 ( 0) ( x r ( 0 ) )T A( x ( 0 ) r ( 0 ) ) bT ( x ( 0 ) r ( 0 ) ) 2
共轭梯度法的实现过程
(0)
(0)
如何确定下一个搜索方向呢? 由过点
x
(1)
向量
r
(1)
和p
( 0)
所张成的下列二维平
面内找出函数值下降最快的方向作为搜索方向
p
(1)
2 x x
(1)
r
(1)
p : , R
(0)
p
(1)
、p
( 0)
和
r
(1)
的几何意义
2
x p
r
如果
r
(k )
,停止
收敛速度?????
缺陷:收敛速度慢!
否则,进行下一次循环
(k ) x 则由前述最速下降算法产生的序列 满足
Th
设
A 的特征值为 0 1 n
k
,
x
其中
(k )
x A b。
n 1 (0) x A x x n 1 1
1 1 ( x ) ( x ) ( Ax , x ) ( x , Ax ) ( Ax , x ) 2 2 1 ( A( x x ), x x ) 0. 2
充分性:
如果 ( x
) min ( x ), n
xR
则由极值的必要条件得
Def
设 A Rnn 为对称正定矩阵,若 R n中向量组
则称它是 R n 中的一个A 共轭(A 正交)向量组。
思 想
利用一维极小搜索方法确定一组A
共轭方向
代替最速下降法中的正交方向来进行迭代。
共轭梯度法 选取初始向量
x
(0)
( 0)
,
p
x
(0)
r ,
( 0)
( r ( 0 ) , p( 0 ) ) 0 ( Ap( 0 ) , p( 0 ) )
d (r , r ) ( 0) ( 0) ( x r ) 0 0 (0) ( 0) d ( Ar , r )
d (0) (0) (0) (0) 注意到 2 ( x r ) ( Ar , r ) 0 d
2
(0)
(0)
min ( x
(0)
r ) (x
( k 1)
))
r ( k )T r ( k ) k ( k )T ( k ) p Ap
(r
1 k
( k 1) ( k 1) ,r ) (r ,r ) (k ) (k ) (k ) (k ) ( p , Ap ) (r , r )
( k 1)
共轭梯度法的算法
选取初值 x ( 0 ) Rn 计算 r ( 0 )
(0)
(0)
0r )
(0)
令 x (1)
下面以
x
x
(1)
( 0)
0r
(0)
,从而完成第一次迭代。
为新的初值,重复上述过程。
最速下降法的算法:
选取初值
(k )
x
( 0)
R
(k )
n
搜索方向是正交的:
For k=0,1,2,…
(r
( k 1)
,r
(k )
)0
( k 1) ( k 1) b Ax r b Ax (k ) (k ) (r , r ) (k ) (k ) k b A( x k r ) (k ) (k ) ( Ar , r ) ( k 1) (k ) ( k ) r ( k ) Ar ( k ) x x k r k
由极值的必要条件得
(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
(1)
0r
(1)
0 p
( 0)
(1)
x
0 p
,r
(1)
b Ax
(1)
如何确定下一个搜索方向呢?
(r , r ) p , r 0 选取初始向量 x (0) (0) ( Ap , p ) , (1) ( 0) ( 0) (1) (1) x x 0 p , r b Ax
( 0)
( 0) ( 0)
( x ) Ax b 0. Ax b
该性质说明:求解方程组的解等价于求上述 二次函数的最小值。
(k ) { x } 使得 迭代法构造思想:构造
( x ) ( x ) ( x
( 0) (1)
( k 1)
) ( x ) ( x ),
A
上述定理说明,当 1
n时最速下降法收敛非常慢。
3、共轭梯度法/*Conjugate-Gradient Method*/
共轭梯度法不仅是解决大型线性方程组最有用的方法之一, 也是解大型非线性最优化最有效的算法之一。
Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵 的线性方程组, Fletcher和Reeves(1964)首先提出了解非线性最优化问题 的共轭梯度法。 由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二 次终止性等优点,现在共轭梯度法已经广泛地应用与实际问 题中,已经成为求解大型稀疏线性方程组最受欢迎的一类方 法。
(k ) (k ) (k)
( r , p ) ( r ( k ) , r ( k ) k 1 p( k 1) )
(r , r ) (k ) (k ) (r , r ) k (k ) (k ) ( Ap , p )
(k ) (k )
(r , Ap ) k (k ) (k ) ( p , Ap )
(1)
r (1)
x
(1)
p
(0)
此时 ( x ) 在 2 上可表示为
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
( k )T (k )
终止条件:
r
( k 1)
0
算法简化: r ( k )T
p k ( k )T ( k ) p Ap ( k 1) (k ) ( k 1) (k ) (r , p ) (b Ax ,p )
(r
(k ) (k )
(k )
(k )
, p ) k ( Ap , p ) 0
下面以 x
( 2)
为新的迭代值,重复上述过程即可
(k ) p 一般地,设已经得到 ,则第k+1步迭代的计算公式为
r p k ( k )T ( k ) p Ap x ( k 1) x ( k ) k p( k ) ( k 1) ( k 1) b Ax r ( k 1)T (k ) r Ap k ( k )T ( k ) p Ap ( k 1) ( k 1) (k ) r k p p
(i) (i)
r , r 0, i j , 0 i , j k Ap , p 0, i j , 0 iห้องสมุดไป่ตู้, j k
( j) (i) ( j) (i)
Krylov (克雷洛夫)子空间
(0)
span r , , r
(0)
A, r
span p , , p , k 1 span r , Ar , , A r
: Rn R
n n n 1 1 ( x ) ( Ax, x ) ( x, b) aij xi x j b j x j 2 i 1 j 1 j 1 2
二次函数 ( x )的基本性质: 对 x Rn , ( x ) Ax b. x
n 1 n n ( x ) aij xi x j b j x j 2 i 1 j 1 j 1
为 Ax
b 的解的充要条件是
( x ) min ( x ).
xR n
证明: 必要性:
1 ( x ) ( Ax , x ), 对 x Rn 有 2
§3.10 共轭梯度法 设 Ax b, 其中
A (aij ) R nn为对称正定矩阵,
x ( x1 , , xn )T , b (b1 , , bn )T ; x* A1b.
思 想
共轭梯度法将求解方程组问题等价转化为一个 二次 泛函的极值问题。
一、与方程组等价的二次泛函问题 定义二次函数
A (aij ) R 为对称正定矩阵, Ax b T 其中 x ( x1 , x2 , , xn ) ; b (b1 , b2 , , bn )T
设
n n
(0) (1) (l ) (i ) ( j) p , p , , p 满足 ( Ap , p ) 0 i j