Answers:
梯度下降在每个步骤都会更新所有参数。您可以在更新规则中看到以下内容:
由于损失函数的梯度是向量值,且维的大小与匹配,因此每次迭代都会更新所有参数。
学习率是一个正数,可重新缩放梯度。迈出太大一步会无休止地使您跨过损失表面,而损失功能却没有得到改善。太小的步长可能意味着乏味地缓慢地朝着最佳方向前进。
w1
,w2
或者学习率/收缩是多少,而偏导数仅提供下降的方向?
当优化确实通过偏导数发生时,它每次都会改变w1和w2,或者是像几次迭代中那样的组合,只有w1发生了变化,而w1并没有进一步减小误差,则导数从w2开始-至达到当地的最低要求?
在每次迭代中,该算法将基于梯度矢量同时更改所有权重。实际上,梯度是一个向量。渐变的长度与模型中权重的数量相同。
另一方面,确实存在一次更改一个参数的情况,这称为坐标体面算法,这是一种无梯度优化算法。实际上,它可能不如基于梯度的算法那样有效。
这是有关无梯度算法的有趣答案
梯度下降的目的是最小化成本函数。通过针对您的案例w1和w2调整权重,可以实现这种最小化。通常,可以有n个这样的权重。
梯度下降可通过以下方式完成:
而更新权重(W1或W2)改变的权重完全由梯度决定。所有权重都会更新(某些权重可能不会随渐变而改变)。
sklearn
)或R包(例如)中应用了默认值caret
?用户只能在手动创建的梯度下降函数中指定它吗?
w1
,减小w2
,只是为了确认算法不一定总是给出全局最小值?