数值分析11(共轭梯度法)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对任意 t∈R , 有
g(t) ? f (u ? tx) ? 1 ( A(u ? tx), u ? tx) ? (b, u ? tx)
?
f
2 (u) ?
t( Au ?
b,
x) ?
t2
( Ax,
x)
2
当 t=0 时, g(0)= f(u)达到极小值 , 所以 g′ (0) =0 ,即
( Au – b , x ) = 0 ? Au – b = 0
在 x 处,梯度方向是 f(x) 增长最快方向 负梯度方向是 f(x) 下降最快方向
f ( x) ? f ( x k ) ? (gradf ( x k ))T ( x ? xk ) ? f ( x k ) ? tk(gradf ( x k ))T dk , 其中dk为x ? xk单位向量, tk为步长。
? ?
?x12
L
Hessf ? ? M O
?
? ?2 f ???xn?x1
L
?2 f ?
?x1?
xn
? ?
M?
?
Hessf
?
???42xx1 x22 x2 x32 32
?2 f ? ?xn2 ??
??4 x1 x22 x3
4
x1
x
2
x
2 3
2 x12 x32
4 x12 x2 x3
4 4
x1 x12
x22 x2
设A是 n 阶对称正定阵 ?( Ax, y ) = ( x, Ay )= (A y, x )= ( y, Ax ); ?( Ax,x ) ≥0, 且( Ax, x) = 0 ? x = 0
04:09
3/41
预备知识 II
? ? 梯度: ? f ( x) ? gradf ( x) ?
, ,L , ?f ?f
?x1 ?x2
?f T ?xn
例如 f(x1,x2,x3)=x12x22x32
?f
Hessian 矩阵 :
(x)
?
? ? ? ???
?f ? x1
?f ?x2
?f ?x3
? ? ?=
? ? ?
2 2
x1 x12
x22 x2
x32 x32
??? ?? 2 x12 x22 x3
? ? ? ??
? ?2 f
所以u 是方程组 Ax = b 的解。
04:09
9/41
瞎子与计算机
? 瞎子: 能感觉到脚下的坡度(这是海拔函数 在当前点的梯度值),但不知道山上其它点 的任何情况
? 计算机: 计算目标函数在该点的信息(如函 数值和梯度值), 但不知道其它点的信息
04:09
最速下降法 (Gradient Descent)
x x
3 3
? ? ?
2 x12 x22 ??
04:09
4/41
泰勒展式 :
预备知识 III
f ( x) ? f ( xk ) ? f ?( xk )( x ? xk ) ? f ??( xk )( x ? xk )2 ? R
f (x) ?
f (xk) ?
( x ? ?f ( xk )
?x1
1
x1k ) ?
(a,b) ? || a ||| b || cos ? a,b ? ,其中 ? a,b ? 表示向量a和b的夹角。
从初值点 x(0) 出发,以负梯度方向 r 为搜索方向
选择步长 t0, 使 x(1) = x(0) + t0r 为 f(x) 极小值点
最速下降方向 : r = –? f = b – Ax
04:09
11/41
取初值点 x(0), 取负梯度方向 r0 = b – A x(0)
2
对任意 x∈R n , 只须证明 f (x) – f (u) ≥ 0
f ( x) ? f (u) ? 1 ( Ax, x) ? (b, x) ? 1 ( Au, u)
2
2
? 1 ( A( x ? u), ( x ? u)) ? 0 2
04:09
8/41
设 u 使 f(x) 取极小值。取非零向量 x∈R n,
( x ?f ( xk )
?x2
2
?
x2k )
?
1 2
( x ? 2 f ( xk )
?x1?x1
1
?
x1k )( x1 ?
x1k ) ?
( x ? 2 f ( xk )
?x1?x2
1
?
x1k )( x2
?
x2k )
?
1 2
( x ? 2 f ( xk )
?x2?x2
2
?
x2k )( x2
?
x2k ) ?
《数值分析》 11
? 初等变分原理 ? 最速下降法 ? 共轭梯度法 ? 数值试验算例
04:09
1/41
从瞎子下山到最优化方法
Science of Better
04:09
预备知识I
设 x, y? Rn , 记 ( x , y) = xT y ?( x, y ) = ( y, x ); ?( tx, y ) = (x, ty )= t ( x, y); ?( x+ y, z ) = ( x, z ) + ( y, z ); ?( x, x) ≥ 0, 且( x, x) = 0 ? x = 0; ?(x,y)=||x||2|y||2cos<x,y>;
R
n
? f ( x) ? f ( xk ) ?
( x ?f ( xk )
?xi
i
?
xik )
i?1
n
? ?
1 2
( x ? 2 f ( xk )
?xi?x j
i
?
x
k i
)(
x
j
?
x
k j
)
?
R
i , j?1
f (x) ?
f ( xk ) ? (gradf ( xk ))T ( x ?
xk ) ?
1 2
?x12
L
?2 f ?
?x1?xn
? ?
Hessf ? ? M O
M ?? A
?
?
04:09
? ?2 f ???xn?x1
L
?2 f ? ?xn2 ??
6/41
费马引理:
设x0是f ( x)的一个极值点 ,且f ( x)在x0处导数存在 ,则 f ?( x0 )=0
注释: 费马引理的价值在于将极值问题转化为 非线性方程的求解问题。
04:09
7/41
定理4.10(初等变分原理 ) 设A =(aij )n×n为实对称正 定矩阵, x, b? Rn 则 x是二次函数
f ( x) ? 1 ( Ax, x) ? (b, x) 2
的极小值点 ? x 是线性方程组 Ax = b 的解。
证明: 设 u 是 Ax = b的解 ? Au = b ? f (u) ? ? 1 ( Au, u)
(
x
?
ห้องสมุดไป่ตู้
xk )T Hessf (xk )(x ?
xk ) ?
R
04:09
一阶导数推广
二阶导数推广
5/41
预备知识 IV
f ( x) ? 1 ( Ax, x) ? (b, x) 2
n
n
? ? =
1 2
aij xi x j ? bi xi
i, j? 1
i?1
gradf ? Ax ? b
? ?2 f
? ?