对最小二乘问题,在下降算法中,确定了搜索方向(最陡下降法或梯度法为为线性收敛,方向为;牛顿迭代法二次收敛,方向为)后,还需要确定搜索步长。
为确定步长,需要找到:
通常采用一维搜索方法(Line Search),构造以下方程:
,其中和已知,
当时,如果方程式递减的,则称向量为下降方向,此时有:
通常会对给定一个初值,比如,牛顿迭代法。下图为为下降方向,正定时曲线图(开口向上,对称轴为正的二次曲线)
曲线 可选区域
由图可以看出:1.太小,导致目标函数的下降增益过小,此时应该增大;2.太大,导致破坏了下降条件;3.接近满足条件,意味着,此时要么,获得最优值,算法停止;要么和正交,停止搜索,采用该值(该值是局部最优,正交意味着沿方向步长继续变化将增大)。
搜索算法包括:(exact line search)和(soft line search),前者由于计算复杂度在实际应用中已很少使用,后者搜索条件如下:
1、 其中 ,;该条件保证目标函数下降。
2、;该条件保证目标函数下降增益不至于太小。
算法如下: