当前位置:   article > 正文

机器学习基础篇-梯度下降_dj(w)/dw

dj(w)/dw

梯度下降

梯度下降,是一种寻找目标函数局部极小值的方法(甚至全局,这取决于目标函数是否为凸函数)。在机器学习中所谓的目标函数,就是我们所求得的损失函数J(w)。

Repeat iteration{
    W := W - learning_rate * dJ(W)/dW
}
  • 1
  • 2
  • 3

通过梯度下降的方法,对目标函数中的参数w进行不断迭代更换,是的Loss值趋近于极小值,从而达到拟合目标值,优化模型的目的。
通常,我们会不断调整学习率α,从而调整梯度更新的步长大小。

α优缺点
小;优点更小的学习率能让模型的精度更高,收敛更加平稳
小;缺点精度提高的同时会带来过拟合的风险;除此之外,如果学习的轮数不够,有可能会陷入局部最优点
大 ;优点更大的函数能让目标函数更快的收敛,不易过拟合
大 ;缺点收敛过程会震荡,导致错过目标函数最优点

上式中dJ(W)/dW是参数w的梯度公式,如果w是一个参数矩阵(权重),那么dJ(W)/dW就是每个参数的梯度矩阵。

为什么求目标函数极小值的时候是减小梯度,而不是增加梯度呢?
答:假设我们的损失函数为J(w) = 0.1(w-5)^2,其函数走向如下图所示:
在这里插入图片描述
当W=10时,损失函数的值可求得为:
J ( w ) = 0.1 ∗ ( 10 − 5 ) 2 = 2.5 J(w) = 0.1*(10-5)^2 = 2.5 J(w)=0.1(105)2=2.5
根据图中显示,此时还未到达最低点,我们就需要对w进行迭代(。当w=10时,由梯度公式可求得:
d J ( w ) d w = 0.1 ∗ 2 ∗ ( 10 − 5 ) = 1 \frac{dJ(w)}{dw} = 0.1*2*(10-5) = 1 dwdJ(w)=0.12(105)=1
将梯度公式求得的值代入迭代公式中,即(此处学习率为0.1)
w = w − α ∗ d J ( w ) d w = 10 − 0.1 ∗ 1 = 9.9 w = w - α *\frac{dJ(w)}{dw} = 10 - 0.1*1 = 9.9 w=wαdwdJ(w)=100.11=9.9
此时的目标函数值为
J ( w ) = 0.1 ∗ ( 9.9 − 5 ) 2 = 2.401 J(w) = 0.1*(9.9-5)^2 = 2.401 J(w)=0.1(9.95)2=2.401
显然,初始参数w减去梯度后,目标函数值变得更小了。如此多轮迭代,w会不断减小,目标函数J(w)也会趋近于极小值。但是需要注意的是,有时会陷入局部最优点。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/135746
推荐阅读
相关标签
  

闽ICP备14008679号