該文已經收錄到專題機器學習進階之路當中,歡迎大家關注。
1. 概念
線性迴歸(Linear Regression)是一種通過屬性的線性組合來進行預測的線性模型,其目的是找到一條直線或者一個平面或者更高維的超平面,使得預測值與真實值之間的誤差最小化。
2. 特點
- 優點:結果具有很好的可解釋性(w直觀表達了各屬性在預測中的重要性),計算熵不復雜。
- 缺點:對非線性數據擬合不好
- 適用數據類型:數值型和標稱型數據
3. 原理與推導
1. 給定數據集,其中,(線性迴歸的輸出空間是整個實數空間)。是樣本數,是屬性維度。
線性迴歸試圖學得:
(1),使得。
爲便於討論,使,其中。此時,就成爲了,就成爲了,期望學得的函數爲。
2. 預測值和真實值之間都肯定存在差異,對於每個樣本:
(2)
假設誤差是獨立同分布的,並且服從高斯分佈。即:
(3)
將(2)代入(3)中,得到在已知參數和數據的情況下,預測值爲的條件概率:
(4)
3. 將(4)連乘得到在已知參數和數據的情況下,預測值爲的條件概率,這個條件概率在數值上等於,likelihood(w|x,y),也就是在已知現有數據的條件下,w是真正參數的概率,即似然函數(5):
(5)
爲什麼要引入似然函數:爲了根據樣本估計參數值。
爲什麼要對似然函數進行log變換:由於乘法難解,通過對數可以將乘法轉換爲加法,簡化計算。
對數似然函數:
(6)
得到目標函數:
(7)(最小二乘法)
爲什麼要讓目標函數越小越好:似然函數表示樣本成爲真實的概率,似然函數越大越好,也就是目標函數越小越好。
4. 目標函數是凸函數,只要找到一階導數爲0的位置,就找到了最優解。
因此求偏導:
(8)
5. 令偏導等於0:
(9)
得到:
(10)
情況一:可逆,唯一解。令公式(10)爲零可得最優解爲:
(11)
學得的線性迴歸模型爲:
(12)
情況二:不可逆,可能有多個解。選擇哪一個解作爲輸出,將有學習算法的偏好決定,常見的做法是增加擾動。
(13)
4. 算法描述
1. 從數據集D出發,構建輸入矩陣X和輸出向量y。
2. 計算僞逆(pseudo-inverse)。
3. 返回,學得的線性迴歸模型爲。
5. 廣義線性迴歸
當不再只是線性迴歸中用到的正態分佈,而是擴大爲指數族中的任一分佈。這樣得到的模型稱爲“廣義線性模型”(generalized linear model):
其中函數稱爲“聯繫函數”(link function)。
參考文獻:
1. 《機器學習基石課程》lecture_9_Linear_Regression——林軒田
2. 《機器學習》第三章線性迴歸——周志華