机器学习基础篇-梯度下降

本文详细介绍了梯度下降法在机器学习中的应用,用于寻找损失函数的局部极小值。通过迭代更新参数,梯度下降能够帮助优化模型,但学习率的选择至关重要。小学习率可能导致过拟合,大学习率则可能错过最优解。在实际操作中,需要找到合适的平衡点,确保模型既能有效收敛又不会过度拟合。
摘要由CSDN通过智能技术生成

梯度下降

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

Repeat iteration{
    W := W - learning_rate * dJ(W)/dW
}

通过梯度下降的方法,对目标函数中的参数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)也会趋近于极小值。但是需要注意的是,有时会陷入局部最优点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Wiggles

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值