梯度下降算法對比(批量下降/隨機下降/mini-batch)


大規模機器學習:

 

 

 

線性回歸的梯度下降算法:Batch gradient descent(每次更新使用全部的訓練樣本)

 

批量梯度下降算法(Batch gradient descent):

每計算一次梯度會遍歷全部的訓練樣本,如果訓練樣本的比較多時,內存消耗過大。

 

隨機梯度下降算法:

1、 首先將隨機打亂的訓練樣本數據

2、 外循環:(一般2—10次即可,若內循環中次數100000以上,則一次即可)

內循環:遍歷所有的訓練樣本,每次梯度下降時使用一個樣本計算梯度。

與批量梯度像算法相比,其下降曲線不停,圖中右側紅色表示批量梯度下降算法,洋紅表示隨機梯度下降算法。

 

Mini-Batch梯度下降算法

1、 設置每次遍歷的樣本數b

2、 外循環:

內循環:遍歷所有的樣本,每b個樣本更新一次梯度

 

 

對比:

批量下降:每次梯度更新使用全部的樣本

隨機下將:每次梯度更新使用1個樣本

Mini-batch:每次梯度更新使用b個樣本,b>1,小於全部的樣本數。

 

隨機梯度下降算法的收斂:

1、 在更新梯度前計算損失函數:

2、 比如:繪制損失函數的曲線每1000個樣本

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM