大规模机器学习

一、随机梯度下降法

如果一定需要一个大规模的训练集,可以尝试使用随机梯度下降法来代替批量梯度下降法。

在随机梯度下降法中,定义代价函数为一个单一训练实例的代价:
在这里插入图片描述
随机梯度下降算法为:
1.对训练集随机“洗牌”
2.然后
在这里插入图片描述
随机梯度下降算法在每一次计算之后就更新参数θ,不需要首先将所有的训练集求和,在梯度下降算法还没有完成第一次迭代时,随机梯度下降算法就已经走出了很远。

存在的一个问题是,不是每一步都朝着“正确”的方向迈出。因此算法虽然会逐渐走向全局最小值的位置,但可能无法站到最小值的那一点,而是在最小值点附近徘徊。
在这里插入图片描述

二、小批量梯度下降

小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法,每计算常数b(通常2≤b≤100)次训练实例,就更新依次参数θ。
在这里插入图片描述
这样做的好处在于,可以用向量化的方式来循环b个训练实例。

三、随机梯度下降收敛

在随机梯度下降中,每一次更新θ之前都计算依次代价,每X次迭代后,求出这X次对训练实例计算代价的平均值,绘制这些平均值与X次迭代的次数之间的函数图表。
在这里插入图片描述
当出现颠簸不平但不明显减少的函数图像(左下图中蓝线所示)时,可以增加X使得函数更加平缓,从而看出下降趋势(左下图红线所示);如果函数图像仍然颠簸不平且不下降(如粉色线所示),可能是由于模型本身存在一些错误。

如果得到的曲线如上图右下方所示不断上升,则需要选择一个较小的学习率α。

可以令学习率随着迭代次数的增加而减小,例如:
在这里插入图片描述
随着不断的靠近全局最小值,减小学习率,迫使算法收敛而非在最小值附近徘徊。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值