Coursera机器学习 Week10 笔记
来源:互联网 发布:欧陆风云4 dlc mac 编辑:程序博客网 时间:2024/05/29 14:06
编程作业放到了github上:coursera_machine_learning
0. 是否还需要更大的数据集
一开始接触机器学习的时候,特别天真的以为,只要数据量够大,训练时间够长,一定能够训练出特别好的模型的。
但是事实并不是这样的。
在以下情况下,增大数据集是有用的,因为还没有到达饱和状态:
但是在以下情况下,增大数据集是徒劳的,因为已经达到了饱和状态:
1. 三种梯度下降法比较
1.1 Batch Gradient Descent
更新一次参数,需要求和所有数据的偏导:
这样的梯度下降,只要
但是当数据量特别大的时候,迭代将变得特别慢。
1.2 Stochastic Gradient Descent
用当前数据的偏导去更新参数,需要注意,要打乱数据集,这样收敛更快,不然的话,保持这某一种次序,可能导致梯度总向着相反方向,虽然最终可能会被拉回来,但是速度就慢了:
与Batch Gradient Descent相比,迭代的速度就快多了。
但这个方法,所需要的迭代次数可能会更多,因为每次跌代,并不一定都是向着正确的方向的,从而导致相同迭代次数下,该模型的表现比不过Batch Gradient Descent:
1.3 Mini-Batch Gradient Descent
为了综合速度和performance,提出Mini-Batch Gradient Descent。
更新一次参数,求和一部分数据的偏导,Mini-Batch的取值2~100:
2. Online Learning
在线学习的意思就是说,来一个数据,更新一次模型,相当于数据集不确定的stochastic gradient descent:
3. Map Reduce
在海量数据下,“并行计算”是解决计算速度慢的一个方法。map reduce是并行计算的一种算法,相当于在多个平行时空在对不同的数据进行同一种算法,最后再把这几个计算结果求和。
比如说对于Batch gradient descent,一次更新的计算量非常大,为了提升速度,就可以采用map reduce算法:将数据分配到各分机上,然后分别同时求和,最后,再把这4台分机上的结果求和,得到最终的结果。
- Coursera机器学习 Week10 笔记
- Coursera机器学习笔记
- Andrew Ng机器学习笔记week10 大规模机器学习
- COURSERA机器学习笔记1
- COURSERA机器学习笔记2
- Coursera机器学习 Week1 笔记
- Coursera机器学习 Week2 笔记
- Coursera机器学习 Week3 笔记
- Coursera机器学习 Week4 笔记
- Coursera机器学习 Week5 笔记
- Coursera机器学习 Week6 笔记
- Coursera机器学习 Week7 笔记
- Coursera机器学习 Week8 笔记
- Coursera机器学习 Week9 笔记
- [机器学习] Coursera ML笔记
- [机器学习] Coursera ML笔记
- Stanford 机器学习笔记 Week10 Large Scale Machine Learning
- Andrew Ng机器学习课程笔记--week10--优化梯度下降
- <C语言>printf的对齐输出
- 汪国新委员、郑桂兰董事长出席“同根同梦·2017全球华人春晚发布会”
- 数字三角形III
- 汪国新委员、郑桂兰董事长出席“同根同梦·2017全球华人春晚发布会”
- java spi示例
- Coursera机器学习 Week10 笔记
- Python3小试牛刀
- 对工程开发的一些心得
- 彩票问题总结
- 怎样写一个js插件
- JAVA实现LDAP连接验证
- jQuery选择器
- Quoit Design [散点中距离最近的两点距离][分治]
- lnmp安装mysql扩展库