《機器學習實戰(zhàn)》讀書筆記8

線性回歸算法概述

前面的2~7章節(jié)講解的是“分類”算法,本章開始將介紹“回歸”算法。

“回歸”和“分類”都屬于監(jiān)督學習算法,不同的是:分類的目標變量是標稱型數據,而回歸的目標變量是連續(xù)的數值型數據。

“回歸”(regression)一詞的來歷
今天我們所知道的歸回是由達爾文的(Charles Darwin)表兄弟Francis Galton發(fā)明的。Galton于1877年完成了第一次回歸預測,目的是根據上一代豌豆種子(雙親)的尺寸來預測下一代豌豆種子(孩子)的尺寸。Galton在大量對象上應用了回歸分析,甚至包括人的身高。他注意到,如果雙親的高度比平均高度高,他們的子女也趨向于比平均高度高,但尚不及雙親。孩子的高度向著平均高度回退(回歸,regression)。Galton在多項研究上都注意到這個現象,所以盡管這個英文單詞跟數值預測沒有任何關系,但這種研究方法仍被稱做回歸。

假如你要預測姐姐男友汽車功率的大小,可能會這么計算:
馬力=0.0015*年收入 - 0.99*每月房貸
上面的公式就是所謂的回歸方程(regression equation),其中的0.0015和-0.99稱作回歸系數(regression weight),求這些回歸系數的過程就是回歸。顯而易見,一旦有了回歸系數,在給定輸入,做預測就非常容易了。

優(yōu)點:結果易于理解,計算上不復雜。
缺點:對非線性的數據擬合不好。
使用數據類型:數值型和標稱型數據。

入門案例

本章節(jié)主要講解的是線性回歸(linear regression),具體的做法是用回歸系數乘以輸入值,再將結果全部加在一起,就得到了預測值。

如上圖所示的散點圖,利用線性回歸算法,從訓練數據中計算出回歸系數后,就能得到最佳擬合直線。
顯然純粹的線性回歸會導致較大的誤差,因此產生了局部加權線性回歸算法(Locally Weighted Linear Regression, LWLR)。在該算法中,需要我們對附近的數據點指定權重大小,上圖是k=0.01時的擬合線段,可以看到該模型更好地體現了數據的潛在規(guī)則。
上圖是權重k=1.0時,局部加權線性回歸算法得到的效果,可以看出其與純粹的線性回歸沒有區(qū)別。
上圖是權重k=0.003時,局部加權線性回歸算法得到的效果,該權重值納入了太多的噪聲,進而導致了過擬合現象。

在局部加權線性回歸算法中,對權重系數k的取值是比較重要的,這就要求我們對模型進行多次試算,得到最佳效果。

工作原理

在回歸方程里,求得特征對應的最佳回歸系數的方法是最小化誤差的平方和(方差)。在訓練集上得到的回歸方程并不一定意味著它是最佳的,可以使用測試集加以驗證,驗證的方法是用預測值和原始值的偏差來度量回歸方程的好壞。偏差和方差折中是一個重要的概念,可以幫助我們理解現有模型并做出改進,從而得到更好的模型。

在兩種情況下,線性回歸算法會失效:
1.當數據的樣本數比特征數還少的時候,會因為無法對矩陣求逆導致錯誤。即便當樣本數比特征數多的時候,仍然有可能無法直接計算,這是因為特征有可能高度相關。出現這樣的情況時,可以考慮使用“嶺回歸”或“逐步線性回歸”算法。
2.預測值與特征之間是非線性關系,這種情況下使用線性的模型就難以擬合。

一般流程

1.收集數據:采用任意方法收集數據;
2.準備數據:回歸需要數值型數據,應將標稱型數據做相應的轉換;
3.分析數據:繪制出數據的可視化二維圖有助于對數據做出理解和分析,在采用縮減法求得回歸系數后,可以將新擬合線繪制在圖上作為對比;
4.訓練算法:找到回歸系數;
5.測試算法:使用預測值和數據的擬合度,來分析模型的效果;
6.使用算法:使用回歸,可以在給定輸入的時候預測出一個數值,這是對分類方法的提升,因為這樣可以預測連續(xù)型數據而不僅僅是離散的類別標簽。

可使用場景

1.預測鮑魚的年齡
2.預測二手樂高玩具的交易價
3.預測機票價格
......

同類筆記可點擊這里查閱

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容