机器学习(Large Scale Machine Learning)"/>
大规模机器学习(Large Scale Machine Learning)
本博客是针对Andrew Ng在Coursera上的machine learning课程的学习笔记。
- 在大数据集上进行学习Learning with Large Data Sets
- 随机梯度下降Stochastic Gradient Descent
- 小堆梯度下降Mini-Batch Gradient Descent
- 保证随机GD的收敛与学习速率的选择
- 在线学习Online Learning
- Map Reduce 和 数据并行化
在大数据集上进行学习(Learning with Large Data Sets)
由于机器学习系统的性能表现往往要求其算法是low biased(在训练集上的训练误差小),并且在尽可能大的数据集上做训练。
It's not who has the best algorithm that wins. It's who has the most data.
比如对于一般线性回归或者logistic回归,有如图的参数迭代更新的公式,假设我们如果有一百万个训练样本(m=100,000,000),则每一次更新参数都需要做一百万次的加和,那么计算量就很大。另外,对于high bias的算法学习曲线(如下图的靠右图),此时增加样本数量也不太可能减少误差,可能合适地增加输入特征才是更有效的。而如左边的情况high variance,用更大的数据集是更有效的。
随机梯度下降(Stochastic Gradient Descent)
由于之前讲的梯度下降(又称Batch Gradient Descent)在样本量大时计算量非常大,更新速度会很慢,为了避免这个问题,我们可以采用随机梯度下降。
具体做法是:
更多推荐
大规模机器学习(Large Scale Machine Learning)
发布评论