凡事架不住親自跑一把——梯度下降算法篇

看 Andrew Ng 的機器學習課企垦,聽得懵懵懂懂,想著自己跑一把吧晒来。沒曾想跑出這么多道道來??

思想很簡單:有一坨便便钞诡,看起來像便便,聞起來像便便湃崩,我們就姑且當它便便吧荧降。

這有 10 個點,看起來挺像在一條直線上的攒读,我們就想知道到底該選哪一條誊抛。

training set

選擇標準是什么呢?要不就拿「數(shù)據(jù)點到直線的距離之和」來評判吧:

要是我們能找到這個判別函數(shù)J(theta_0, theta_1)[1]的最小值點整陌,那個點的坐標(theta_0, theta_1)就是所求直線的待求參數(shù)拗窃。


接下來的問題是怎么找到它的最小值瞎领?我們先把這函數(shù)畫出來看看吧:

J(...)

這個函數(shù)會在點(-4.96154, 0.134615)處取得最小值16.4973[2]

首次擬合直線

看起來還不錯随夸。但……


但九默,數(shù)學家們不喜歡絕對值函數(shù)??他們喜歡這款^maximum likelihood

這函數(shù)長這樣:

數(shù)學家們喜歡平滑的

這個 2.0 版函數(shù)會在點(-8.64507, 0.161234)處取得最小值22.3703

紅線為新版參數(shù)確定的擬合直線

你能看出哪條直線更好嗎宾毒?反正我是不能??


等等驼修,我們是不是該回到正題——怎么求到判別函數(shù)的最小值點——了?诈铛!

很簡單乙各,我們找到「下山的方向」,跟著走就行了幢竹。直到「原地打轉(zhuǎn)」(就是前后腳距離不超過某個預設的值ε)為止耳峦。

至于 α 是什么,Andrew Ng 把它叫做 learning rate焕毫,也有的叫它「步長」蹲坷。其實它還蠻重要的,因為它控制著下山的步子邑飒。步子大了循签,一不小心邁過最小值點了;步子小了疙咸,走太慢县匠。

接下來,我們來驗證一下這個算法好使不撒轮。拿x^2+y^2來試試聚唐,因為它簡單,夠清楚腔召。

下山路徑(步長 0.1杆查,`ε = 0.001`):走了 37 步

目前看一切挺好,但是當我們把步長調(diào)到 1 的時候臀蛛,它就開始原地打轉(zhuǎn)了亲桦,調(diào)到 1.1 的時候,開始蹦跶出去了??

讓你蹦跶浊仆,出去了吧 P.S. 本來想連上線的客峭,實在搞不定,將就看吧??

好吧抡柿,我終于鍥而不舍地畫出來了??


遇到特別陡峭的變態(tài)函數(shù)怎么辦舔琅?

首先想到的是:要是新點的判別函數(shù)值比前一點的還高,那就調(diào)小步長洲劣,并且回退。試了下,效果不錯买羞。一旦跑反了费韭,還知道回來谴返。

紅色直線為梯度下降算法得到的,似乎效果不太好??

下面的問題是如何讓步長自適應變化。不過涉及到優(yōu)化的問題就有點煩人了,先就這樣吧扎即。


最后做個有意思的吧:看看能不能用 linear regression 做個手寫識別。

  1. 首先是去下一個「手寫數(shù)字庫」况凉;

  2. 預處理下照片:縮小谚鄙,壓扁(拍成一個數(shù)組);

  3. 丟給現(xiàn)成的「線性回歸庫」做刁绒;

直接上代碼吧:

妄圖用線性回歸做手寫數(shù)字識別闷营,哈哈哈哈!L哦А粮坞!~

毛都跑不出來N萌佟3跽!


  1. 注意這個判別函數(shù)是關(guān)于 theta_0 和 theta_1 的函數(shù)互例,x, y 什么的都只是系數(shù)奢入。 ?

  2. 不要問我怎么算出來的,用 Mathematica 作個弊不行啊 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末媳叨,一起剝皮案震驚了整個濱河市腥光,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糊秆,老刑警劉巖武福,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痘番,居然都是意外死亡捉片,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門汞舱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伍纫,“玉大人,你說我怎么就攤上這事昂芜∮ü妫” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵泌神,是天一觀的道長良漱。 經(jīng)常有香客問我舞虱,道長,這世上最難降的妖魔是什么债热? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任砾嫉,我火速辦了婚禮,結(jié)果婚禮上窒篱,老公的妹妹穿的比我還像新娘焕刮。我一直安慰自己,他們只是感情好墙杯,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布配并。 她就那樣靜靜地躺著,像睡著了一般高镐。 火紅的嫁衣襯著肌膚如雪溉旋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天嫉髓,我揣著相機與錄音观腊,去河邊找鬼。 笑死算行,一個胖子當著我的面吹牛梧油,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播州邢,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼儡陨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了量淌?” 一聲冷哼從身側(cè)響起骗村,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呀枢,沒想到半個月后胚股,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡裙秋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年琅拌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片残吩。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡财忽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出泣侮,到底是詐尸還是另有隱情即彪,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站隶校,受9級特大地震影響漏益,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜深胳,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一绰疤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舞终,春花似錦轻庆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夸盟,卻和暖如春蛾方,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背上陕。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工桩砰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人释簿。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓亚隅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辕万。 傳聞我的和親對象是個殘疾皇子枢步,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

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

  • 作者按:簡書的文藝氣息還是比較濃的沉删。我們來搗搗亂渐尿,搞一篇全部數(shù)學公式的文章,用實際行動推動簡書加入 MathJax...
    kamidox閱讀 1,387評論 8 6
  • 前言 梯度下降算法現(xiàn)在變的越來越流行矾瑰,但是對于使用者來說砖茸,它的優(yōu)化過程變的越來越黑盒。本文我們介紹下不通梯度下降算...
    wendaJ閱讀 1,535評論 0 1
  • 轉(zhuǎn)載-劉建平Pinard-www.cnblogs.com/pinard/p/5970503.html 在求解機器學...
    商三郎閱讀 3,502評論 0 2
  • 機器學習是做NLP和計算機視覺這類應用算法的基礎殴穴,雖然現(xiàn)在深度學習模型大行其道凉夯,但是懂一些傳統(tǒng)算法的原理和它們之間...
    在河之簡閱讀 20,504評論 4 65
  • 最近在看機器學習。想著這那的機器學習算法不就是一個個分類判別算法嗎采幌?劲够!但它們大多沒能描述清楚內(nèi)在的結(jié)構(gòu)。就想著休傍,從...
    Pope怯懦懦地閱讀 457評論 2 0