更多专业的人工智能相关文章,微信搜索 : robot-learner , 或扫码
梯度下降并不是一种机器学习算法,而是在通过最小化损失函数从而获得最佳参数的过程中常用的一种技术手段。微积分理论告诉我们,梯度为函数在变量空间中任意一点变化率最大的方向导数,即函数沿着梯度方向函数有最大的变化率。而当函数达到最小化值时候,所对应的导数值为0。既然函数沿着梯度方向具有最大的变化率,那么在最小化目标函数时候,我们应该沿着负梯度方向去减小函数值。重复这一过程,直到函数值不再发生明显的变化,则说明已经达到了我们的优化目标。
首先,对于n个维度的变量函数,梯度就是偏导数的集合,如下所示:
根据向量运算法则,我们沿着负梯度方向进行迭代搜索,直到函数值不再发生较大的变化(根据事先设定的阈值)或者迭代次数达到事先规定的阈值。在每一次迭代搜索中,变量的随着梯度变化形式如下:
其中θ被称为步长,用于控制变量空间的优化速度。