机器学习笔记(十六):大规模机器学习

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/cg129054036/article/details/84961671

目录

1)Learning with large datasets

2)Stochastic gradient descent

3)Mini-batch gradient descent

4)Stochastic gradient descent convergence

1)Learning with large datasets

回顾一下我们之前提到的这句话:

对于机器学习,我们首先都要考虑我们是否需要更多的数据,看一下我们的学习曲线:

2)Stochastic gradient descent

之前我们介绍的梯度下降算法用到的是整个训练集,计算量很大,我们可以尝试使用随机梯度下降算法SGD。下图是我们的批量梯度下降算法:

我们来看看随机梯度下降算法与批量梯度下降算法的对比:

随机梯度下降算法是:

1)单一样本代价函数:

cost(\theta,(x^{(i)},y^{(i)}))=\frac{1}{2}(h_{\theta}(x^{(i)})-y^{(i)})^2

2)随机打乱数据集;

3)重复m次;计算梯度,不需要对所有训练集进行求和。一般迭代10次。

\theta_j:=\theta_j-\alpha(h_{\theta}(x^{(i)})-y^{(i)})x^{(i)}_j

3)Mini-batch gradient descent

下面是批量梯度下降,随机梯度下降,小批量梯度下降算法对训练集的对比:

下面是小批量梯度下降算法:一般迭代20次。

4)Stochastic gradient descent convergence

猜你喜欢

转载自blog.csdn.net/cg129054036/article/details/84961671