版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhq9695/article/details/83037855
目录
1. Stochastic Gradient Descent
2. Mini-batch Gradient Descent
学习完吴恩达老师机器学习课程的大规模机器学习,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~
0. 前言
已知梯度下降算法 ,当数据集 很大时,每一次更新 所需的时间很长,何况需多次迭代,所需时间太久。所以对此优化,有以下几种优化方法:
- Stochastic gradient descent
- Mini-batch gradient descent
- MapReduce
1. Stochastic Gradient Descent
Stochastic gradient descent(随机梯度下降)的算法流程如下:
易得,算法先根据 对 优化,然后根据 对 优化,依次优化至 ,与 Batch gradient descent 每次优化使用全部数据集不同。
扫描二维码关注公众号,回复:
3563540 查看本文章
注:算法不像Batch gradient descent每次优化都朝向梯度下降最大的地方移动,而是迂回的移动至一个接近全局最小值的值。
,可使得学习率随时间的增加而减少,即每次移动的步长越来越小,尽可能接近最小值。
2. Mini-batch Gradient Descent
- Batch gradient descent:每次优化时,使用 个数据
- Stochastic gradient descent:每次优化时,使用 个数据
- Mini-batch gradient descent:每次优化时,使用 个数据( 为 mini-batch size),一般取2-10
Mini-batch gradient descent 的算法表示为:
3. MapReduce
MapReduce 算法的思想是,将数据分布式计算,然后再汇总起来。
例如, , ,有四台计算机,可将数据集划分为四份:
- Machine 1:
- Machine 2:
- Machine 3:
- Machine 4:
四台计算机分别计算,然后汇总
4. 在线学习(online learning)
在线学习算法是指,对于一个成型的模型,每次有新的数据来临时,对参数进行更新,更新之后丢弃这个数据,因为不断有新的数据来临,所以不是用整个数据集一次性进行更新参数。
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~