大规模机器学习
大型数据集的学习(Laerning with Large Datasets)
- 面对庞大的数据集,以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和,如果我们的学习算法需要有20次迭代,这便已经是非常大的计算代价。如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果,我们应该如何选择?
- 首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。
随机梯度下降(Stochastic Gradient Descent)
-
随机梯度下降: 对每个数据分开处理,对一个数据更新所有的参数 θ \theta θ。
- c o s t ( θ , ( x ( i ) , y ( i ) ) ) = 1 2 ( h θ ( x ( i ) ) − y ( i ) ) 2 cost(\theta,(x^{(i)},y^{(i)}))=\cfrac{1}{2}(h_\theta(x^{(i)})-y^{(i)})^2 cost(θ,(x(i),y(i)))=21(<