梯度下降法理論與實(shí)踐

理論基礎(chǔ)

現(xiàn)在比如有兩個(gè)參數(shù)的損失函數(shù)

我們的目的是使之最小也就是得到能夠使J函數(shù)最小的theta_0,theta_1,公式表達(dá)為:
我們畫出當(dāng)theta_0,theta_1取不同值時(shí)J的變化圖是這樣的
顏色越深代表J值越大。我們比如隨便取一個(gè)點(diǎn)(theta_0,theta_1各等于某值時(shí)),此點(diǎn)如圖所示:

此時(shí)比如我們站在此點(diǎn)上,想要快速到達(dá)谷底(也就是使J函數(shù)達(dá)到極小值)。此時(shí)我們放眼望去,環(huán)望四周,很自然的向此時(shí)坡最陡的方向的下方邁上一步,接著在繼續(xù)重復(fù)我們的過程,直到四周都比當(dāng)下高 (此時(shí))為止,就是走到谷底(J函數(shù)達(dá)到極小值),完成目標(biāo)。

我們來看看我們的路線

這時(shí)會(huì)不會(huì)有人問為什么會(huì)是極小值。
這時(shí)我們重新找一個(gè)點(diǎn)

跟上面的過程一樣,我們再走一遍

你瞅瞅,是不是到達(dá)另一個(gè)谷底。所以說,這種方法找的是局部的最小值,也就是全局的極小值。這種方法就是梯度下降算法。

此時(shí)介紹梯度下降算法,簡單起見,我們從一個(gè)變量開始,比如此時(shí)我們的損失函數(shù)J是

隨機(jī)給theta_1取一個(gè)值,此點(diǎn)如上圖所示。對此點(diǎn)求導(dǎo):

此時(shí)的導(dǎo)數(shù)值為正數(shù),我們要向它的相反方向走一步,到達(dá)如圖所示點(diǎn)


此時(shí)的公式表達(dá)為:
alpha為learning rate 即學(xué)習(xí)率,這里表示用來控制步伐的大小,取值范圍 (0-1] (一般取值1,0.1,0.01,0.001... 也或者0.3,0.03,0.003...根據(jù)情況而定)。

不斷的重復(fù)上面公式的過程,直到
等于0或者特別小(多小,根據(jù)實(shí)際情況設(shè)定)停止。
我們再考慮隨機(jī)點(diǎn)在左邊的情況。比如取點(diǎn)如圖所示:

此時(shí)的J在theta_1點(diǎn)的導(dǎo)數(shù)
為負(fù)數(shù)。
此時(shí)我們應(yīng)該向右走,則此時(shí)的表達(dá)式為

更新后



跟上面的過程一樣,直到更新到導(dǎo)數(shù)為0或特別小為止。

由此可見,無論導(dǎo)數(shù)正負(fù),表達(dá)式一樣。所以我們規(guī)定梯度下降算法的更新過程就是

此時(shí)我們具體談?wù)刟lpha:

alpha取值過小,則會(huì)有這樣的情況:
到達(dá)極小值的速度特別慢。
而alpha取值過大,則還會(huì)有這種情況:

永遠(yuǎn)找不到極小值。

所以如果你想再alpha上做優(yōu)化,可以這樣

alpha先大后小。(根據(jù)實(shí)驗(yàn)情況而定)
現(xiàn)在我們再回歸到我們的
函數(shù)中來。
我們對它進(jìn)行優(yōu)化的表達(dá)式為:
(這里是偏導(dǎo))
這里有個(gè)誤區(qū),正確的更新過程是這樣的:

等更新完再賦值。

下面的做法是錯(cuò)誤的:

更新完的theta_0在temp1的更新過程中被調(diào)用,此時(shí)已經(jīng)不是之前的theta_0了。切記。

代碼實(shí)踐

這是個(gè)擬合直線的代碼實(shí)現(xiàn)。


我們要將數(shù)據(jù)統(tǒng)一收縮到 [-1 - 1] 之間。
X = ( X - average(X) ) / X.max
Y = ( Y - average(Y) ) / Y.max

為什么要這么做呢?
因?yàn)槿绻蛔隹s小處理,在矩陣運(yùn)算時(shí),非常有可能出現(xiàn)無窮大或者無窮小,導(dǎo)致無法計(jì)算。

縮小處理可以很容易畫出模擬線條。

縮小處理在計(jì)算機(jī)中處理速度更快。


我們看看圖:


這里我設(shè)置a = 0.01是為了下面的模擬直線除數(shù)不為0設(shè)置的。一般情況下,初始化 a = b = 0。(這里a, b就是上面的theta_0,theta_1)
下面進(jìn)行矩陣化:



上面圖片的y1 - y4是預(yù)測值
下面代碼的Y是真實(shí)值



預(yù)測值函數(shù)

擬合線段形成過程

更新過程



最終的線段是

注:代碼實(shí)現(xiàn)以上圖片來自2014stanford機(jī)器學(xué)習(xí)視頻


我的公眾號(hào),喜歡的可以關(guān)注我呀。

公眾號(hào)二維碼.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,273評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,527評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,010評(píng)論 1 322
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,250評(píng)論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,769評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,656評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,853評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,103評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評(píng)論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,487評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,815評(píng)論 2 372

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

  • 轉(zhuǎn)載-劉建平Pinard-www.cnblogs.com/pinard/p/5970503.html 在求解機(jī)器學(xué)...
    商三郎閱讀 3,510評(píng)論 0 2
  • 前言 梯度下降算法現(xiàn)在變的越來越流行,但是對于使用者來說,它的優(yōu)化過程變的越來越黑盒。本文我們介紹下不通梯度下降算...
    wendaJ閱讀 1,552評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,781評(píng)論 18 139
  • 簡書無法顯示MathJax數(shù)學(xué)公式,請到這里閱讀: 我的機(jī)器學(xué)習(xí)筆記(二) - 單變量線性回歸 課程地址:Line...
    Daniellaah閱讀 1,848評(píng)論 0 4
  • 肖逸按響門鈴,聽到一溜小跑的腳步聲由遠(yuǎn)及近,每一步的音節(jié)仿佛都重重敲擊在溫舒怡的心上,砰砰砰地響。溫舒怡深呼吸一口...
    馮路易閱讀 214評(píng)論 0 0