0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

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

Dbwd_Imgtec ? 來源:lp ? 2019-04-19 17:03 ? 次閱讀

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

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

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

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

下圖為一個二維參數(shù)(θ0和 θ1)組對應能量函數(shù)的可視化圖:

01

批量梯度下降法BGD

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

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

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

具體的偽代碼形式為:

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

優(yōu)點:

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

缺點:

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

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

02

隨機梯度下降法SGD

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

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

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

具體的偽代碼形式為:

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

優(yōu)點:

訓練速度快;

缺點:

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

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

03

小批量梯度下降法MBGD

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

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

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.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62633
  • 梯度
    +關注

    關注

    0

    文章

    30

    瀏覽量

    10322
  • 機器學習
    +關注

    關注

    66

    文章

    8418

    瀏覽量

    132655

原文標題:梯度下降法的三種形式BGD、SGD以及MBGD

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    常見算法優(yōu)缺點比較

    梯度下降法對最小二乘法形式的誤差函數(shù)進行優(yōu)化。優(yōu)點:實現(xiàn)簡單,計算簡單;缺點:不能擬合非線性數(shù)據(jù)。4.最近鄰算法優(yōu)點:1)對數(shù)據(jù)沒有假設,準
    發(fā)表于 12-02 15:40

    分享一個自己寫的機器學習線性回歸梯度下降算法

    單變量線性回歸算法,利用Batch梯度梯度下降算法
    發(fā)表于 10-02 21:48

    回歸預測之入門

    的方法,在stanford機器學習開放課最后的部分會推導最小二乘法的公式的來源,這個很多的機器學習和數(shù)學書上都可以找到,這里就不提最小二乘法,而談談梯度下降法。 梯度
    發(fā)表于 10-15 10:19

    機器學習新手必學的三種優(yōu)化算法(牛頓法、梯度下降法、最速下降法

    用迭代的算法對優(yōu)化函數(shù)求最小值。在這種情形下,最速下降法梯度下降法相比就比較慢了。因此,最速
    發(fā)表于 05-07 08:30

    梯度下降法、牛頓法到擬牛頓法它們的聯(lián)系與區(qū)別是什么

    梯度下降法、牛頓法到擬牛頓法,淺談它們的聯(lián)系與區(qū)別
    發(fā)表于 05-21 11:06

    回歸算法有哪些,常用回歸算法(3)詳解

    隨機梯度下降估計系數(shù)。損失函數(shù)通常被定義為交叉熵項: 邏輯回歸用于分類問題,例如,對于給定的醫(yī)療數(shù)據(jù),可以使用邏輯回歸判斷一個人是否患有癌
    發(fā)表于 07-28 14:36

    TensorFlow實現(xiàn)簡單線性回歸

    ??梢詫?shù)據(jù)進行歸一化處理: 為訓練數(shù)據(jù)聲明 TensorFlow 占位符: 創(chuàng)建 TensorFlow 的權重和偏置變量且初始值為零: 定義用于預測的線性回歸模型: 定義損失函數(shù): 選擇梯度
    發(fā)表于 08-11 19:34

    基于梯度下降法和互補濾波的航向姿態(tài)參考系統(tǒng)

    針對微型無人機航向姿態(tài)參考系統(tǒng)低成本、小型化的工程實現(xiàn)需求,基于軸陀螺儀、加速度計和磁力計,提出了一在線實時姿態(tài)估計算法。該算法采用四元數(shù)描述系統(tǒng)模型,采用改進的
    發(fā)表于 11-16 10:29 ?15次下載
    基于<b class='flag-5'>梯度</b><b class='flag-5'>下降法</b>和互補濾波的航向姿態(tài)參考系統(tǒng)

    結合梯度下降法的二層搜索粒子群算法

    ,采用梯度下降法進行二次搜索,并以最優(yōu)極值點為中心、某一具體半徑設定禁忌區(qū)域,防止粒子重復搜索該區(qū)域;最后,依據(jù)種群多樣性準則生成新粒子,替代被淘汰的粒子。將二次搜索粒子群算法及其他四
    發(fā)表于 11-27 17:28 ?5次下載
    一<b class='flag-5'>種</b>結合<b class='flag-5'>梯度</b><b class='flag-5'>下降法</b>的二層搜索粒子群<b class='flag-5'>算法</b>

    機器學習中梯度下降法的過程

    梯度下降法是一個用于尋找最小化成本函數(shù)的參數(shù)值的最優(yōu)化算法。當我們無法通過分析計算(比如線性代數(shù)運算)求得函數(shù)的最優(yōu)解時,我們可以利用梯度
    發(fā)表于 04-26 16:44 ?3428次閱讀

    梯度下降算法及其變種:批量梯度下降,小批量梯度下降和隨機梯度下降

    現(xiàn)在我們討論梯度下降算法個變種,它們之間的主要區(qū)別在于每個學習步驟中計算梯度時使用的數(shù)據(jù)量
    的頭像 發(fā)表于 05-03 15:55 ?2.2w次閱讀

    掌握logistic regression模型,有必要先了解線性回歸模型和梯度下降法

    先回想一下線性回歸線性回歸模型幫助我們用最簡單的線性方程實現(xiàn)了對數(shù)據(jù)的擬合,然而,這只能完成回歸
    的頭像 發(fā)表于 06-04 11:31 ?7601次閱讀
    掌握logistic regression模型,有必要先了解<b class='flag-5'>線性</b><b class='flag-5'>回歸</b>模型和<b class='flag-5'>梯度</b><b class='flag-5'>下降法</b>

    機器學習優(yōu)化算法梯度下降,牛頓法和擬牛頓法的優(yōu)缺點詳細介紹

    梯度下降法實現(xiàn)簡單,當目標函數(shù)是凸函數(shù)時,梯度下降法的解是全局解。一般情況下,其解不保證是全局最優(yōu)解,梯度
    的頭像 發(fā)表于 08-04 11:40 ?5.2w次閱讀

    各種梯度下降法是如何工作的

    導讀一圖勝千言,什么?還是動畫,那就更棒啦!本文用了大量的資源解釋各種梯度下降法(gradient descents),想給大家直觀地介紹一下這些方法是如何工作的。
    的頭像 發(fā)表于 08-17 11:50 ?1119次閱讀

    梯度下降法在機器學習中的應用

    梯度下降法沿著梯度的反方向進行搜索,利用了函數(shù)的一階導數(shù)信息。
    的頭像 發(fā)表于 05-18 09:20 ?1384次閱讀
    <b class='flag-5'>梯度</b><b class='flag-5'>下降法</b>在機器學習中的應用