目录
(2)curvature condition(不要取得太小)
1,什么是步长?
在确定了搜索方向的情况下,讨论搜索步长
,希望对下述函数求最小值
直接求解上述函数的最小值的方法叫做精确线搜索(公式解),然而这需要耗费大量的计算,所以我们一般采用非精确线搜索(可能不是最小值,但差不多)inexact line search
(1)函数应当有充分的下降
(2)步长不宜太小
【1】STEPS MIGHT BE TOO LONG --- 步长太大,会出现震荡现象
【2】STEPS MIGHT BE TOO SHORT --- 步长太小会走不出去,提前收敛()
2,步长(
)怎么取?
(1)Armijo conditions(充分下降条件)
首先,我们希望目标函数值能够有足够的下降(sufficient decrease)
常数。将上述条件称为Armijo条件,不等式的右边记为
,是一个斜率为
的线性函数,从而Armijo条件意味着
实际应用中,我们一般将取得很小,例如
(不要太小,只要是下降的就可以了)
线性函数下面的部分是可取范围
(learning rate)取小就可以取到一个局部最优解
斜率(loss.backward)不要太小,不然只能取到局部最优,取不到
note:梯度是某一点的导数,斜率是一阶线性函数的导数,高阶函数没有’斜率‘只有导数
(2)curvature condition(
不要取得太小)
当取得很小的时候,Armijo条件成立,但是这并不是理想的步长,所以我们引入curvature condition,即
常数,不等式的左边恰好是
,那么上述不等式意味着
应该要大于
倍
=0.9,when search direction is chosen by Newton(牛顿法:海瑟矩阵估计) or Quasi-Newton(拟牛顿法:用低秩算法迭代的海瑟矩阵估计)
=0.1,when search direction is obtained from nonlinear conjugate gradient method(非线性梯度法)
排除下降的非常快,即取得很小的部分。留下了变化缓慢和上升的部分。
(3)Wolfe conditions
The sufficient decrease and curvature conditions are known collectively as the Wolfe conditions.
with
It is not difficult to prove that there exist step lenghts that satisfy the Wolfe conditions for every function that is smooth and bounded below.---Wolfe condition一定可以搜索到一个备选空间
a "loose" line search and