單變量的線性回歸模型--梯度下降算法


前言

之前已經(jīng)提到了代價函數(shù)盒蟆,它是衡量我們目前的預(yù)測函數(shù)h的好壞程度的,可是不能光讓它在那壞著师骗,我們需要讓我們的代價函數(shù)變好起來历等,這就需要我們的梯度下降算法登場了(gradient descent)。

怎么下降

首先優(yōu)化代價函數(shù)的方法肯定不止這一種辟癌,但是這一種比較常見而且也是很通俗易懂的寒屯,所以一般入門都會提到這個算法。還記得我們的代價函數(shù)長什么樣子嗎黍少。

代價函數(shù)

可以看到如果只看每一項(把求和符號和前面的除2m去掉)寡夹,它就是一個二次函數(shù)(關(guān)于θ的),高中時候就知道二次函數(shù)是一個拋物線的形式厂置。這里假設(shè)它是個開口朝上的二次函數(shù)菩掏,我們在經(jīng)過初始化后的θ帶進去后值比較靠上方的位置如下

我們知道這個函數(shù)的值代表著我們的輸出結(jié)果離我們的目標(biāo)值的差距,所以如果像上面的圖一樣我們的點對應(yīng)的y值很大昵济,我們需要讓我們的點盡可能的下降到最低點智绸。這里有兩個辦法,我們知道這種拋物線的最低點我們可以直接計算獲得访忿,這種方法這里暫時不說瞧栗,所說它就是一條公式,但是要推導(dǎo)出來可沒那么容易(這里的公式可不是高中那種就一個輸入X的公式海铆,而是輸入很多的更為復(fù)雜的)迹恐,直接套公式適用于訓(xùn)練集不算太大的情況下,因為數(shù)據(jù)多的時候計算量超大卧斟。

下面還是說回我們的主角殴边,我們需要一種辦法,每一步的計算量不大讓它的值慢慢下降到最低點珍语,就如一個人下山一樣每次只邁一小步锤岸,然后慢慢向下到山底。

很巧的是我們有一個東西可以反映出我們曲線在每一點的陡峭程度——導(dǎo)數(shù)廊酣,大學(xué)知識還沒忘都還記得能耻,在某一點的導(dǎo)數(shù)就是該函數(shù)在這一點的切線,曲線越接近垂直,導(dǎo)數(shù)在這一點的值就越大晓猛。這是一種很好的方法讓我們減小我們的θ值饿幅。

上圖中那個點的切線斜率是正的,并且比較大的戒职,那么讓我們的初始θ減去它自己在這一點的導(dǎo)數(shù)(也就是斜率)栗恩,現(xiàn)在我們的點便會下降一點,而且根據(jù)圖形可以看出洪燥,越往下降磕秤,切線的斜率越小,慢慢的就會接近最低點了捧韵。

如何計算

一定記住一點市咆,代價函數(shù)是關(guān)于θ的函數(shù)而不是x,預(yù)測函數(shù)h才是關(guān)于x的再来,在代價函數(shù)里x都是已知的量蒙兰。

其實不難發(fā)現(xiàn)上面介紹的梯度下降是在只考慮θ1的情況下,并沒有考慮之前公式里的θ0∶⑴瘢現(xiàn)在我們就只考慮θ1的情況下來看看該如何計算上述方法搜变。


這個式子有幾個地方需要注意,首先就是減號后面针炉,忽略掉α后這個式子就是代價函數(shù)對θ1的導(dǎo)數(shù)挠他。記住現(xiàn)在的h(x):

h(xi)=θ1*xi;

導(dǎo)數(shù)沒忘的計算出這個結(jié)果不是難事。

第二點就是剛才我們忽略掉的α篡帕,它被稱作學(xué)習(xí)率(learning rate)殖侵,就是讓導(dǎo)數(shù)乘上它,用來決定下降的幅度赂苗,如何選取它并沒有明確的規(guī)定愉耙,需要你在實際問題中去嘗試。太小的學(xué)習(xí)率會讓這個算法執(zhí)行很多遍才能到達(dá)理想的效果拌滋。但是太大的學(xué)習(xí)率則更為致命,它可能導(dǎo)致你這個函數(shù)最終發(fā)散猜谚,永遠(yuǎn)得不到你想要的結(jié)果败砂。

過大的學(xué)習(xí)率會導(dǎo)致發(fā)散

為什么還會發(fā)散呢,根據(jù)上圖魏铅,假設(shè)我們的初始點在a點昌犹,然后下降到b點再到c點,此時如果學(xué)習(xí)率太大览芳,下一次的下降有可能跨過了最低點而到了d點斜姥,至此我們的算法就走上了不歸路,此時點到了左邊,斜率變成負(fù)的了铸敏,根據(jù)上面的梯度下降的式子缚忧,減去一個負(fù)數(shù)就是加上它的絕對值,所以我們的點會越來越高杈笔,而且每次跨度會比上一次更大闪水。

綜上,過大的學(xué)習(xí)率會讓我們的點沖破天際蒙具,一去不復(fù)返球榆,所以選取學(xué)習(xí)率也是比較重要的。

最后還有一點禁筏,上面例子都是舉了開口朝上的函數(shù)以及初始點處的切線斜率為正的情況持钉。其它情況經(jīng)過驗證其實都是正確的,這里不一一列舉篱昔。

兩個參數(shù)呢

如果我們把θ0加上呢每强,其實跟上面沒什么兩樣,我們只不過是對兩個θ分別減去它們的導(dǎo)數(shù)旱爆,循環(huán)一定的次數(shù)舀射,只不過多變量求導(dǎo)我們給了它另外的名字,叫做偏導(dǎo)數(shù)怀伦,球θ0偏導(dǎo)的時候只要把θ1看作常量脆烟,然后正常對θ0求導(dǎo)就行了(不知道的只能去翻翻高數(shù)書了-。-).所以最終的梯度下降的數(shù)學(xué)算式如下:

可以看到θ1跟剛才一樣房待,θ0也很容易得出邢羔。

那么經(jīng)過循環(huán)執(zhí)行這一步驟,可能是100次桑孩,或者500次拜鹤,我們就可以得到我們想要的θ,這時我們的預(yù)測函數(shù)h表現(xiàn)那是very good的流椒。

結(jié)尾

至此單變量的線性回歸模型已經(jīng)大致講完了敏簿,具體實現(xiàn)的話,基本所有語言都能做宣虾,像matlab,python,java,octave之類的惯裕。不過現(xiàn)在的大趨勢是python,可以說它在這方面真的很火,而且又有封裝的很好的各種科學(xué)計算庫绣硝,像numpy之類的蜻势,所以實現(xiàn)上述過程并不困難。

不過還有一些技巧并沒有寫出來鹉胖,像上面的梯度下降握玛,我們真的要寫個for循環(huán)然后一遍一遍的執(zhí)行嗎够傍。

答案是否定的,有一種叫做向量化的辦法可以讓我們只需要一行代碼就可以執(zhí)行for循環(huán)做的所有工作挠铲。下面還會繼續(xù)介紹這種方法冕屯,簡潔才是王道對吧,況且速度也快了不止一點市殷。

當(dāng)然這是最最簡單的模型了愕撰,我們還有多變量的線性回歸,邏輯回歸醋寝,還有近幾年大火的神經(jīng)網(wǎng)絡(luò)以及各種其它模型......

人工智能的領(lǐng)域是十分廣闊的搞挣,沒有人精通人工智能的所有部分,有的從事深度網(wǎng)絡(luò)音羞,有的從事計算機視覺或是語音等等囱桨。

人類發(fā)展到現(xiàn)在真的是不可思議不是嗎。

當(dāng)然我也只是個入門的小菜嗅绰,接下來我也還會繼續(xù)學(xué)習(xí)舍肠,不斷充實自己,人的一生就是不斷學(xué)習(xí)的過程這話說的還真不錯窘面,學(xué)累了就去玩會吧(><)翠语。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市财边,隨后出現(xiàn)的幾起案子肌括,更是在濱河造成了極大的恐慌,老刑警劉巖酣难,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谍夭,死亡現(xiàn)場離奇詭異,居然都是意外死亡憨募,警方通過查閱死者的電腦和手機紧索,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菜谣,“玉大人珠漂,你說我怎么就攤上這事∥膊玻” “怎么了甘磨?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長眯停。 經(jīng)常有香客問我,道長卿泽,這世上最難降的妖魔是什么莺债? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任滋觉,我火速辦了婚禮,結(jié)果婚禮上齐邦,老公的妹妹穿的比我還像新娘椎侠。我一直安慰自己,他們只是感情好措拇,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布我纪。 她就那樣靜靜地躺著,像睡著了一般丐吓。 火紅的嫁衣襯著肌膚如雪浅悉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天券犁,我揣著相機與錄音术健,去河邊找鬼。 笑死粘衬,一個胖子當(dāng)著我的面吹牛荞估,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稚新,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼勘伺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褂删?” 一聲冷哼從身側(cè)響起飞醉,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笤妙,沒想到半個月后冒掌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡蹲盘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年股毫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片召衔。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡铃诬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苍凛,到底是詐尸還是另有隱情趣席,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布醇蝴,位于F島的核電站宣肚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悠栓。R本人自食惡果不足惜霉涨,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一按价、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笙瑟,春花似錦楼镐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至错洁,卻和暖如春秉宿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背墓臭。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工蘸鲸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窿锉。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓酌摇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗡载。 傳聞我的和親對象是個殘疾皇子窑多,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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