一. 问题描述
令目标函数为
f(x)
,当前点为
xk
,当前搜索方向为
dk
,我们把学习率
α
看做变量,不妨设:
h(α)=f(xk+αdk),a>0
现在问题变成求 h(α) 的最小值,假设 h(α) 可导,则有:
h′(α)=∂f(xk+αdk)∂(xk+αdk)dk
二. 学习率函数 h(α) 的分析
由导数的性质知道,局部最小值处满足
h′(α)=0
将
α=0
代入,得:
h′(0)=∂f(xk)∂xkdk
不妨取 dk 为负梯度,即 dk=−∂f(xk)∂xk ,则有:
h′(0)=−(∂f(xk)∂xk)2≤0
如果能够找到足够大的 α ,使得 h′(α)>0 ,则必存在某个值 α0 ,使得 h′(α0)=0 , α0 即为要寻找的学习率
1. 二分线性搜索
2. 回溯线性搜索
3. Armijo 准则
f(xk+αdk)≤f(xk)+c1α∂f(xk)∂xkdk,0<c1<1
4. 二项插值法
由 f(x)=f(a)−f′(0)a−f(0)a2x2+f′(0)x+f(0) 可得 h(α) 的近似函数为:
hq(α)=h(α0)−h′(0)α0−h(0)α20α2+h′(0)α+h(0)
可得,最优值为:
α=h′(0)α202(h′(0)α0+h(0)−h(α0))
如有错误请指正