1. 程式人生 > >吳恩達-機器學習(10)-大資料集機器學習

吳恩達-機器學習(10)-大資料集機器學習

文章目錄

Large Scale machine learning

Learning with large datasets

當資料量非常的大的時候,我們應該從中選取少量的資料,使用我們的演算法進行計算,繪製學習曲線,如果學習曲線是左邊的時候說明演算法高方差,這時候提高資料量,就可以提高效能,如果是右邊的圖形,說明演算法高偏差,增加資料量並不會有什麼改變

Stochastic Gradient Descent

當資料量較大的時候,每一次梯度下降都會耗費大量的計算力,所以介紹隨機梯度下降
隨機梯度下降:

  1. 打亂資料
  2. 對單一的訓練樣本進行更新引數

Mini-Batch Gradient Descent

小批量隨機梯度下降介於梯度下降和隨機梯度下降之間,每次選取一定數量的樣本進行梯度下降

Stochastic Gradient Descent Convergence

只需要每次更新引數前計算損失
每一千次迭代,求最後1000樣本的損失的平均值,繪製圖像


使用隨機梯度下降,最終會在最小值附近波動
如果想要讓隨機梯度下降確實收斂到全域性最小值,可以隨著時間的變化減小學習率的值

Advanced Topics

Online Learning

當我們擁有連續的資料流,就可以使用演算法進行建模,並不斷的優化模型
以快遞公司為例,每當使用者訪問網站提交資料後,都會更新引數


其它例子

Map-reduce and data parallelism

在實際使用可能不是在一臺機器上執行機器學習演算法,這就需要了解Map-reduce
Map-reduce基本思想
在每臺機器上分別計算梯度,在結合在一起

只要演算法可以表示為訓練樣本的求和,就可以考慮使用map-reduce