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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

以線性回歸算法來(lái)對(duì)三種梯度下降法進(jìn)行比較

Dbwd_Imgtec ? 來(lái)源:lp ? 2019-04-19 17:03 ? 次閱讀

在應(yīng)用機(jī)器學(xué)習(xí)算法時(shí),我們通常采用梯度下降法來(lái)對(duì)采用的算法進(jìn)行訓(xùn)練。其實(shí),常用的梯度下降法還具體包含有三種不同的形式,它們也各自有著不同的優(yōu)缺點(diǎn)。

下面我們以線性回歸算法來(lái)對(duì)三種梯度下降法進(jìn)行比較。

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

對(duì)應(yīng)的能量函數(shù)(損失函數(shù))形式為:

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

01

批量梯度下降法BGD

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

(1) 對(duì)上述的能量函數(shù)求偏導(dǎo):

(2) 由于是最小化風(fēng)險(xiǎn)函數(shù),所以按照每個(gè)參數(shù)θ的梯度負(fù)方向來(lái)更新每個(gè) θ :

具體的偽代碼形式為:

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

優(yōu)點(diǎn):

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

缺點(diǎn):

當(dāng)樣本數(shù)目很多時(shí),訓(xùn)練過(guò)程會(huì)很慢。

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

02

隨機(jī)梯度下降法SGD

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

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

利用每個(gè)樣本的損失函數(shù)對(duì)θ求偏導(dǎo)得到對(duì)應(yīng)的梯度,來(lái)更新 θ :

具體的偽代碼形式為:

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

優(yōu)點(diǎn):

訓(xùn)練速度快;

缺點(diǎn):

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

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

03

小批量梯度下降法MBGD

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

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

4. 總結(jié)

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)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61967
  • 梯度
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10291
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131841

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常見(jiàn)算法優(yōu)缺點(diǎn)比較

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

    分享一個(gè)自己寫的機(jī)器學(xué)習(xí)線性回歸梯度下降算法

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

    回歸預(yù)測(cè)之入門

    的方法,在stanford機(jī)器學(xué)習(xí)開(kāi)放課最后的部分會(huì)推導(dǎo)最小二乘法的公式的來(lái)源,這個(gè)來(lái)很多的機(jī)器學(xué)習(xí)和數(shù)學(xué)書上都可以找到,這里就不提最小二乘法,而談?wù)?b class='flag-5'>梯度下降法梯度
    發(fā)表于 10-15 10:19

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

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

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

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

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

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

    TensorFlow實(shí)現(xiàn)簡(jiǎn)單線性回歸

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

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

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

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

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

    機(jī)器學(xué)習(xí)中梯度下降法的過(guò)程

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

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

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

    掌握l(shuí)ogistic regression模型,有必要先了解線性回歸模型和梯度下降法

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

    機(jī)器學(xué)習(xí)優(yōu)化算法梯度下降,牛頓法和擬牛頓法的優(yōu)缺點(diǎn)詳細(xì)介紹

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

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

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

    梯度下降法在機(jī)器學(xué)習(xí)中的應(yīng)用

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