25共轭梯度法

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

f x2 f
x3
2 f
x12
L
Hessf M O
2 f
xnx1
L
2 f
x1xn
M
2 f
xn2
预备知识
f ( x) 1 ( Ax, x) (b, x) 2
n
n
=
1 2
aij xi x j bi xi
i, j1
i 1
gradf Ax b
2 f
x12
2 f
r (1)
取下一个搜索方向为
p(1) 1 ( x% x(1) ) r (1) 0 p(0)
0
0
沿该方向进行一维搜索得步长为
1
(r(1) , p(1) ) ( Ap(1) , p(1) )

0
0 0
(r(1) , Ap(0) ) ( p(0) , Ap(0) )
x(2) x(1) 1 p(1) p(1) r(1) 0 p(0)
p(1)、 p(和0) r(1的) 几何意义
2
xg p(1) r(1) x g(1)
p(0)
此时 ( 在x) 上可2 表示为
H x(1) r(1) p(0)
( ,)
1
x(1) r(1) p(0)
T
A
x(1) r(1) p(0)
2
bT x(1) r(1) p(0)
§2.5 共轭梯度法
预备知识 最速下降法 共轭梯度法 数值试验算例
21:26
预备知识:内积的定义
I II
方程组问题: 极值问题:
Ax =
min
b
f
(x)
1
xT Ax
bT
x
xRn
设 x, y Rn , 记 ( x , y) = xT y
2
▪( x, y ) = ( y, x ); ▪( tx, y ) = t ( x, y); ▪( x+ y, z ) = ( x, z ) + ( y, z ); ▪( x, x) ≥ 0, 且( x, x) = 0 x = 0;
求 0 使得 H ( x(0) r (0) ) 达到最小值, 则
x(1) x(0) 0r (0) .
H ( x(0) r(0) )=
1 ( x(0) r(0) )T A( x(0) r(0) ) bT ( x(0) r(0) )
2
d H(x(0) r(0) ) 0 d
r (k1) b Ax(k1)
b
A(
x(k)
r(k)
k
)
r (k ) k Ar (k )
收敛速度?????
缺陷:收敛速度慢!
例:用最速下降法求解方程组: x(0) (0 0 0)T
2 0 1 x1
3
0 1 0 x2 1
1 0 2 x3
3
解: 易验证系数矩阵是对称正定的.
Step1 计算 r(0) b Ax(0) (3 1 3)T
L
x1xn
Hessf M O M A
2 f
xБайду номын сангаасx1
L
2 f
xn2
21:26
费马引理:
设x0是f ( x)的一个极值点,且f ( x)在x0处导数存在,则 f ( x0 )=0
注释: 费马引理的价值在于将极值问题转化为方 程的求解问题。
21:26
初等变分原理 设 Ax b, 其中 A (aij ) Rnn为对称正定矩阵,
r (k 1) r (k ) k Ap(k )
如果 r(k1) 0 ,停止
否则,计算
k
p(k )T Ar (k1) p(k )T Ap(k )
p(k 1) r (k 1) k p(k )
进行下一次迭代
➢共轭梯度法的算法
选取初值 x(0) Rn
计算 r(0) b Ax(0) p(0) r(0)
0
(r(0), r(0) ) ( Ar (0) , r (0) )
19 55
x(1) x(0) 0r (0)
19 (3 1 3)T 55
最好 + 最好 = 最好 ?
• 方向(最速下降) (best rk)
• 步长(精确搜索) (best k)
• x(k1) x(k) k r(k) 是否最好 ?
21:26
Th 设 A的特征值为 0 1 ,L n
则由前述最速下降算法产生的序列 x(满k) 足
k
x(k) x
A
n n
1 1
其中 x A。1b
x(0) x A
上述定理说明,当 1 =时最n速下降法收敛非常慢。
锯齿现象
在极小点附近,目标函数可以用二次函数近似,其等值面近似 椭球面。
➢几何意义:
等值线
x
(
0)

•x

最速下降法是指每次沿着函数值

下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
➢最速下降法实现过程: 选取初始向量 x(0),由二次函数 H ( x)的基本性质
H ( x(0) ) b Ax(0) r (0) 如果 r (0) 0 ,则 x(0)就是方程组的解; 如果 r (0) 0 ,则沿 r (0)方向进行一维极小搜索:
下面以 x(2为) 新的迭代值,重复上述过程即可
➢共轭梯度法的算法
选取初值 x(0) Rn
计算 r(0) b Ax(0) p(0) r(0)
For k=0 , 1 , 2 , … , n
计算 k
p(k )T r (k ) p(k )T Ap(k )
x(k1) x(k ) k p(k )
由极值的必要条件得
r (1)T Ar (1) r (1)T Ap(0) r(1)T r(1)
0
r (1)T Ap(0) p(0)T Ap(0)
0
x% x(1) 0r (1) 0 p(0) 其中 0 ,满0足
00rr((11))TT
Ar (1) Ap(0)
0r (1)T Ap(0) r (1)T 0 p(0)T Ap(0) 0
由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次 终止性等优点,现在共轭梯度法已经广泛地应用与实际问题, 已经成为求解大型稀疏线性方程组最受欢迎的一类方法。
The Best of the 20th Century: Editors Name Top 10 Algorithms,
SIA现M代N迭ew代s 方法: Krylov子空间方法
设A是 n 阶对称正定阵
▪( Ax, y ) = ( x, Ay ) ; ▪( Ax,x ) ≥0, 且( Ax, x) = 0 x = 0
2/16
预备知识
梯度:
f ( x) gradf ( x)
, ,L , f f
x1 x2
f T xn
Hessian矩阵:
21:26
f
x1
f
(
x)
共轭是正交的推广!!
共轭梯度法
选取初始向量 x(0),
p(0)
r(0),
0
(r(0) , p(0) ) ( Ap(0) , p(0) )
x(1) x(0) 0 p(0) , r (1) b Ax(1)
如何确定下一个搜索方向呢?
➢共轭梯度法的实现过程
选取初始向量
x(0) ,p(0) r (0)
质上是因为负梯度方向函数下降快是局部性质。 全局思想:
N 维空间的任意向量可以由N个线性无关的 向量线性表示。
21:26
3、共轭梯度法/*Conjugate-Gradient Method*/
共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也 是解大型非线性最优化最有效的算法之一。
Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵 的线性方程组, Fletcher和Reeves(1964)首先提出了解非线性最优化问题的 共轭梯度法。
共轭梯度法的关键是构造一组两两共 轭的方向(即一组线性无关向量)。巧妙的是, 共轭方向可以由上次搜索方向和当前的梯 度方向之组合来产生。
pk+1 := rk+1 + tau*pk
21:26
共轭方向和共轭方向法
定义 设 A是 n n的对称正定矩阵,对于Rn中的两个非零向量 p1 和 p2,
若有 p1T Ap2 0,则称 p1和p2关于A共轭。
x2 x1
x*
x3
注 最速下降方向反映了目 标函数的一种局部性质。它只是 局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
f(x1,x2)=100x12+x22
最速下降法
21:26
f(x1,x2)=100x12+x22
21:26
Barzilai-Borwein方法
局部思想: 最速下降法思想简单,但是收敛速度慢。本
0
(r(0), r(0) ) ( Ar (0) , r (0) )
注意到
d2
d 2
( x(0)
r(0)
)
2( Ar (0) , r(0) )
0
min
(
x(0)
r(0)
)
(
x(0)
r(0)
0
)
令 x(1) x(0) 0r (0),从而完成第一次迭代。
下面以 x (1)为新的初值,重复上述过程。
设 p1 , p2 , , pk 是 Rn 中一组非零向量,如果它们两两关于A
共轭,即 piT Apj 0, i j ,i , j 1,2, ,k。 则称这组方向是关于A共轭的,也称它们是一组A共轭方向。
注:如 果A是 单 位 矩 阵 , 则
p1T I p2 0 p1T p2 0
p1 p2
x ( x1,L , xn )T , b (b1,L , bn )T ; x* A1b.
思 共轭梯度法将求解方程组问题等价转化为一个 想 二次 泛函的极值问题。
一、与方程组等价的二次泛函问题
定义二次函数 : Rn R
nn
n
H(x) xT Ax 2bT x
aij xi x j 2 bj x j
(r(0), r(0) ) ( Ap(0) , p(0) )
19 55
x(1) x(0) 0 p(0)
19 (3 1 3)T 55
Step2 计算
r (1)
r(0)
0 Ap(0)
6 (1 55
6
1)T
0
(r(1) , r(1) ) (r(0), r(0) )
i 1 j 1
j 1
定理(初等变分原理) 设A =(aij )n×n为实对称正定矩 阵, x, b ,R则n x是二次函数
nn
n
H(x) xT Ax 2bT x
aij xi x j 2 bj x j
i 1 j 1
j 1
的极小值点 x 是线性方程组 Ax = b 的解。
21:26
若 H ( x ) min H ( x), 则由极值的必要条件得 xRn H ( x ) 2Ax 2b 0. Ax b
该性质说明:求解方程组的解等价于求上述 二次函数的最小值。
迭代法构造思想:构造 { x(k使) }得
H ( x(0) ) H ( x(1) ) L H ( x(k1) ) H ( x(k) ) L H ( x* ),
且 lim H( x(k) ) H( x* ), lim x(k) x*。
k
k
从瞎子下山到最优化方法
Science of Better
21:26
瞎子与计算机
• 瞎子: 能感觉到脚下的坡度(这是海拔函数 在当前点的梯度值),但不知道山上其它点 的任何情况
• 计算机: 计算目标函数在该点的信息(如函 数值和梯度值), 但不知道其它点的信息
21:26
2.5.2 最速下降法
➢最速下降法的算法:
选取初值 x(0) Rn
For k=0,1,2,…
r(k) b Ax(k)
k
(r(k), r(k) ) ( Ar (k ) , r (k) )
x(k1) x(k ) k r (k )
若 r (k )T r (k ) ,停止
否则,进行下一次循环
搜索方向是正交的:
(r (k1) , r (k ) ) 0
0
(r(0), r(0) ) ( Ap(0) , p(0) )
x(1) x(0) 0 p(0) , r (1) b Ax(1)
确定下一个搜索方向:
由过点 x (1)向量 和r(1)所张p成(0)的下列二维平
面内找出函数值下降最快的方向作为搜索方向 p(1)
2 x x(1) r(1) p(0) : , R
p(k 1) r (k 1) k p(k )
进行下一次迭代
例:用CG迭代法求解下列方程组: x(0) (0 0 0)T
2 0 1 x1
3
0 1 0 x2 1
1 0 2 x3
3
解: 易验证系数矩阵是对称正定的.
Step1 计算 p(0) r(0) b Ax(0) (3 1 3)T
0
For k=0 , 1 , 2 , … , n
计算k
(r(k), r(k) ) ( Ap(k) , p(k) )
x(k1) x(k ) k p(k )
r (k 1) r (k ) k Ap(k )
如果 r(k1) 0 ,停止
否则,计算
k
(r(k1) , r(k1) ) (r(k),r(k) )
相关文档
最新文档