3. 机器学习中为什么需要梯度下降_随机梯度下降(SGD)

当谈论到机器学习基本算法当时候,随机梯度下降算法应该是最常用的算法了。

梯度下降(GD)

如果想理解随机梯度下降,先简单复习下梯度下降吧:

4a239f5ac546d974c5d055261286e0dd.png

梯度下降

如上图,梯度(Gradient)是指在J(w)函数某一点的导数,然后沿着导数向下的方向小步移动w坐标,直到达到J(w)函数的底部,这就是梯度下降,在机器学习中,J(w)一般是指损失函数。下面的图更是形象:

ab9d09e5042d786de73a6340bbe4f834.png

梯度下降

x0沿着下降最快的方向到达了x1,x1沿着最快的方向到达了x2、、、、一直到位于中间的区域。

随机梯度下降(SGD)

随机梯度下降就是从大量数据样本中,抽出来一些数据以便于对损失函数的梯度进行计算。

为什么有了GD还需要SGD呢?当然是有理由的:

1.更能有效的利用数据

如果是用GD,每一次迭代都需要进行n个sample梯度的计算,如下:

b38b9854d75c8d40ad1a9141a4abd9c3.png

梯度每下降一次,计算n次梯度

而SGD每下降一次,只需要选择其中更少的sample进行计算,然后迭代:

94d3a816eae10a913c161aa2a76c5896.png

每下降一次,随机选择某些sample的梯度

2.第二点就是迭代性能更好,可以看下图

232b2cb8460479047a1fe2daf8152093.png

可以看到,SGD收敛的速度是比GD快的。当然,里面有太多细节了,这个后面看来要出一个系列了,每天学习一点点总比一口吃个胖子强

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值