第三次梯度法和共轭梯度法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则下一个搜索方向 d ( k 1)按如下方式确定:
令 d ( k 1) g k 1 k d ( k )
(1)
如何确定 k?
要求 d ( k 1) 和 d ( k ) 关于 A共轭。
则在( 1)式两边同时左乘 d ( k ) A ,得
T
0 d ( k ) Ad ( k 1) d ( k ) Agk 1 k d ( k ) A d ( k )
一. 无约束最优化问题
无约束最优化问题 min
f ( x) x Rn
s.t .
其中f ( x ) 有一阶连续偏导数。
解析方法:利用函数的解析性质构造迭代公式使之收敛到最优解。
二. 梯度法(最速下降法) 迭代公式:
x k 1 x k k d k
如何选择下降最快的方向?
f ( x k ) 函数值增加最快的方向
i
g i 1T ( g i 1 g i ) d
( i )T
( g i 1 g i )
2
|| g i 1 || 2 d
( i )T
gi
|| g i 1 || 2 || gi ||
( 4)
FR算法步骤:
1. 任取初始点 x (1) , 精度要求 ,令 k 1。
2. 令g1 f ( x (1) ) , 若 || g1 || , 停止, x (1)为所求极小点; 否则,令d (1) g1 , 利用公式(3)计算1 , 令x ( 2) x (1) 1 d (1)。 3. 令g k 1 f ( x ( k 1) ) , 若 || g k 1 || , 停止, x ( k 1)为所求极小点; 否则,令d ( k 1) g k 1 k d ( k ) , 其中 k 用公式(4)计算。
1T
d2 0
d1 d 2
共轭是正交的推广。
d 1 , d 2 ,, d k 是 k 个 A 共轭的非零 定理 1. 设 A是 n阶对称正定矩阵,
向量,则这个向量组线性无关。
证明
设存在实数 1 , 2 ,, k ,使得
i 1
id 0,
T
k
i
上式两边同时左乘 d j A ,则有
4. 令 x k 1 x k k d k , 令 k : k 1 , 转2。
2 2 例. 用最速下降法求解 : min f ( x ) x1 3 x2 , 设初始点为 x 1 ( 2 , 1 )T ,
求迭代一次后的迭代点 x 2 。
解: f ( x ) ( 2 x1 , 6 x 2 )T ,
i 1
k
是由 d (1) , d ( 2 ) ,, d ( k ) 生成的子空间。特别地, 当 k n时, x ( n 1 )是 f ( x )在R n 上的唯一极小点。
推论
在上述定理条件下,必有
f ( x ( k 1) )T d ( i ) 0 , i 1 , 2 , , k 。
( ) f ( x ( k ) d ( k ) )T d ( k ) 0,
[ A ( x ( k ) d ( k ) ) b ]T d ( k ) 0,
令
g k f ( x ( k ) ) Ax ( k ) b,则有 [ g k Ad ( k ) ]T d ( k ) 0,
椭球面。
x2 x3
x*
x1
注
最速下降方向反映了目 标函数的一种局部性质 。 它只是
局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
三. 共轭梯度法
1. 共轭方向和共轭方向法
Rn中的两个非零向量d 1 和 d 2, 定义 设 A 是 n n 的对称正定矩阵,对于
若有 d
1T
Ad 2 0 ,则称 d 1和d 2关于A共轭。
d 1 f ( x 1 ) ( 4 , 6 )T . x 1 d 1 ( 2 4 , 1 6 )T . 令 ( ) f ( x 1 d 1 ) ( 2 4 ) 2 3 ( 1 6 ) 2 ,
求解
min ( )
则有 f ( x k k d k )T d k 0 。
令 ( ) f ( x k d k ), 所以 证明:
( ) f ( x k d k )T d k .
f ( x k k d k ) min f ( x k d k )
( k 1) (k ) (k ) x x d k f ( x ( k ) d ( k ) ) min f ( x ( k ) d ( k ) ) k
直到某个 x ( k ) 满足 f ( x ( k ) ) 0。
注 由定理2可知,利用共轭方向法 求解上述极小化问题, 至多经过
共轭方向法
对于极小化问题
1 T x Ax bT x c , 2 其中A是正定矩阵,称下述算 法为共轭方向法 : min f ( x)
(1) 取定一组 A 共轭方向d (1) , d ( 2 ) , , d ( n ) ; ( 2) 任取初始点 x (1) , 依次按照下式由 x ( k )确定点 x ( k 1) ,
设 d 1 , d 2 ,, d k 是 Rn 中一组非零向量,如果 它们两两关于A
共轭,即 d i Ad j 0 , i j , i , j 1 , 2 ,, k 。
T
则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
注:如果A是单位矩阵,则
d
1T
I d 0d
2
2 f ( x ) A,
因为A 正定,所以 2 f ( x ) A 0 ,
x
因此 x 是 f ( x ) 的极小点。
设 x ( 0 ) 是在某个等值面上的一点,d (1) 是 R n中的一个方向, x ( 0)沿着 d (1) 以最优步长搜索得到点 x (1) 。 则 d (1)是点 x (1)所在等值面的切向量。
解得 k
T (k ) gk d
d
( k )T
Ad
(k )
( 3)
定理 3 对于正定二次函数 f ( x )
( i )T
1 T x Ax bT x c , FR算法在 m n次 2 一维搜索后即终止,并 且对所有的( i 1 i m),下列关系成立
(1) d
Ad ( j ) 0 , j 1 , 2 ,, i 1;
梯度法算法步骤:
1. 给定初始点 x 1 R n , 允许误差 0 , 令k 1 。 2. 计算搜索方向 d k f ( x k ) ;
3. 若 || d k || , 则停止计算, x k 为所求极值点; 否则,求最优步长 k
使得 f ( x k k d k ) min f ( x k d k )。
T (i ) T 2 (3) 由定理3的(3)可知, g i d g i g i || g i || 0 ,
所以 d ( i )是迭代点 x ( i ) 处的下降方向。
(4) 由定理3 , FR算法中 i的计算公式可以简化。
i
d ( i ) A g i 1 d
( i )T
(2) gi T g j 0 , j 1 , 2 ,, i 1;
( 3) g iT d ( i ) g iT g i 。
注 (1)由定理3 可知搜索方向d (1) , d ( 2 ) ,, d ( m ) 是 A 共轭的。
(2) 算法中第一个搜索方向 必须取负梯度方向,否 则构造的搜索 方向不能保证共轭性。
处的梯度方向构造一组共轭方向,并沿此方向进行搜索,求出
函数的极小点。
以下分析算法的具体步骤。
(1) 任取初始点 x (1),第一个搜索方向取为 d (1) f ( x (1) ) ;
( 2) 设已求得点 x ( k 1) , 若f ( x ( k 1) ) 0 , 令 g k 1 f ( x ( k 1) ) ,
以任意的 x (1) R n为初始点,依次沿 d (1) , d ( 2 ) ,, d ( k ) 进行搜索,
得到点 x ( 2) , x ( 3) ,, x ( k 1) , 则 x ( k 1) 是函数 f ( x )在 x (1) Bk 上的
极小点,其中
Bk { x | x i d ( i ) , i R }
解得 k d ( k ) A g k Leabharlann Baidu d
( k )T T
T
T
T
Ad
(k )
( 2)
(3) 搜索步长的确定 :
已知迭代点 x ( k )和搜索方向d ( k ) , 利用一维搜索确定最优步长 k ,
即求解
记 令 即有
min
f ( x ( k ) d ( k ) ) 。
( ) f ( x ( k ) d ( k ) ) ,
该等值面在点x(1) 处的法向量为
f ( x (1) ) A( x (1) x ) . 则 d (1) 与 f ( x (1) ) 正交,
x2
x ( 0)
d (1)
x
即 d
(1)T
f ( x ) 0,
( 1)
d
( 2)
x (1 ) x1
o
令 d ( 2) x x(1) ,
所以
xk
函数值下降的方向
f ( x k ) 函数值下降最快的方向
梯度法(最速下降法):
1. 搜索方向: d k f ( x k ) , 也称为最速下降方向;
2. 搜索步长 : k 取最优步长, 即满足 f ( x k k d k ) min f ( x k d k ) 。
令 ( ) 8 ( 2 4 ) 36( 1 6 ) 0 1
36 8 T x x 1d ( , ) 31 31
2 1 1
13 62
收敛性
步长 k 满足 性质. 设 f ( x) 有一阶连续偏导数,若
f ( x k k d k ) min f ( x k d k )
i 1 k
k
id
jT
jT
Ad i 0 ,
因为 d 1 , d 2 ,, d 是 k 个 A 共轭的向量,所以上式可化简为
jd
j
Ad j 0 .
jT
因为d 0 , 而 A是正定矩阵,所以 d
所以
Ad j 0,
j 0 , j 1 , 2 , , k 。
因此 d 1 , d 2 , , d k 线性无关。
T
Ad
(i )
g i 1T A d ( i ) d
( i )T
Ad ( i )
g i 1T A[ ( x ( i 1) x ( i ) ) / i ] d
( i )T
A [ ( x ( i 1) x ( i ) ) / i ]
g i f ( x ( i ) ) A x ( i ) b .
( k ) f ( x k k d k )T d k 0 .
注: 因为梯度法的搜索方向 d k 1 f ( x k k d k ), 所以
(d k 1 )T d k 0 d k 1 d k 。
锯齿现象
在极小点附近,目标函数可以用二次函数近似,其等值面近似
几何意义
设有二次函数
1 f ( x ) ( x x )T A( x x ) 2 其中 A 是 n n 对称正定矩阵,x 是一个定点。 1 ( x x )T A( x x ) c 则函数 f ( x ) 的等值面 2
是以 x 为中心的椭球面。
由于 f ( x ) A( x x ) 0 , 而
n 次迭代必可得到最优解 。
如何选取一组共轭方向?
2. 共轭梯度法
Fletcher R eeves 共轭梯度法:
1 T x Ax bT x c 2 其中 x R n , A是对称正定矩阵, b R n, c 是常数。 min f ( x)
基本思想: 将共轭性和最速下降方 向相结合,利用已知迭 代点
d (1)T Ad ( 2) 0,
即等值面上一点处的切 向量与由这一点指向极小点的向量关于A 共轭。
1 T x Ax bT x c , 2 其中 A 是 n 阶对称正定矩阵。 d (1) , d ( 2 ) ,, d ( k ) 是 一组A共轭向量。
定理 2. 设有函数
f ( x)
令 d ( k 1) g k 1 k d ( k )
(1)
如何确定 k?
要求 d ( k 1) 和 d ( k ) 关于 A共轭。
则在( 1)式两边同时左乘 d ( k ) A ,得
T
0 d ( k ) Ad ( k 1) d ( k ) Agk 1 k d ( k ) A d ( k )
一. 无约束最优化问题
无约束最优化问题 min
f ( x) x Rn
s.t .
其中f ( x ) 有一阶连续偏导数。
解析方法:利用函数的解析性质构造迭代公式使之收敛到最优解。
二. 梯度法(最速下降法) 迭代公式:
x k 1 x k k d k
如何选择下降最快的方向?
f ( x k ) 函数值增加最快的方向
i
g i 1T ( g i 1 g i ) d
( i )T
( g i 1 g i )
2
|| g i 1 || 2 d
( i )T
gi
|| g i 1 || 2 || gi ||
( 4)
FR算法步骤:
1. 任取初始点 x (1) , 精度要求 ,令 k 1。
2. 令g1 f ( x (1) ) , 若 || g1 || , 停止, x (1)为所求极小点; 否则,令d (1) g1 , 利用公式(3)计算1 , 令x ( 2) x (1) 1 d (1)。 3. 令g k 1 f ( x ( k 1) ) , 若 || g k 1 || , 停止, x ( k 1)为所求极小点; 否则,令d ( k 1) g k 1 k d ( k ) , 其中 k 用公式(4)计算。
1T
d2 0
d1 d 2
共轭是正交的推广。
d 1 , d 2 ,, d k 是 k 个 A 共轭的非零 定理 1. 设 A是 n阶对称正定矩阵,
向量,则这个向量组线性无关。
证明
设存在实数 1 , 2 ,, k ,使得
i 1
id 0,
T
k
i
上式两边同时左乘 d j A ,则有
4. 令 x k 1 x k k d k , 令 k : k 1 , 转2。
2 2 例. 用最速下降法求解 : min f ( x ) x1 3 x2 , 设初始点为 x 1 ( 2 , 1 )T ,
求迭代一次后的迭代点 x 2 。
解: f ( x ) ( 2 x1 , 6 x 2 )T ,
i 1
k
是由 d (1) , d ( 2 ) ,, d ( k ) 生成的子空间。特别地, 当 k n时, x ( n 1 )是 f ( x )在R n 上的唯一极小点。
推论
在上述定理条件下,必有
f ( x ( k 1) )T d ( i ) 0 , i 1 , 2 , , k 。
( ) f ( x ( k ) d ( k ) )T d ( k ) 0,
[ A ( x ( k ) d ( k ) ) b ]T d ( k ) 0,
令
g k f ( x ( k ) ) Ax ( k ) b,则有 [ g k Ad ( k ) ]T d ( k ) 0,
椭球面。
x2 x3
x*
x1
注
最速下降方向反映了目 标函数的一种局部性质 。 它只是
局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
三. 共轭梯度法
1. 共轭方向和共轭方向法
Rn中的两个非零向量d 1 和 d 2, 定义 设 A 是 n n 的对称正定矩阵,对于
若有 d
1T
Ad 2 0 ,则称 d 1和d 2关于A共轭。
d 1 f ( x 1 ) ( 4 , 6 )T . x 1 d 1 ( 2 4 , 1 6 )T . 令 ( ) f ( x 1 d 1 ) ( 2 4 ) 2 3 ( 1 6 ) 2 ,
求解
min ( )
则有 f ( x k k d k )T d k 0 。
令 ( ) f ( x k d k ), 所以 证明:
( ) f ( x k d k )T d k .
f ( x k k d k ) min f ( x k d k )
( k 1) (k ) (k ) x x d k f ( x ( k ) d ( k ) ) min f ( x ( k ) d ( k ) ) k
直到某个 x ( k ) 满足 f ( x ( k ) ) 0。
注 由定理2可知,利用共轭方向法 求解上述极小化问题, 至多经过
共轭方向法
对于极小化问题
1 T x Ax bT x c , 2 其中A是正定矩阵,称下述算 法为共轭方向法 : min f ( x)
(1) 取定一组 A 共轭方向d (1) , d ( 2 ) , , d ( n ) ; ( 2) 任取初始点 x (1) , 依次按照下式由 x ( k )确定点 x ( k 1) ,
设 d 1 , d 2 ,, d k 是 Rn 中一组非零向量,如果 它们两两关于A
共轭,即 d i Ad j 0 , i j , i , j 1 , 2 ,, k 。
T
则称这组方向是关于 A共轭的,也称它们是一 组A共轭方向。
注:如果A是单位矩阵,则
d
1T
I d 0d
2
2 f ( x ) A,
因为A 正定,所以 2 f ( x ) A 0 ,
x
因此 x 是 f ( x ) 的极小点。
设 x ( 0 ) 是在某个等值面上的一点,d (1) 是 R n中的一个方向, x ( 0)沿着 d (1) 以最优步长搜索得到点 x (1) 。 则 d (1)是点 x (1)所在等值面的切向量。
解得 k
T (k ) gk d
d
( k )T
Ad
(k )
( 3)
定理 3 对于正定二次函数 f ( x )
( i )T
1 T x Ax bT x c , FR算法在 m n次 2 一维搜索后即终止,并 且对所有的( i 1 i m),下列关系成立
(1) d
Ad ( j ) 0 , j 1 , 2 ,, i 1;
梯度法算法步骤:
1. 给定初始点 x 1 R n , 允许误差 0 , 令k 1 。 2. 计算搜索方向 d k f ( x k ) ;
3. 若 || d k || , 则停止计算, x k 为所求极值点; 否则,求最优步长 k
使得 f ( x k k d k ) min f ( x k d k )。
T (i ) T 2 (3) 由定理3的(3)可知, g i d g i g i || g i || 0 ,
所以 d ( i )是迭代点 x ( i ) 处的下降方向。
(4) 由定理3 , FR算法中 i的计算公式可以简化。
i
d ( i ) A g i 1 d
( i )T
(2) gi T g j 0 , j 1 , 2 ,, i 1;
( 3) g iT d ( i ) g iT g i 。
注 (1)由定理3 可知搜索方向d (1) , d ( 2 ) ,, d ( m ) 是 A 共轭的。
(2) 算法中第一个搜索方向 必须取负梯度方向,否 则构造的搜索 方向不能保证共轭性。
处的梯度方向构造一组共轭方向,并沿此方向进行搜索,求出
函数的极小点。
以下分析算法的具体步骤。
(1) 任取初始点 x (1),第一个搜索方向取为 d (1) f ( x (1) ) ;
( 2) 设已求得点 x ( k 1) , 若f ( x ( k 1) ) 0 , 令 g k 1 f ( x ( k 1) ) ,
以任意的 x (1) R n为初始点,依次沿 d (1) , d ( 2 ) ,, d ( k ) 进行搜索,
得到点 x ( 2) , x ( 3) ,, x ( k 1) , 则 x ( k 1) 是函数 f ( x )在 x (1) Bk 上的
极小点,其中
Bk { x | x i d ( i ) , i R }
解得 k d ( k ) A g k Leabharlann Baidu d
( k )T T
T
T
T
Ad
(k )
( 2)
(3) 搜索步长的确定 :
已知迭代点 x ( k )和搜索方向d ( k ) , 利用一维搜索确定最优步长 k ,
即求解
记 令 即有
min
f ( x ( k ) d ( k ) ) 。
( ) f ( x ( k ) d ( k ) ) ,
该等值面在点x(1) 处的法向量为
f ( x (1) ) A( x (1) x ) . 则 d (1) 与 f ( x (1) ) 正交,
x2
x ( 0)
d (1)
x
即 d
(1)T
f ( x ) 0,
( 1)
d
( 2)
x (1 ) x1
o
令 d ( 2) x x(1) ,
所以
xk
函数值下降的方向
f ( x k ) 函数值下降最快的方向
梯度法(最速下降法):
1. 搜索方向: d k f ( x k ) , 也称为最速下降方向;
2. 搜索步长 : k 取最优步长, 即满足 f ( x k k d k ) min f ( x k d k ) 。
令 ( ) 8 ( 2 4 ) 36( 1 6 ) 0 1
36 8 T x x 1d ( , ) 31 31
2 1 1
13 62
收敛性
步长 k 满足 性质. 设 f ( x) 有一阶连续偏导数,若
f ( x k k d k ) min f ( x k d k )
i 1 k
k
id
jT
jT
Ad i 0 ,
因为 d 1 , d 2 ,, d 是 k 个 A 共轭的向量,所以上式可化简为
jd
j
Ad j 0 .
jT
因为d 0 , 而 A是正定矩阵,所以 d
所以
Ad j 0,
j 0 , j 1 , 2 , , k 。
因此 d 1 , d 2 , , d k 线性无关。
T
Ad
(i )
g i 1T A d ( i ) d
( i )T
Ad ( i )
g i 1T A[ ( x ( i 1) x ( i ) ) / i ] d
( i )T
A [ ( x ( i 1) x ( i ) ) / i ]
g i f ( x ( i ) ) A x ( i ) b .
( k ) f ( x k k d k )T d k 0 .
注: 因为梯度法的搜索方向 d k 1 f ( x k k d k ), 所以
(d k 1 )T d k 0 d k 1 d k 。
锯齿现象
在极小点附近,目标函数可以用二次函数近似,其等值面近似
几何意义
设有二次函数
1 f ( x ) ( x x )T A( x x ) 2 其中 A 是 n n 对称正定矩阵,x 是一个定点。 1 ( x x )T A( x x ) c 则函数 f ( x ) 的等值面 2
是以 x 为中心的椭球面。
由于 f ( x ) A( x x ) 0 , 而
n 次迭代必可得到最优解 。
如何选取一组共轭方向?
2. 共轭梯度法
Fletcher R eeves 共轭梯度法:
1 T x Ax bT x c 2 其中 x R n , A是对称正定矩阵, b R n, c 是常数。 min f ( x)
基本思想: 将共轭性和最速下降方 向相结合,利用已知迭 代点
d (1)T Ad ( 2) 0,
即等值面上一点处的切 向量与由这一点指向极小点的向量关于A 共轭。
1 T x Ax bT x c , 2 其中 A 是 n 阶对称正定矩阵。 d (1) , d ( 2 ) ,, d ( k ) 是 一组A共轭向量。
定理 2. 设有函数
f ( x)