梯度下降与反向传播算法的原理与推导
梯度下降算法是机器学习中最常用的优化算法之一,它可以求得目标函数的最小值,即算法的最优解。而对于复杂的多层神经网络来说,运用梯度下降算法十分复杂,因为其包含求导过程,为此学者将多层神经网络的优化问题简化为反向传播过程,也就是说,将目标函数(输出误差项)层层传递回输入层,求出每个节点的误差项,并根据每个节点的误差项更新各个权值。首先我们复习梯度下降算法,然后详细推导反向传播算法的原理。
梯度下降算法
我们的目标是优化目标函数,即求得目标函数的最小值,根据微积分的知识,求导数为0的点即是极值点。不过计算机可不会解方程,但是它可以凭借强大的计算能力,一步一步的去把函数的极值点『试』出来。
那怎么保证快速地朝下降的方向走到局部最低点呢?这里的奥秘在于,我们每次都是向函数的梯度相反方向走的。梯度是一个向量,它指向函数值上升最快的方向。显然,梯度的反方向当然就是函数值下降最快的方向了。我们每次沿着梯度相反方向去修改的值,当然就能走到函数的最小值附近。
梯度下降算法计算如下:
共有 0 条评论