AR_Numerical_Optimization Cpt3.Line Search Methods

线搜索基本概述

在每一次线搜索过程中需要计算一个搜索方向和在方向上前进的步长.

                                                        

大多数线搜索需要作为下降方向: 来让目标函数沿着方向下降,在前面一章讨论过, 通常搜索方向的通式为:

                                                         

为对称且非奇异矩阵,在最速下降法中,为单位矩阵(identity matrix), 在牛顿法中,为Hessian matrix . 在拟牛顿法中,为Hessian matrix的近似,并且在每一次迭代中用mean of low-rank formula更新。当如上定义后且是正定的,

                                             

在本章中,我们主要讨论如何选择和来提高算法的收敛性。 我们同样会讨论以上各种方法的收敛率(rate of convergence)。

Step length 步长

通常在选择步长的过程中我们都面临权衡情况(tradeoff), 我们希望能够使目标函数大量下降的同时又不浪费过多时间。一个理想的情况是作为一个单变量函数的全局最优,如

                                           

但是通常这个过程的时间成本过高,在确定最终的全局优化过程中总需要对目标函数和梯度的大量评估。 一个较为实用的方法就是使用非精确搜索(Inexact line search)。

线搜索在达到以下两点时可以结束:1. 包围阶段可以找到包含所需步长的间隔; 2.对分(bisection)或插值(interpolation)阶段会在此间隔内计算出良好的步长。 一个成熟的线搜索算法通常非常复杂。

Termination conditions/Sufficient decrease conditon  终止条件和充分下降条件

Armijo condition/ Sufficient decrease condition

                         

the reduction in  should be proportional to both the step length and the directional derivative  .

Usually, 

                                             


Curvature condition 

                                     

其中, 来自上个公式, 本公式左边即是   并且公式右边就是系数  乘以 。 公式右边为负数,所以通过改变斜率来使得公式左边接近0或者大于0。 同时, 如果 仅仅略小于0甚至是正数,那就标志着对于函数而言在此方向不能有更多的下降,此时线搜索终结。

当搜索方向选择为牛顿或者拟牛顿方向的时候, 通常赋值0.9; 当选择为非线性共轭梯度方法时,通常赋值0.1


Wolfe Conditions

Armijo condition + Curvature condition  

\begin{aligned}f\left(x_{k}+\alpha_{k} p_{k}\right) & \leq f\left(x_{k}\right)+c_{1} \alpha_{k} \nabla f_{k}^{T} p_{k} \space \space \space \space  Armijo\\\nabla f\left(x_{k}+\alpha_{k} p_{k}\right)^{T} p_{k} & \geq c_{2} \nabla f_{k}^{T} p_{k}, \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space Curvature\\ 0<c_{1}<c_{2}<1\end{aligned} 

在一般Wolfe 条件下, 可能出现满足以上两式但并不非常靠近函数最小值的情况。于是强Wolfe (Strong Wolfe Conditions )条件为 

\begin{aligned}f\left(x_{k}+\alpha_{k} p_{k}\right) & \leq f\left(x_{k}\right)+c_{1} \alpha_{k} \nabla f_{k}^{T} p_{k} \space \space \space \space  Armijo\\\left|\nabla f\left(x_{k}+\alpha_{k} p_{k}\right)^{T} p_{k}\right| & \leq c_{2}\left|\nabla f_{k}^{T} p_{k}\right|,  \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space Curvature\\ 0<c_{1}<c_{2}<1\end{aligned}

此时我们限制 not to be too positive, 通过此方法将那些远离驻点(Stationary point)的值剔除。

Wolfe condition proof

定理:假设目标函数f是一个连续可导(Continuously differentiable)的,并且在处的搜索方向(下降方向)为在射线的情况里是有边界的,则如果存在, 那么也存在步长满足 Wolfe conditions 和 Strong Wolfe Conditions.

Proof:对于所有步长>0 而言,是有下界的(Bounded below),并且在 情况下,线 是无下界的 (Unbounded below), 所以一定会和产生相交。

1.令最小的交点'>0  则有

2. 根据中值定理(Mean value theorem), 存在,

3. 根据上面两个等式有

此时 满足Wolfe conditions


The Goldstein Conditions

如同Wolfe conditions,Goldstein Conditions 的目标确认保证步长 能够满足 Sufficient decrease 但是又不能太短。Goldstein Conditions 的第一个不等式为

其中第二个不等式为sufficient decrease condition 充分下降条件。第一个不等式则是用于控制步长。

Goldstein Conditions 的一个缺点(相比Wolfe condition)是在第一个不等式中,可能会去除的所有最小值。 

但是其他和Wolfe 是相似的,并且收敛条件十分相同。 Goldstein Conditions 通常适合牛顿形式的方法,但并不适合使用了正定Hessian 近似的拟牛顿方法。

在此回顾一下,不管是Wolfe 还是 Goldstein 其最终目的都是寻找一个适合的步长。

Sufficient decrease and Backtracking

只是单独的Sufficient decrease condition  不足以保证算法能够沿着搜索方向做出有效的进展,如果算法能通过Backtraking approach 而找到一个合适的候选步长(Candidate step length), 我们则可以免除额外的条件(此处指的是 curvature condition),而仅仅使用Sufficient decrease condition 来结束一个线搜索过程。

Sufficient decrease and Backtracking 的基本形式为


Convergence of Line search methods 线搜索收敛讨论

为了达到全局最优,我们不仅要选择一个良好的步长,同时一个准确的搜索方向也是必要的。小姐小节主要讨论搜索方向的条件, 在算法中有一个良好的搜索方向和步长选择一样重要。

在此我们讨论的重点主要是一个性质: 在一般搜索方向和最速下降搜索方向之间的角度 定义为

                                                                   

Theorem 3.2   Zoutendijk condition

考虑到迭代, 是搜索方向而满足Wolfe condition时。Zoutendijk condition

                                                                    

This implies:                                                    

很多算法都用此性质来找到函数最小值,还有许多对应不同算法的情况,我们在之后再补充。


Rate of Convergence  收敛速度

算法的收敛常常有一个冲突,即是为了考虑如何兼顾 满足全局最优 和 满足快速收敛;这也是算法设计的一个侧重点。 在本小节我们通过讨论 最速下降法(The steepest descent method) 来探究收敛速度的问题。

Convergence rate of steepest descent

Suppose:  ,  is positive definite; 

Gradient: ;  Minimizer  is  the unique solution of .

Compute  by differentiating w.r.t :

                            

                       

If the exact minimizer is used 

                       

Evaluate Rate of convergence: Wight of norm 

\Rightarrow \left\|x_{k+1}-x^{*}\right\|_{Q}^{2}=\left\{1-\frac{\left(\nabla f_{k}^{T} \nabla f_{k}\right)^{2}}{\left(\nabla f_{k}^{T} Q \nabla f_{k}\right)\left(\nabla f_{k}^{T} Q^{-1} \nabla f_{k}\right)}\right\}\left\|x_{k}-x^{*}\right\|_{Q}^{2} by derivative 

Theorem 3.3 

当线搜索最速下降法被应用于强凸函数(如上式)时,误差形式为:

 是Q的 Eigenvalues, Condition number .

Theorem 3.4 

对于: 在 内连续可导,使用最速下降收敛为并且Hessian matrix 是正定的。

对于任何  ,

.

为线性收敛速度。

Newton's method

Search direction: 

Theorem 3.5 

当搜索方向为牛顿方向,如果正定,则牛顿法为二次收敛。(但是牛顿方向不总是为正定,因此Hessian在使用时需要进一步调整)。

Quasi-newton method

 Search direction:

Theorem 3.6

Suppose that  : is twice continuously differentiable. Consider the iteration , where  is a descent direction and  satisfies the Wolfe conditions, with c1 ≤ 1/2. If the sequence converges to a point such that and is positive definite, and if the search direction satisfies  , then

如果, 收敛速度为超线性。


Modification 修正式

Newton's method with Hessian modification 

Eigenvalue Modification 

Adding a multiple of the identity 

Modified Cholesky factorization 

Modified symmetric indefinite factorization 

这几个小节我们将在之后具体章节展开讨论。

Step-length Selection Algorithms 步长选择的算法

函数:, 是下降方向,并且.

1. 如果是二次凸函数, 他的一维最小值(沿着射线) 则是

                                                                 为步长最优解。

2. 如果目标函数是一个非线性问题(Nonlinear functions),就需要用到迭代算法(Iterative procedure)求解,寻找最优步长或者满足前文提及条件的步长。尤其对于线搜索来说,对于优化方法的鲁棒性和效率有主要影响。求解步骤一般分为两步,一是寻找一个包含解的区间,二是逐渐放大(Zoom)该步长,直到确定最终步长。

本节主要讨论目标函数的梯度存在的情况,否则使用其他方法处理。

Interpolation 插值

插值法的目标是:在一系列的迭代中使步长逐步减小直到找到一个满足约束的步长情况。

Condition 1

充分减少条件: , 在此之上设计一个更有效的步骤来使得的导数计算更少。假设初始猜测值为,则

                                                              

当步长满足此情况时,则寻找过程终止。否则,开始Condition 2

Condition 2

将取值范围变为(缩小取值范围),此时构造一个二次近似函数,, 并且使用三个函数的相关信息:. 得到:

                                              

则新的取值为:

                                                   

如果此时满足条件, 则终止寻找过程,否则进入Condition 3.

Condition 3 

在此情况中,我们构建一个 Cubic function,并且使用四个函数的相关信息: ,, ,,则可得到: 

                                                   

                         \left[\begin{array}{c}a \\b\end{array}\right]=\frac{1}{\alpha_{0}^{2} \alpha_{1}^{2}\left(\alpha_{1}-\alpha_{0}\right)}\left[\begin{array}{cc}\alpha_{0}^{2} & -\alpha_{1}^{2} \\-\alpha_{0}^{3} & \alpha_{1}^{3}\end{array}\right]\left[\begin{array}{c}\phi\left(\alpha_{1}\right)-\phi(0)-\phi^{\prime}(0) \alpha_{1} \\\phi\left(\alpha_{0}\right)-\phi(0)-\phi^{\prime}(0) \alpha_{0}\end{array}\right]

通过对求导, 我们可以找到在中的minimizer of  of , 为

                                                       

如果必要,需要重复此过程。 如果任何步长对于上一次步长而言过于接近或者过小,则直接定义 .

Initial step length 初始步长

对于牛顿或者拟牛顿方法来说,初始步长通常定义为;对于其他非Scale的方法,比如最速下降和共轭梯度,初始化步长非常重要。 通常有我们选择使  则:

                                                             

另一个较为有用的策略则是在 ,and  中插入一个二次方程,来判断的最小值,为:

                                                             

A line search algorithm for the Wolfe conditions   在Wolfe condition 条件下的线搜索

For any parameters  and  满足. 并且满足Wolfe condition

本算法有两个部分:第一阶段从一个尝试的开始,并且持增长直到找到理想步长或者理想的包含步长范围。第二阶段使用Zoom 函数, 用来减少区间范围直到理想步长被找到。在此强调一下Wolfe condition为

                                      \begin{aligned}f\left(x_{k}+\alpha_{k} p_{k}\right) & \leq f\left(x_{k}\right)+c_{1} \alpha_{k} \nabla f_{k}^{T} p_{k} \space \space \space \space  Armijo\\\nabla f\left(x_{k}+\alpha_{k} p_{k}\right)^{T} p_{k} & \geq c_{2} \nabla f_{k}^{T} p_{k}, \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space Curvature\\ 0<c_{1}<c_{2}<1\end{aligned}

 


我将两个算法相互之间的联系和包含意义用笔记本手写如下


你可能感兴趣的:(AR_Numerical_Optimization Cpt3.Line Search Methods)