版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 步长(学习率)
在进行梯度下降法的过程中,我们需要通过调整η学习率的值来调整参数每次要走的距离。适当的调整η可以更准确的找到L的最小值以及参数值。
下面需要注意调整步长η(往下一步要走的距离)的大小:
不同大小的η可能会造成下面图中的情况

一种方法是将参数的变化与函数L的改变的情况可视化
- 当η太小,则L变化缓慢,对应下图中绿色线条
- 当η比较大,则可能上面图中跳出极小值点,找不到该点(相当于步子迈大了从坑上跨过去)
- 当η过大时,L将会越变越大,需要重新调整(此时相当于不仅跨过了坑还跨到山上去了)

自动调试η的方法
通常情况下,随着参数的更新会越来越小。(越来越接近目标,要调小步长)
Adagrad
一般情况:
wk+1←wkηkgk,其中gk表ʾ第k个ֵ的梯度。
现做调整:wk+1←wkσkηkgk
这里,σkηk就是这次的步长(学习率),σk表示过去求过的梯度值的平方和求均值然后开根号,
即第k+1次的ηt=k+1η;σk=k+11[(g0)2+(g1)2+...+(gk)2]=k+11i=0∑k(gi)2,因Ϊ0到kһ共k+1个ֵ,所以乘k+11;
举例:
w1←w0σ0η0g0,σ0=(g0)2
w2←w1σ1η1g1,σ1=21[(g0)2+(g1)2]
w3←w2σ2η2g2,σ2=31[(g0)2+(g1)2+(g2)2]
wk+1←wkσkηkgk,σk=k+11i=0∑k(gi)2
观察上面ηk,σk两式,发现有可约分项