0 什麼是回歸?
假設線性回歸是個黑盒子,那按照程式設計師的思維來說,這個黑盒子就是個函式,然後呢,我們只要往這個函式傳一些引數作為輸入,就能得到乙個結果作為輸出。那回歸是什麼意思呢?其實說白了,就是這個黑盒子輸出的結果是個連續的值。如果輸出不是個連續值而是個離散值那就叫分類。那什麼叫做連續值呢?非常簡單,舉個栗子:比如我告訴你我這裡有間房子,這間房子有40平,在地鐵口,然後你來猜一猜我的房子總共值多少錢?這就是連續值,因為房子可能值80萬,也可能值80.2萬,也可能值80.111萬。再比如,我告訴你我有間房子,120平,在地鐵口,總共值180萬,然後你來猜猜我這間房子會有幾個臥室?那這就是離散值了。因為臥室的個數只可能是1, 2, 3,4,充其量到5個封頂了,而且臥室個數也不可能是什麼1.1, 2.9個。所以呢,對於ml萌新來說,你只要知道我要完成的任務是**乙個連續值的話,那這個任務就是回歸。是離散值的話就是分類。(ps:目前只討論監督學習)
1 線性回歸
ok,現在既然已經知道什麼是回歸,那現在就要來聊一聊啥叫線性。其實這玩意也很簡單,我們在上初中的時候都學過直線方程對不對?來來來,我們來回憶一下直線方程是啥?
y=kx+b
y=kx+b
喏,這就是初中數學老師教我們的直線方程。那上過初中的同學都知道,這個式子表達的是,當我知道k(引數)和b(引數)的情況下,我隨便給乙個x我都能通過這個方程算出y來。而且呢,這個式子是線性的,為什麼呢?因為從直覺上來說,你都知道,這個式子的函式影象是條直線。。。。從理論上來說,這式子滿足線性系統的性質。(至於線性系統是啥,我就不扯了,不然沒完沒了)那有的同學可能會覺得疑惑,這一節要說的是線性回歸,我扯這個low逼直線方程幹啥?其實,說白了,線性回歸無非就是在n維空間中找乙個形式像直線方程一樣的函式來擬合資料而已。比如說,我現在有這麼一張圖,橫座標代表房子的面積,縱座標代表房價。
然後呢,線性回歸就是要找一條直線,並且讓這條直線盡可能地擬合圖中的資料點。
那如果讓1000個老鐵來找這條直線就可能找出1000種直線來,比如這樣
這樣
或者這樣
喏,其實找直線的過程就是在做線性回歸,只不過這個叫法更有逼格而已。。。
2 損失函式
那既然是找直線,那肯定是要有乙個評判的標準,來評判哪條直線才是最好的。ok,道理我們都懂,那咋評判呢?其實簡單的雅痞。。。只要算一下實際房價和我找出的直線根據房子大小**出來的房價之間的差距就行了。說白了就是算兩點的距離。當我們把所有實際房價和**出來的房價的差距(距離)算出來然後做個加和,我們就能量化出現在我們**的房價和實際房價之間的誤差。例如下圖中我畫了很多條小數線,每一條小數線就是實際房價和**房價的差距(距離)
然後把每條小豎線的長度加起來就等於我們現在通過這條直線**出的房價與實際房價之間的差距。那每條小豎線的長度的加和怎麼算?其實就是歐式距離加和,公式如下。(其中y(i)表示的是實際房價,y^(i)表示的是**房價)
這個歐氏距離加和其實就是用來量化**結果和真實結果的誤差的乙個函式。在ml中稱它為損失函式(說白了就是計算誤差的函式)。那有了這個函式,我們就相當於有了乙個評判標準,當這個函式的值越小,就越說明我們找到的這條直線越能擬合我們的房價資料。所以說啊,線性回歸無非就是通過這個損失函式做為評判標準來找出一條直線。
剛剛我舉的例子是一維的例子(特徵只有房子大小),那現在我們假設我的資料中還有乙個特徵是樓間距,那影象可能就是醬紫了。
從圖我們可以看得出來,就算是在二維空間中,還是找一條直線來擬合我們的資料。所以啊,換湯不換藥,損失函式還是這個歐式距離加和。
通俗理解線性回歸(一)
本人已經打算將這一系列博文做成動畫趣味科普的形式來呈現,感興趣的話可以點這裡。0 什麼是回歸?假設線性回歸是個黑盒子,那按照程式設計師的思維來說,這個黑盒子就是個函式,然後呢,我們只要往這個函式傳一些引數作為輸入,就能得到乙個結果作為輸出。那回歸是什麼意思呢?其實說白了,就是這個黑盒子輸出的結果是個...
通俗理解線性回歸(一)
假設線性回歸是個黑盒子,那按照程式設計師的思維來說,這個黑盒子就是個函式,然後呢,我們只要往這個函式傳一些引數作為輸入,就能得到乙個結果作為輸出。那回歸是什麼意思呢?其實說白了,就是這個黑盒子輸出的結果是個連續的值。如果輸出不是個連續值而是個離散值那就叫分類。那什麼叫做連續值呢?非常簡單,舉個栗子 ...
線性回歸(一)
前文講述了大量關於線性回歸的理論知識,現在實際來看下什麼是線性回歸,先看最簡單的一元線性回歸。回歸分析是確定 屬性 數值型 與其他變數間相互依賴的密切程度的乙個定量分析模型。模擬一段資料如下 x 6,8,10,14,18 y 7,9,13,17.5,18 直接看上去,不太容易能直觀的看出來這段資料是...