美文网首页
哲哲的ML笔记(三十三:批量、随机梯度、小批量梯度下降)

哲哲的ML笔记(三十三:批量、随机梯度、小批量梯度下降)

作者: 沿哲 | 来源:发表于2021-05-10 19:32 被阅读0次

    随机梯度下降

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

    从下图中可以看出,
    批量梯度下降在一轮iteration中使用了所有m个样本
    随机梯度下降在一轮iteration中使用了1个样本


    随机梯度下降算法为:

    1. 对训练集随机“洗牌”,
    2. Repeat

    随机梯度下降算法在每一次计算之后便更新参数\theta ,而不需要首先将所有的训练集求和,在梯度下降算法还没有完成一次迭代时,随机梯度下降算法便已经走出了很远。但是这样的算法存在的问题是,不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。

    小批量

    小批量梯度下降在一轮iteration中使用了b个样本
    通常我们会令b 在 2-100 之间。这样做的好处在于,我们可以用向量化的方式来循环b个训练实例

    在批量梯度下降中,我们可以令代价函数J为迭代次数的函数,绘制图表,根据图表来判断梯度下降是否收敛。但是,在大规模的训练集的情况下,这是不现实的,因为计算代价太大了。
    在随机梯度下降中,我们在每一次更新\theta之前都计算一次代价,然后每次迭代后,求出这x次对训练实例计算代价的平均值,然后绘制这些平均值与次迭代的次数之间的函数图表。

    我们可以令学习率随着迭代次数的增加而减小
    \alpha=\frac{const1}{iterationNumber+const2}
    随着我们不断地靠近全局最小值,通过减小学习率,我们迫使算法收敛而非在最小值附近徘徊。

    相关文章

      网友评论

          本文标题:哲哲的ML笔记(三十三:批量、随机梯度、小批量梯度下降)

          本文链接:https://www.haomeiwen.com/subject/swtidltx.html