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