初探梯度下降之隨機梯度下降(SGD)

看了一下前一篇 是半個月前了~過了個年 生了個病 就發(fā)現(xiàn)攤久了就真的成為惰性 很舒服了…今早不想看教資的時候 就去校正了一下論文 看到隨機梯度下降算法 那就再來記錄一下 也算是假期最后一更啦 接下來要等9號考完試 再更辣盖桥!

隨機梯度下降算法

先解釋一些概念屠升。

1.什么是梯度下降

我們先從一張圖來直觀解釋這個過程馒胆。


如上圖假設這樣一個場景:一個人被困在山上消返,需要從山上下來,但此時山上的濃霧很大劣领,導致可視度很低姐军。因此,下山的路徑就無法確定尖淘,他必須利用自己周圍的信息去找到下山的路徑奕锌。這個時候,他就可以利用梯度下降算法來幫助自己下山村生。具體來說就是惊暴,以他當前的所處的位置為基準,尋找方向趁桃,然后朝著山的高度下降的地方走辽话。
但是因為選擇方向的原因,我們找到的的最低點可能不是真正的最低點卫病。如圖所示油啤,黑線標注的路線所指的方向并不是真正的地方。
那么問題來了蟀苛?
既然是選擇一個方向下山益咬,那么這個方向怎么選?每次該怎么走屹逛?
先說選方向础废,在算法中是以隨機方式給出的,這也是造成有時候走不到真正最低點的原因罕模。如果選定了方向评腺,以后每走一步,都是選擇最陡的方向淑掌,直到最低點蒿讥。
總結(jié)起來就一句話:隨機選擇一個方向,然后每次邁步都選擇最陡的方向抛腕,直到這個方向上能達到的最低點芋绸。

其實梯度下降的過程即可類比與上述描述的下山的過程
我們可以這樣理解:首先担敌,我們有一個可微分的函數(shù)摔敛。這個函數(shù)就代表著一座山。我們的目標就是找到這個函數(shù)的最小值全封,也就是山底马昙。最快的下山的方式就是找到當前位置最陡峭的方向,然后沿著此方向向下走刹悴,對應到函數(shù)中行楞,就是找到給定點的梯度,然后朝著梯度相反的方向土匀,就能讓函數(shù)值下降的最快子房!因為梯度的方向就是函數(shù)之變化最快的方向。
所以就轧,我們重復利用這個方法证杭,反復求取梯度,最后就能到達局部的最小值钓丰,這就類似于我們下山的過程躯砰。

2.那什么是梯度?求取梯度有什么用?

還是從例子入手:


上圖就是一個求梯度的實例携丁,由這個實例我們可以看到琢歇,梯度就是分別對每個變量進行微分,然后用逗號分割開梦鉴,梯度是用<>包括起來李茫,說明梯度其實一個向量。
在單變量的函數(shù)中肥橙,梯度其實就是函數(shù)的微分魄宏,代表著函數(shù)在某個給定點的切線的斜率;在多變量函數(shù)中存筏,梯度是一個向量宠互,向量有方向味榛,梯度的方向就指出了函數(shù)在給定點的上升最快的方向。
這也就告訴我們?yōu)槭裁葱枰筇荻扔璧N覀冃枰竭_山底搏色,就需要在每一步觀測到此時最陡峭的地方,梯度就恰巧告訴了我們這個方向券册。梯度的方向是函數(shù)在給定點上升最快的方向频轿,那么梯度的反方向就是函數(shù)在給定點下降最快的方向。所以我們只要沿著梯度的方向一直走烁焙,就能走到局部上的一個最低點航邢。

3.我們使用梯度下降來做什么?有什么優(yōu)缺點骄蝇?

a. 在機器學習算法中,有時候需要對原始的模型構(gòu)建損失函數(shù),然后通過優(yōu)化算法對損失函數(shù)進行優(yōu)化膳殷,以便尋找到最優(yōu)的參數(shù),使得損失函數(shù)的值最小九火。而在求解機器學習參數(shù)的優(yōu)化算法中秽之,使用較多的就是基于梯度下降的優(yōu)化算法(Gradient Descent, GD)。
b.優(yōu)缺點
優(yōu)點:效率吃既。在梯度下降法的求解過程中考榨,只需求解損失函數(shù)的一階導數(shù),計算的代價比較小鹦倚,可以在很多大規(guī)模數(shù)據(jù)集上應用河质。
缺點:求解的是局部最優(yōu)值,即由于方向選擇的問題震叙,得到的結(jié)果不一定是全局最優(yōu)步長選擇掀鹅,過小使得函數(shù)收斂速度慢,過大又容易找不到最優(yōu)解媒楼。

進入一個分支~

隨機梯度算法

概念

隨機梯度下降(SGD)是一種簡單但非常有效的方法乐尊,多用用于支持向量機、邏輯回歸等凸損失函數(shù)下的線性分類器的學習划址。并且SGD已成功應用于文本分類和自然語言處理中經(jīng)常遇到的大規(guī)模和稀疏機器學習問題扔嵌。
SGD既可以用于分類計算,也可以用于回歸計算夺颤。
分類和回歸的實現(xiàn)可參考:
https://blog.csdn.net/qq_38150441/article/details/80533891

SGD算法是從樣本中隨機抽出一組痢缎,訓練后按梯度更新一次,然后再抽取一組世澜,再更新一次独旷,在樣本量及其大的情況下,可能不用訓練完所有的樣本就可以獲得一個損失值在可接受范圍之內(nèi)的模型了。(劃個重點:每次迭代使用一組樣本嵌洼。)
為什么叫隨機梯度下降算法呢案疲?這里的隨機是指每次迭代過程中,樣本都要被隨機打亂麻养,這個也很容易理解络拌,打亂是有效減小樣本之間造成的參數(shù)更新抵消問題。

分類

隨機梯度下降算法通常還有三種不同的應用方式回溺,它們分別是SGD、Batch-SGD混萝、Mini-Batch SGD
a.SGD是最基本的隨機梯度下降遗遵,它是指每次參數(shù)更新只使用一個樣本,這樣可能導致更新較慢逸嘀;
b.Batch-SGD是批隨機梯度下降车要,它是指每次參數(shù)更新使用所有樣本,即把所有樣本都代入計算一遍崭倘,然后取它們的參數(shù)更新均值翼岁,來對參數(shù)進行一次性更新,這種更新方式較為粗糙司光;
c.Mini-Batch-SGD是小批量隨機梯度下降琅坡,它是指每次參數(shù)更新使用一小批樣本,這批樣本的數(shù)量通巢屑遥可以采取trial-and-error的方法來確定榆俺,這種方法被證明可以有效加快訓練速度

運用

訓練模型的目的是使得目標函數(shù)達到極小值。對于一個深度神經(jīng)網(wǎng)絡坞淮,它的參數(shù)數(shù)目比較龐大茴晋,因此目標函數(shù)通常是一個包含很多參量的非線性函數(shù)。對于這個非線性函數(shù)回窘,我們采用的是隨機梯度下降算法來對參數(shù)進行更新诺擅。具體步驟如下:
(1)對網(wǎng)絡參數(shù)進行初始化,一般情況下啡直,權(quán)重初始化為均值是0烁涌,方差為0.01的高斯分布隨機值,而偏置統(tǒng)一初始化為0酒觅;
(2)將參數(shù)代入網(wǎng)絡計算前饋輸出值烹玉,從而可以根據(jù)已有的目標標簽得出目標函數(shù)值;
(3)根據(jù)目標函數(shù)值以及各參數(shù)與目標函數(shù)所構(gòu)成的樹結(jié)構(gòu)阐滩,運用后向傳播算法計算出每個參數(shù)的梯度二打;
(4)設置學習率大小(隨著迭代的步驟增多掂榔,學習率通常要逐漸減小继效,這樣可以有效避免訓練中出現(xiàn)誤差震蕩情況)症杏,進行參數(shù)更新,最一般的更新方式是 新參數(shù)=舊參數(shù)-學習率×梯度瑞信;
(5)重復進行第2~4步厉颤,直到網(wǎng)絡收斂為止。

實現(xiàn)代碼參考(https://blog.csdn.net/kwame211/article/details/80364079

今天又是一個合格的搬運工辣~
參考資料
http://www.reibang.com/p/c7e642877b0e
https://blog.csdn.net/LW_GHY/article/details/71054965

End~
加油凡简!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逼友,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子秤涩,更是在濱河造成了極大的恐慌帜乞,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筐眷,死亡現(xiàn)場離奇詭異黎烈,居然都是意外死亡,警方通過查閱死者的電腦和手機匀谣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門照棋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人武翎,你說我怎么就攤上這事烈炭。” “怎么了宝恶?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵梳庆,是天一觀的道長。 經(jīng)常有香客問我卑惜,道長膏执,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任露久,我火速辦了婚禮更米,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毫痕。我一直安慰自己征峦,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布消请。 她就那樣靜靜地躺著栏笆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臊泰。 梳的紋絲不亂的頭發(fā)上蛉加,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音,去河邊找鬼针饥。 笑死厂抽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的丁眼。 我是一名探鬼主播筷凤,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼苞七!你這毒婦竟也來了藐守?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蹂风,失蹤者是張志新(化名)和其女友劉穎卢厂,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硫眨,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年巢块,在試婚紗的時候發(fā)現(xiàn)自己被綠了礁阁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡族奢,死狀恐怖姥闭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情越走,我是刑警寧澤棚品,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站廊敌,受9級特大地震影響铜跑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骡澈,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一锅纺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肋殴,春花似錦囤锉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至烙懦,卻和暖如春驱入,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工沧侥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留可霎,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓宴杀,卻偏偏與公主長得像癣朗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旺罢,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容