对于学习率,想说的不多,因为理解起来很容易。
学习率就是一个常量,如果用在 梯度下降 Gradient Descent 里的话,一般为一个 0-1 之间的常数值。
而学习率理解起来,就是你每一步梯度下降的大小。就像一个人要下山,步子迈的大下的就快,而步子迈的小下山必然慢。如图1所示:
那很自然的提出一个问题,步子大好还是小好?
还拿下山举例,步子迈的太小会有什么坏处呢?太慢了,每一步一厘米你可能得几年才到山底;而步子太大有啥坏处?不知道读者小时候有没有调皮过,从山上或者有坡度的地方冲下去,会发现需要很长的距离才停下。而如果山的对面还是山,那么你就极有可能冲上那座山的半山腰。
有句古话,“步子迈的大容易抻着腰”,就是这个道理。
所以,我们该怎么办呢?
其实这个问题古人就已经回答了:“凡是要有度”。
在梯度下降中,试想最简单的情景,即 b=0,且只有一个 w,那么 cost function 关于 w 的方程曲线就是:
w
=
w
−
α
d
d
w
J
(
w
,
b
)
w = w- α\frac{d}{dw} J(w,b)
w=w−αdwdJ(w,b)
其中,可以将 w 定义为自变量,α 为学习率,即常数;J 为损失函数 cost function。
通过梯度下降,我们最终找到了目标,也就是J损失为最小时的系数w。
而若“步子”迈的大,会有什么缺点?步子迈的小又会怎样呢?
一般来说,learning rate 的取值为0-1之间,可以选择从0.01开始进行尝试。
end —>