第10周 Lecture 17 大量數(shù)據(jù)機器學習
- 隨機梯度下降(stochastic gradient descent)
步驟:
a.)訓練數(shù)據(jù)重新隨機排列(Randomly shuffle(reorder) training examples)
b.) 算法描述
//1 - 10 次
// (for every j=0, ...,n)
和正常的梯度下降比起來,下降是隨機的,但是最后還是可以到最低點,但這個不需要每下降一步都對所有訓練數(shù)據(jù)重新計算,所以速度會快很多。
image.png
c.) 對比批量梯度下降(batch gradient descent)
// (for every j=0, ...,n)
- 小批量梯度下降(Mini gradient descent)
- Batch gradient descent: 每一步使用所有的訓練集
- stochastic gradient descent: 每一步使用1個訓練集
- Mini gradient descent: 每一步使用b個訓練集
算法描述:
// (for every j=0, ...,n)
- 隨機梯度算法如何知道在收斂
- 建議每1000次,計算一次代價函數(shù),畫出曲線,是否收斂
- 隨著運算次數(shù),減少學習率(
),例如
image.png
- 在線學習(online learning)
- 每天的數(shù)據(jù)都比較大,按每天的數(shù)據(jù)重新計算
-
CTR 點擊率預測學習 learning the predict
image.png
image.png
- Map-reduce and data parallelism
把數(shù)據(jù)分在不同的機器同時進行計算,完成計算后,再求和
例如對于梯度下降
把400條數(shù)據(jù)分成4份,每份100條,分在4臺機器同時運行,4臺完成后,再求和。只要算法可以拆分
其中對于機器1
合并后
image.png




