美文网首页Deep LearningData Scientist
【课程笔记】2.2 优化算法

【课程笔记】2.2 优化算法

作者: 章光辉_数据 | 来源:发表于2017-11-12 01:43 被阅读7次

    背景音乐:fish in the pool - ヘクとパスカル

    学习计划:Deeplearning.ai学习计划

    为什么要用优化算法

    在大数据时代,数据的规模越来越大,训练模型的时间也越来越长,简单的梯度下降法已经不能满足我们的需求。

    因此选用合适的优化算法,能够帮助你更快地训练模型。

    Mini-batch梯度下降法

    优势

            在训练巨大的数据集的时候都会用到的一个技巧,比普通的梯度下降法(又称为Batch梯度下降法)运行更快。

    原理

            将数据集(包括总共m个训练样本)拆分成若干个子训练集,每个子训练集只经过少数几次迭代,遍历所有训练集,直到最后收敛到想要的精度。

    理解

            子训练集的大小是一个重要的参数。特别地,子训练集的大小为m时(相当于只有一个子训练集),就是Batch梯度下降法,训练比较久;大小为1时(相当于每个样本都是独立的子训练集),就是随机梯度下降法,训练很快,但是失去了向量化带来的好处。Mini-batch介于两者之间。

            而选择哪种梯度下降法主要由数据的规模决定,规模小(小于2000个样本)的话用Batch梯度下降法,否则用Mini-batch梯度下降法会比较合适。然后每个子训练集的大小(推荐为2的倍数,一般为2^6至2^9次之间)也需要去尝试,从而让梯度下降法更加高效。

    补充说明

            由于子训练集都是随机选择的,因此每次迭代后的代价函数虽然整体走势是往下的,但是有大量噪音,不过不要紧。

    参考资料:深度机器学习中的batch的大小对学习效果有何影响? - 知乎

    待续……

    相关文章

      网友评论

        本文标题:【课程笔记】2.2 优化算法

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