·
例如,信用卡額度預測問題:特徵是用戶的信息(年齡,性別,年薪,當前債務,...),我們要預測可以給該客戶多大的信用額度。 這樣的問題就是迴歸問題。
目標值y 是實數空間R。
線性迴歸假設:
線性迴歸假設的思想是:尋找這樣的直線/平面/超平面,使得輸入數據的殘差最小。
通常採用的error measure 是squared error:
2,線性迴歸算法
squared error 的矩陣表示:
Ein 是連續可微的凸函數,可以通過偏微分求極值的方法來求參數向量w。
求得Ein(w) 的偏微分:
另上式等於0,即可以得到向量w。
上面分兩種情況來求解w。當XTX(X 的轉置乘以X) 可逆時,可以通過矩陣運算直接求得w;不可逆時,直觀來看情況就沒這麼簡單。
實際上,無論哪種情況,我們都可以很容易得到結果。因爲許多現成的機器學習/數學庫幫我們處理好了這個問題,只要我們直接調用相應的計算函數即可。有些庫中把這種廣義求逆矩陣運算成爲 pseudo-inverse。
到此,我們可以總結線性迴歸算法的步驟(非常簡單清晰):
3,線性迴歸是一個“學習算法” 嗎?
乍一看,線性迴歸“不算是”機器學習算法,更像是分析型方法,而且我們有確定的公式來求解w。
實際上,線性回歸屬於機器學習算法:
(1) 對Ein 進行優化。
(2)得到Eout 約等於 Ein。
(3)本質上還是迭代提高的:pseudo-inverse 內部實際是迭代進行的。
經過簡單的分析證明可以得到Ein,Eout 的平均範圍(過程見林軒田視頻),畫出學習曲線:
4, 線性迴歸與線性分類器
比較一下線性分類與線性迴歸:
之所以能夠通過線程迴歸的方法來進行二值分類,是由於迴歸的squared error 是分類的0/1 error 的上界,我們通過優化squared error,一定程度上也能得到不錯的分類結果;或者,更好的選擇是,將回歸方法得到的w 作爲二值分類模型的初始w 值。