Optimization algorithms优化算法

1. Mini-batch gradient descent

将训练集拆分成小批量,比如一个小批样例只有1000个训练样例


image.png

小批量梯度下降,每次只对一个小批样例进行计算

  • mini-batch的大小就等于m 这样其实就是批量梯度下降 ,在这种情况下你的mini-batch 只有一个X{1}和Y{1} 而它就等于你的整个训练集
  • 另一极端情况是把mini-batch的大小设为1,就会得到一种叫随机梯度下降的算法
image.png
  • (epoch) 遍历是指过一遍训练集 只不过在批量梯度下降法中 对训练集的一轮处理只能得到一步梯度逼近 而小批量梯度下降法中对训练集的一轮处理 也就是一次遍历 可以得到5000步梯度逼近
  • 当你有一个大型训练集时 小批量梯度下降法比梯度下降法要快得多

2. Understanding mini-batch gradient descent

image.png
image.png

3. Exponentially weighted averages

image.png

4. Understanding exponentially weighted averages

近似认为平均值数,截止到权重项影响值小于1/3时


image.png

5. Bias correction in exponentially weighted averages

  • 使之成为加权平均,消除了偏差
  • 当t值足够大时 偏差修正值对运算将基本没有影响 这也是为什么当t值增大 紫线 和绿线基本重合


    image.png

6. Gradient descent with momentum

有一种算法叫做动量(Momentum) 或者叫动量梯度下降算法 它几乎总会比标准的梯度下降算法更快 一言以蔽之 算法的主要思想是 计算梯度的指数加权平均 然后使用这个梯度来更新权重

image.png

image.png

7. RMSprop

有一个叫做RMSprop的算法 全称为均方根传递(Root Mean Square prop)它也可以加速梯度下降


image.png

8. Adam optimization

image.png
image.png

9. Learning rate decay

image.png
image.png

10. The problem of local optima

要点是

  • 首先 实际上你不太可能陷入糟糕的局部最优点 只要你训练的是一个较大的神经网络 有很多参数 代价函数J定义在一个相对高维的空间上
  • 其次 停滞区是个问题,它会让学习过程变得相当慢 这也是像动量(Momentum)算法或RmsProp算法 或Adam算法能改善你的学习算法的地方 这些场景下 更复杂的算法 比如Adam算法 可以加快沿停滞区向下移动 然后离开停滞区的速度 因为神经网络是在 非常高维的空间上解决优化问题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 你知道吗?写作和演讲已经成为当今最重要的能力了,会写作和演讲的人,可以更好地表达自己的想法,提高自己的影响力。所...
    Miriam_英英阅读 1,166评论 0 0
  • 人生的路是一步步走出来的,当你觉得很累,走不动,觉得没有尽头的时候只管一步步向前走就是了,别回头一直向前飞奔
    木小丹阅读 1,382评论 0 0
  • 【萱草芳菲 学而思 20180118 赖克林儿童情绪手册】by唐糖 今天是这本书最后一天的带读,但今天的带读给我们...
    眸眸_50ae阅读 1,445评论 0 0
  • 今天晚上陪宝贝一起写作业,先让她把今天学的东西跟我口述一遍,然后问她老师都布置了什么作业?看她有没有记住!然后再开...
    夢_2f7c阅读 1,391评论 0 2

友情链接更多精彩内容