梯度下降:BGD、SGD、MBGD的區別

梯度下降法分爲三種形式:批量梯度下降(Batch Gradient Descent)、隨機梯度下降(Stochastic Gradient Descent)和小批量梯度下降(Mini-Batch Gradient Descent)

  • 批量梯度下降(BGD)

每次迭代時使用所有的樣本來更新參數(速度慢,但迭代次數少;可以將所有的樣本放在一個矩陣中,實現並行計算)

僞代碼如下:

    

注:(在整個數據集上確定梯度下降的方向)當目標函數爲凸函數時,BGD一定可以達到全局最優。

  • 隨機梯度下降(SGD)

每次迭代使用一個樣本來更新參數(速度快,但是不利於實現並行操作)

 僞代碼如下(注意每次迭代時沒有求和操作,與批量梯度下降是不同的):

      

注:容易陷入局部最優。(單個樣本不能代表整體樣本的趨勢)

  • 小批量梯度下降(MBGD)

每次迭代使用一批樣本來更新參數(batch_size的選擇是一個問題)

僞代碼如下(假設batch_size的大小爲10,樣本數量爲1000):

      

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章