最速下降法——精选推荐

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

最速下降法
1.最速下降⽅向
函数f(x)在点x处沿⽅向d的变化率可⽤⽅向导数来表⽰。

对于可微函数,⽅向导数等于梯度与⽅向的内积,即:Df(x;d) = ▽f(x)Td,
因此,求函数f(x)在点x处的下降最快的⽅向,可归结为求解下列⾮线性规划:
min ▽f(x)Td
s.t. ||d|| ≤ 1
当 d = -▽f(x) / ||▽f(x)||
时等号成⽴。

因此,在点x处沿上式所定义的⽅向变化率最⼩,即负梯度⽅向为最速下降⽅向。

2.最速下降算法
最速下降法的迭代公式是
x(k+1) = x(k) + λkd(k) ,
其中d(k)是从x(k)出发的搜索⽅向,这⾥取在x(k)处的最速下降⽅向,即
d = -▽f(x(k)).
λk是从x(k)出发沿⽅向d(k)进⾏⼀维搜索的步长,即λk满⾜
f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).
计算步骤如下:
(1)给定初点x(1) ∈ Rn,允许误差ε> 0,置k = 1。

(2)计算搜索⽅向d = -▽f(x(k))。

(3)若||d(k)|| ≤ ε,则停⽌计算;否则,从x(k)出发,沿d(k)进⾏⼀维搜索,求λk,使
f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).
(4)令x(k+1) = x(k) + λkd(k) ,置k = k + 1,转步骤(2)。

共轭梯度法
1.共轭⽅向
⽆约束问题最优化⽅法的核⼼问题是选择搜索⽅向。

以正定⼆次函数为例,来观察两个⽅向关于矩阵A共轭的⼏何意义。

设有⼆次函数:
f(x) = 1/2 (x - x*)TA(x - x*) ,
其中A是n×n对称正定矩阵,x*是⼀个定点,函数f(x)的等值⾯
1/2 (x - x*)TA(x - x*) = c
是以x*为中⼼的椭球⾯,由于
▽f(x*) = A(x - x*) = 0,
A正定,因此x*是f(x)的极⼩点。

设x(1)是在某个等值⾯上的⼀点,该等值⾯在点x(1)处的法向量
▽f(x(1)) = A(x(1) - x*)。

⼜设d(1)是这个等值⾯在d(1)处的⼀个切向量。

记作
d(2) = x* - x(1)。

⾃然,d(1)与▽f(x(1))正交,即d(1)T▽f(x(1)) = 0,因此有
d(1)TAd(2) = 0,
即等值⾯上⼀点处的切向量与由这⼀点指向极⼩点的向量关于A共轭。

由此可知,极⼩化式所定义的⼆次函数,若依次沿着d(1)和d(2)进⾏⼀维搜索,则经两次迭代必达到极⼩点。

1.共轭梯度法
共轭梯度法最初由Hesteness和Stiefel于1952年为求解线性⽅程组⽽提出的。

后来,⼈们把这种⽅法⽤于求解⽆约束最优化问题,使之成为⼀种重要的最优化⽅法。

Fletcher-Reeves共轭梯度法,简称FR法。

共轭梯度法的基本思想是把共轭性与最速下降⽅法相结合,利⽤已知点处的梯度构造⼀组共轭⽅向,并沿这组⽅向进⾏搜素,求出⽬标函数的极⼩点。

根据共轭⽅向基本性质,这种⽅法具有⼆次终⽌性。

对于⼆次凸函数的共轭梯度法:
min f(x) = 1/2 xTAx + bTx + c,
其中x∈ Rn,A是对称正定矩阵,c是常数。

具体求解⽅法如下:
⾸先,任意给定⼀个初始点x(1),计算出⽬标函数f(x)在这点的梯度,若||g1|| = 0,则停⽌计算;否则,令
d(1) = -▽f(x(1)) = -g1。

沿⽅向d(1)搜索,得到点x(2)。

计算在x(2)处的梯度,若||g2|| ≠ 0,则利⽤-g2和d(1)构造第2个搜索⽅向d(2),在沿d(2)搜索。

⼀般地,若已知点x(k)和搜索⽅向d(k),则从x(k)出发,沿d(k)进⾏搜索,得到
x(k+1) = x(k) + λkd(k) ,
其中步长λk满⾜
f(x(k) + λkd(k)) = min f(x(k)+λd(k))。

此时可求出λk的显⽰表达
计算f(x)在x(k+1)处的梯度。

若||gk+1|| = 0,则停⽌计算;否则,⽤-gk+1和d(k)构造下⼀个搜索⽅向d(k+1),并使d(k+1)和d(k)关于A共轭。

按此设想,令
d(k+1) = -gk+1 + βkd(k),
上式两端左乘d(k)TA,并令
d(k)TAd(k+1) = -d(k)TAgk+1 + βkd(k)TAd(k) = 0,
由此得到
βk = d(k)TAgk+1 / d(k)TAd(k)。

再从x(k+1)出发,沿⽅向d(k+1)搜索。

在FR法中,初始搜索⽅向必须取最速下降⽅向,这⼀点决不可忽视。

因⼦βk可以简化为:βk = ||gk+1||2 / ||gk||2。

3.⾮线性共轭梯度
当⽬标函数是⾼于⼆次的连续函数(即⽬标函数的梯度存在)时,其对应的解⽅程是⾮线性⽅程,⾮线性问题的⽬标函数可能存在局部极值,并且破坏了⼆次截⽌性,共轭梯度法需要在两个⽅⾯加以改进后,仍然可以⽤于实际的反演计算,但共轭梯度法不能确保收敛到全局极值。

(1)⾸先是共轭梯度法不能在n维空间内依靠n步搜索到达极值点,需要重启共轭梯度法,继续迭代,以完成搜索极值点的⼯作。

(2)在⽬标函数复杂,在计算时,由于需要局部线性化,需计算Hessian矩阵A,且计算⼯作量⽐较⼤,矩阵A也有可能是病态的。

Fletcher和Reeves的⽅案最为常⽤,抛弃了矩阵A的计算,具体形式如下:
式中gk-1和gk分别为第k-1和第k次搜索是计算出来的⽬标函数的梯度。

相关文档
最新文档