共轭梯度法

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

r cos - r sin ' P r sin , P0 r cos r cos P1 r sin cos y
' 1
x'
x

S'
P
' 0
O'
A1 P 1
S
P0
A0
O
r cos T P1 QP0 r sin cos
T
cos 2 0
0 - r sin 0 1 r cos cos
若Q I,向量共轭就是正交,所以共轭是正交的推广. 并且共轭向量组也是线性无关的. 即有
定理.. 设A R nn 对称正定, d , d ,, d n 关于矩阵 A 相互共轭,则向量组 d , d ,, d n 线性无关 .
d k -f ( xk ) k d k -1
其中 k 是由精确搜索得到的步长. 即满足
于是求得
d kT-1Qf ( xk ) k T dk -1Qd k -1
在该计算式中含矩阵Q, 为减少计算量及使共轭梯度能 用于求解非二次函数的优化问题, 在计算式中消除 Q.
定理5.1.4 采用精确搜索的Broyden 族算法用于求解凸二 次函数(5.2)的极小化问题时具有如下性质 : Bi 1 s j y j Qs j , j i, i 0, 1, 2, , n - 1 siT Qs j 0, j i, i 1, 2, , n - 1 特别地, Bn Q, xn x * -Q -1q. (5.7) (5.8)
令迭代格式为: xk 1 xk k d k , k 0, 1, 2, f ( xk 1 ) T d k 0.
T T 对k 1, 令d k Qd 0 . 然后在 ( 5 . 10 ) 两端左乘以 d -1 k k -1Q, 得到 T T T dk Qd d Q f ( x ) d -1 k k -1 k k k -1Qd k -1 0
T
共轭方向的计算
共轭方向可用类似于 Gram - Schmit 正交化过程来产生
算法5.1 (Gram - Schmit 共轭化过程)
步0 给定线性无关向量组:p0 , p1 , , pn-1 R n , 令d 0 p0 , k : 0; 步1 计算 d k 1 pk 1 -
j 0 k
dT j Qp k 1 d Qp j
T j
d j,
(5.5)
步2 若k n - 2, 则停止, 否则, 令k : k 1, 转步1.
容易验证, 由算法5.1产生的向量组 d 0 , d1 , , d n-1 R n 关于矩阵Q相互共轭
下面的定理解释了第四章介绍的Broyden 族具有二次终 止性的根本原因 :
T 向量p0 和p1关于矩阵Q相互共轭 : p0 Qp1 0
的几何解释
如图所示:
已知夹角为 的两平面S和S ,
'
在S ' 上有半径为r的圆O ' , 及
A1'
互相垂直的半径向量
' P 1
S'
A
' 0

' ' p0 O ' A0 和 p1' O ' A1'
P
' 0
O'
A1 P 1
圆O ' 在S上的投影为一个椭圆, 向量P0' 和P1' 在S上投影分别为 P0 OA0 和 P1 OA1
首先介绍
共轭方向
及求解二次函数的共轭方向法.
第一节 二次函数极小值问题的共轭方向法
将下降算法用于求解二元二次函数 1 f ( x ) xQx bT x c 2 的极小点,这里x R 2 , Q R 22 对称正定, b R 2 , c R.
给定初始点x0 及下降方向p0 .线性搜索 后得点x1满足 f ( x1 ) T p0 0
推论 在R n中,相互共轭的向量组的向量个数不超过n
利用共轭方向, 我们提出求二次函数(5.2)的极小值问题 的共轭方向法
从某个初始点 x0出发, 依次沿关于Q共轭的n个方向
思想
即令
d 0 , d1 , , d n-1 进行精确搜索
x0 x1 x2 xn
0 1 2 n 1
T 0
x0
wk.baidu.comp0

x1
p0
从上面的(1)和(2)可以得出稍后要介绍的共轭方向 法或共轭梯度法的基本原理 返回
共轭方向的定义
考察二次函数极小化问题 1 T T min f ( x ) x Qx q x 2 其中Q是n阶对称正定矩阵, q为n维常量 (5.2)
定义5.1.1 设A R nn 对称正定,d1 , d 2 , , d m 是R n中 非零向量. 若 d iT Ad j 0, i, j, i j 则称向量组d1 , d 2 , , d m 关于矩阵A相互共轭.
定理5.1.2 设函数f由(.) 给出, 非零向量组d , d , , d n 关于 矩阵Q相互共轭. x R n , 设迭代格式 xk x k k d k , k , , , n - 其中步长 k由精确搜索计算. 则 f ( x k ) T d j , 且x k 是 f 在线性流形
0 j k , 由于 f ( xk 1 ) f ( xk ) k Qd k f ( xk -1 ) k Qd k k -1Qd k -1 f ( x j 1 ) i Qd i , i j 1 故由共轭性得
k
d f ( xk 1 ) d f ( x j 1 )
唯楚有材
於斯为盛
最优化
主讲:刘陶文
学好最优化,走遍天下都不怕
课件制作:刘陶文
第五章 无约束问题算法(III) — 共轭梯度法
第一节 二次函数极小值问题 的共轭方向法 第二节 非线性共轭梯度法
前面介绍的Newton法收敛较快,但须存储n阶矩阵,不 适合求解大规模问题,而最速下降法虽然存储小但收敛 慢。在这一章我们存储小且收敛快的共轭梯度法
回头看看本章开头关于共轭方向法的背景

??????
看过后做什么呢?
推广:R 2 R n (n 2)
首先, 我们来分析求解凸二次函数(5.2)极小化问题的 共轭梯度法.
给定初始点x0 R n .取初始搜索方向 d 0 -f ( x0 )
这一点很重要
在后面的迭代中, 取负梯度方向和前一搜索方向的线性 组合作为搜索方向, 即 d k -f ( xk ) k d k -1 , k 1
p0

*

p1

f ( x ) Qx b
* *
f ( x ) Qp 0
T p Q p
x1
T 等式左乘 p ,并注意到 , 得到
这就是本章的核心:p0 和p1关于Q共轭
返回
(2) 方向p1的计算
由右图可知,p1可以表示成p0 与 - f ( x1 )的线性组合.令 p1 -f ( x1 ) p0
d0
d1
d2
d n 1
xk 1 xk k d k , k 0, 1, 2, , n - 1 其中 k 满足:
f ( xk k d k ) min f ( xk d k )
R
注意:这里的搜索是在整个实数轴上进行,因为共轭 方向不一定是下降方向
下面的定理说明了共轭方向法如何求出解
证明:采用数学归纳法, 不过, 还是省略它
(5.8)意味着 d iT Qd j 0, j i, i 1, 2, , n - 1 即Broyden 族在用精确搜索求解凸二次函数极小化问题 时, 所产生的方向关于矩阵Q相互共轭.属于共轭方向法.
前面讨论的共轭方向法 需要在算法之初 产生 n个共轭方向,因而需要很大的存贮量,而且 不能用来求解非二次问题.
几何解释:取n 3, k 1
f ( x2 )
x0 d 0
S1
d1
x2
x1
过点x0由向量d 0 和d1张成的平面是S1 , 且f ( x2 ) S1
定理的证明:分两步
先证第一部分 : f ( xk 1 )T d j 0, j k 1
若 j k , 由精确搜索, 显然有:f ( xk ) T d k
i 0 k
中的极小点.
由于 所以
xk 1 x0 j d j
j 0
x - xk 1 ( j - j )d j
j 0
k
由泰勒公式得:
1 T f ( x ) f ( xk 1 ) f ( xk 1 ) ( x - xk 1) ( x - xk 1) Q( x - xk 1) 2 1 T f ( xk 1 ) ( x - xk 1) Q( x - xk 1) f ( xk 1 ) 2 所以xk 1是f在Sk 上极小点
在下一节我们介绍利用函数梯度逐次产生共轭方 向的非线性共轭梯度法,而且可用来求解非二次 函数的极小化问题
第二节
非线性共轭梯度法
在求解凸二次函数极小化问题的共轭方向法的基础上, 我们来讨论求解一般无约束问题的线性共轭梯度法.
共轭梯度法首先由Hestenes - Stiefel 在1952年提出作为 解线性方程组的方法. 后来由Fletcher - Reeves 推广到 求解无约束问题.
背景
等值线
x
x0
p0

*

p1

现在找方向p1直接指向最优解x * , 如何找呢 ?
x1
(1) 方向p1满足的条件
设从x沿p到x *的最佳步长为 ( ), 则有 x * x p 因此 由于 所以 f ( x ) f ( x ) Qp
*
等值线
x
x0
k S k x x i d i i R, i , , , , k i 中的极小点. 特别,x n x * -Q -q是问题(5.2)的唯一极小点.
j k
该定理称为子空间扩展定理 定理表明共轭方向法具有二次终止性
O'

P
' 0
A1 P 1
S
P0
A0
O
二次函数的矩阵为 cos 2 Q 0 0 1
P0T QP1 0
证明见后
证明如下
设O A 与x轴的夹角为 ,
' ' 1 1
y'
A
' 1 ' P 1
' A0
- r sin P0 r cos cos 于是
T j T j
精确搜索
0
i j 1

k
i d T j Qd i 0 0 0
共轭性
0
再证第二部分
x Sk 且x xk 1 , 则
x x0 j d j
j 0 k k
xk 1是 f 在线性流形 S k {x x0 i d i | i R, i 0,1,2 , , k }
S
P0
A0
O
首先建立坐标系, 如右图所示
容易看出椭圆O在以O为原点的 坐标系Oxy中的方程为 : x2 y2 2 1 2 2 r r cos 它是二次函数
y 1 2 2 2 f ( x, y ) ( x cos y ) 2 的一条等值线
y'
A
' 1
x'
' P 1
S'
A
' 0
x
其中 k 是待定参数, 适当选取 k , 使得 d kT Qd k -1 0.
一般地, 搜搜方向的计算公式为: - f ( x0 ), dk - f ( xk ) k d k -1 , k 0 k 1 (5.10)
在下面我们来推导 (5.10) 参数 k 的计算公式 :
由上面的条件得到
T T T p0 Qp1 - p0 Qf ( x1 ) p0 Qp 0 0
等值线
f ( x1 )
由此解得 所以 p Qf ( x1 ) T p0 Qp 0
T 0
x
*

p1

p Qf ( x1 ) p1 -f ( x1 ) p0 T p0 Qp 0
相关文档
最新文档