Numerical Optimization笔记--chapter3 Line Search Methods

本章主要内容以及思路:
线搜索是已经确定了下降方向p(k)后,确定合适的a(k)。使得函数在点x(k+1)=x(k)+a(k)*p(k)的函数值比在点x(k)的值要小。
合适的a(k)有两个条件:1. 保证函数收敛到最小点。2. 在有限步收敛。

1. 由此有两个经验条件wolf条件和Goldstein条件。
分别是两个子条件来保证a(k)的值不会过大也不会太小。
对于这个条件的可用性,有一个定理来保证 可微有下界的函数,必然存在步长满足wolf/Goldstein条件

2. 然后有Zendoudijk定理来保证满足wolf/Goldstein条件的步长会收敛。

3.紧接着讨论了收敛速度的问题:
对于最速下降,他是线性收敛的,很慢。
对于Newton下降法,当Hessian矩阵正定时,是二次收敛的。
对于Quasi-Newtion下降法,是超线性收敛的。

4.但是Newton法中的Hessian矩阵长长不是正定的,由此需要对其进行修正使其正定。共讨论了3中方法:
a. 特征值修正法。即将小于0的特征值变成一个很小的数Delta或者直接反号,得到修正后的矩阵。但是矩阵谱分解很费时。于是又第二种。
b. 直接加上单位矩阵的倍数(辅以Cholesky分解进行判定是否正定)
通过在Hessian矩阵上直接加上一个单位矩阵的倍数,然后进行Cholesky分解。如果分解才成功,说明相加后得到的矩阵是一个对阵正定矩阵。满足条件。
c.修正的Cholesky分解。
A=L*L(T) ==> A=LDL(T)。如果A正定,则对角矩阵D上的元素都是整数,则A是正定。否则,通过修正D中的负数是指变成正的,得到一个新的正定矩阵A。
d.修正的对称非正定矩阵分解法
PAP(T)=LBL(T)。B是一个分块分块对角矩阵。通过修正B,来达到修正A的目的。即:P(A+E)P(T)=L(B+F)L(T)。其中F是通过找到的一个辅助矩阵。A+E是对A的修正。这里的E不一定是对角的,说明A中的所有元素都有可能被修正。

5. 讨论完了方向性问题后,接着提出一个a(k)选择的一个启发式算法。
步长选择也是一个迭代寻找的过程,即先设置一个步长,然后根据一定原则来,找到一个合适的步长,使之满足wolf/Goldstein条件。
1) 初始步长的选择;Newton/Quasi-Newtion法,始终为1,这种选择可以保证他的二次收敛速度。对于最速下降/共轭梯度,一个启发式策略是,一阶变化与之前一步的一节变化保持相等;或者是通过一个插值算法来实现。
2)迭代
分为两步:
1. 首先依据足量下降准则找到一个区间,使得满足wolf/Goldstein条件的a(k)被包含在这个区间中。
2. 然后通过曲率准则在区间中找到一个合适的a(k)。这里找的过程,通过2/3次差值的方式来通过当前的a(k)来找到下一个合适的a(k+1)的。

你可能感兴趣的:(Numerical Optimization笔记--chapter3 Line Search Methods)