感知学习率

数据挖掘 神经网络 感知器
2022-02-27 22:01:25

我不明白下面的陈述:

学习率 m 的选择无关紧要(对于感知器),因为它只是改变了 w(权重)的缩放比例。维基百科引用的带有此声明的站点。

对于错误情况,感知器的更新规则是如果对权重向量的更新是加法或减法,它怎么能只缩放权重呢?w±x

2个回答

经过一番研究,我想出了答案,如果有人也觉得它有帮助,我想与人们分享。Perceptron 的损失函数是铰链损失或

J(w)=max(0,ywTx)

向损失函数添加一个常数不会改变函数值,因为它不会改变决策的符号。换句话说

J2(w)=max(0,αywTx)=J(w)

如果我们使用进行梯度下降,我们有J2

(J2)/(w)=0,如果J2=0

(J2)/(w)=αyx,否则。

所以梯度下降的更新函数为

wnew=wold±αx

只要,它就不会在任何步骤中改变感知器的决策。这就是为什么对于 Perceptron,您只需将学习率设置为 1。α>0

具体回答这个问题,当人们说“学习率只缩放 ”时,他们指的是而不是wJ2(w)=max(0,αywTx)wnew=wold±αx

我发现非常有用的一个相关问题是 在感知器收敛的上限中归一化最终权重向量

学习率调节梯度下降算法的每一步t

可以将其设置为任意数量是不正确的,这与事实相去甚远。太小的学习率永远不会让你的机器学习模型收敛到最小值,而太大的学习率会导致你的模型参数在可能的最小值附近振荡。

我在这里更详细地回答了基本梯度下降算法如何受到学习率选择的影响,然后我提出了一些更好的替代方法:自适应学习优化器是否遵循最陡峭的体面?.

更多细节

更准确地说,梯度下降的更新规则是

wt+1=wt+mJ(w)

其中是学习率,m

J(w)=12(yy^)2

是成本函数。因此,它不会在乘法意义上缩放权重,但它确实缩放了权重在算法的每个步骤中将经历的校正。