1. 程式人生 > >機器學習筆記(十六):大規模機器學習

機器學習筆記(十六):大規模機器學習

目錄

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