在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁 > 博客 > [Machine Learning] 梯度下降法的三種形式BGD、SGD以及MBGD

            [Machine Learning] 梯度下降法的三種形式BGD、SGD以及MBGD

            發(fā)布人:數(shù)據(jù)派THU 時間:2021-11-11 來源:工程師 發(fā)布文章

            來源:信息網(wǎng)絡工程研究中心

            1. 批量梯度下降法BGD

            2. 隨機梯度下降法SGD

            3. 小批量梯度下降法MBGD

            4. 總結

            在應用機器學習算法時,我們通常采用梯度下降法來對采用的算法進行訓練。其實,常用的梯度下降法還具體包含有三種不同的形式,它們也各自有著不同的優(yōu)缺點。

            下面我們以線性回歸算法來對三種梯度下降法進行比較。

            一般線性回歸函數(shù)的假設函數(shù)為:

            image.png

            對應的能量函數(shù)(損失函數(shù))形式為:

            image.png 

            下圖為一個二維參數(shù)1636633720766295.png組對應能量函數(shù)的可視化圖:

            image.png

            1. 批量梯度下降法BGD

            批量梯度下降法(Batch Gradient Descent,簡稱BGD)是梯度下降法最原始的形式,它的具體思路是在更新每一參數(shù)時都使用所有的樣本來進行更新,其數(shù)學形式如下:

            (1) 對上述的能量函數(shù)求偏導:

            image.png

            (2) 由于是最小化風險函數(shù),所以按照每個參數(shù)θ梯度負方向來更新每個θ

            image.png

            具體的偽代碼形式為:

              repeat{    

              image.png

                   ?。╢or every j=0, ... , n)

              }

            從上面公式可以注意到,它得到的是一個全局最優(yōu)解,但是每迭代一步,都要用到訓練集所有的數(shù)據(jù),如果樣本數(shù)目m大,那么可想而知這種方法的迭代速度!所以,這就引入了另外一種方法,隨機梯度下降。

            優(yōu)點:全局最優(yōu)解;易于并行實現(xiàn);

            缺點:當樣本數(shù)目很多時,訓練過程會很慢。

            從迭代的次數(shù)上來看,BGD迭代的次數(shù)相對較少。其迭代的收斂曲線示意圖可以表示如下:

            image.png

            2. 隨機梯度下降法SGD

            由于批量梯度下降法在更新每一個參數(shù)時,都需要所有的訓練樣本,所以訓練過程會隨著樣本數(shù)量的加大而變得異常的緩慢。隨機梯度下降法(Stochastic Gradient Descent,簡稱SGD)正是為了解決批量梯度下降法這一弊端而提出的。

            將上面的能量函數(shù)寫為如下形式:

            image.png

            利用每個樣本的損失函數(shù)對θ偏導得到對應的梯度,來更新θ:

            image.png

            具體的偽代碼形式為:

              1. Randomly shuffle dataset;

              2. repeat{

                for i=1, ... ,m{

                  image.png

                   (for j=0, ... ,n)

                }

              }

            隨機梯度下降是通過每個樣本來迭代更新一次,如果樣本量很大的情況(例如幾十萬),那么可能只用其中幾萬條或者幾千條的樣本,就已經(jīng)將theta迭代到最優(yōu)解了,對比上面的批量梯度下降,迭代一次需要用到十幾萬訓練樣本,一次迭代不可能最優(yōu),如果迭代10次的話就需要遍歷訓練樣本10次。但是,SGD伴隨的一個問題是噪音較BGD要多,使得SGD并不是每次迭代都向著整體最優(yōu)化方向。

            優(yōu)點:訓練速度快;

            缺點:準確度下降,并不是全局最優(yōu);不易于并行實現(xiàn)。

            從迭代的次數(shù)上來看,SGD迭代的次數(shù)較多,在解空間的搜索過程看起來很盲目。其迭代的收斂曲線示意圖可以表示如下:

            image.png

            3. 小批量梯度下降法MBGD

            由上述的兩種梯度下降法可以看出,其各自均有優(yōu)缺點,那么能不能在兩種方法的性能之間取得一個折中呢?即,算法的訓練過程比較快,而且也要保證最終參數(shù)訓練的準確率,而這正是小批量梯度下降法(Mini-batch Gradient Descent,簡稱MBGD)的初衷。

            MBGD在每次更新參數(shù)時使用b個樣本(b一般為10),其具體的偽代碼形式為:

              Say b=10, m=1000.

              Repeat{

                for i=1, 11, 21, 31, ... , 991{

            image.png

                (for every j=0, ... ,n)

                }

              }

            4. 總結

            Batch gradient descent: Use all examples in each iteration;

            Stochastic gradient descent: Use 1 example in each iteration;

            Mini-batch gradient descent: Use b examples in each iteration.

            *博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



            關鍵詞: 深度學習

            相關推薦

            技術專區(qū)

            關閉