作者|Renu Khandelwal 编译|VK 来源|Medium
什么是梯度下降?
梯度下降法是一种减少成本函数的迭代机器学习优化算法,使我们的模型能够做出准确的预测。
成本函数(C)或损失函数度量模型的实际输出和预测输出之间的差异。成本函数是一个凸函数。
为什么我们需要梯度下降?
在神经网络中,我们的目标是训练模型具有最优的权值(w)来进行更好的预测。
我们用梯度下降法得到最优权值。
如何找到最优的权值?
这可以用一个经典的登山问题来最好地解释。
在登山问题中,我们想要到达一座山的最低点,而我们的能见度为零。
我们不知道我们是在山顶上,还是在山的中间,还是非常接近底部。
我们最好的选择是检查我们附近的地形,并确定我们需要从哪里下降到底部。我们需要迭代地做这件事,直到没有更多的下降空间,也就是我们到达底部的时候。
我们将在稍后的文章中讨论,如果我们觉得已经到达了底部(局部最小值点),但是还有另一个山的最低点(全局最小值点),我们可以做什么。
梯度下降法帮助我们从数学上解决了同样的问题。
我们将一个神经网络的所有权值随机初始化为一个接近于0但不是0的值。
我们计算梯度,∂c/∂ω,它是成本相对于权重的偏导数。
α是学习率,有助于对梯度下降法调整权重