-
什么是線性回歸
不同於分類問題的待預測變量為離散變量,回歸問題中待預測變量即因變量為連續變量。人們在測量事物的時候因為客觀條件所限,求得的都是測量值,而不是事物真實的值,為了能夠得到真實值,無限次的進行測量,最后通過這些測量數據計算回歸到真實值,這就是回歸的由來。
線性回歸假設自變量與因變量之間存在的是一次函數關系,即線性關系。
設所有樣本的特征為\(X\in \mathbb{R}^{n*m}\),輸出為\(Y\in \mathbb{R}^{n*1}\),其中n為樣本數,m為特征數。線性回歸假設存在權重項\(W\in \mathbb{R}^{m*1}\)和偏置項\(b\in \mathbb{R}\),使得\(\widehat Y=XW+b\),其中\(\widehat Y\)為對Y的預測值。為了簡化表達,給X添加一列1,將偏置項並入權重項,則\(\widehat Y=XW\) ,其中\(X\in \mathbb{R}^{n*(m+1)}\),\(W\in \mathbb{R}^{(m+1)*1}\)。
-
線性回歸求解
線性回歸以均方誤差為損失函數,該方法稱為方法稱為最小二乘法。
為了方面后面的計算,增加了\(\frac{1}{2n}\)作為因子,即損失函數為:
\[J=\frac{1}{2n}(XW-Y)^T(XW-Y)=\frac{1}{2n}(W^TX^TXW-W^TX^TY-Y^TXW+Y^TY) \]損失函數對權重求導:
\[\frac{\partial J}{\partial W}=\frac{1}{n}X^T(XW-Y) \]令導數等於0,得:
\[W^*=(X^TX)^{-1}X^TY \]當\(X^TX\)滿秩或者正定的時候,可以直接由上式求得閉式解。當不滿足時,可以使用梯度下降法求解。
-
使用均方誤差解釋線性回歸
對於第i個樣本\((x_i,y_i)\),假設\(y_i=W^Tx_i+\epsilon_i\),其中\(\epsilon_i\)為誤差項。由於影響誤差的因素有很多,而這些因素都是獨立且隨機分布的,根據中心極限定理——許多獨立隨機變量的和趨向於正態分布,因此可以假設:
\[\epsilon_i\sim N(0,\sigma^2) \]\(\epsilon_i\)是獨立同分布的隨機變量。則當給定了參數W和輸入\(x_i\)時\(\epsilon_i\)的概率密度為:
\[P(\epsilon_i|x_i;W)=\frac{1}{\sqrt{2\pi}\sigma}e^{\frac{\epsilon_i^2}{2\sigma^2}} \]由於\(\epsilon_i=y_i-W^Tx_i\),有:
\[P(y_i|x_i;W)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i-W^Tx_i)^2}{2\sigma^2}} \]即\(y_i\)也服從正態分布,則似然函數為:
\[l(W)=\prod_{i=1}^n\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i-W^Tx_i)^2}{2\sigma^2}} \]對數似然函數為:
\[L(W)=-n\ln \sqrt{2\pi}\sigma-\sum_{i=1}^n\frac{(y_i-W^Tx_i)^2}{2\sigma^2} \]最大化似然函數:
\[\arg\max_W L(W)=\arg\max_W -n\ln \sqrt{2\pi}\sigma-\sum_{i=1}^n\frac{(y_i-W^Tx_i)^2}{2\sigma^2} \\ =\arg\min_W \sum_{i=1}^n(y_i-W^Tx_i)^2 \\ =\arg\min_W \frac{1}{2n}(XW-Y)^T(XW-Y) \]即最大化似然函數等價於最小化均方誤差,即最小二乘法實際上是在假設誤差項滿足高斯分布且獨立同分布情況下,使似然性最大化。
-
正則化方法
正則化方法是指在原損失函數的基礎上加上一個正則化項,用來控制參數幅度或者是限制參數搜索空間,從而降低過擬合。線性回歸常用的正則化方法有L1正則化(Lasso回歸)、L2正則化(嶺回歸)、ElasticNet回歸。
-
L1正則化(Lasso回歸)
L1正則化相當於在原有損失函數的基礎上加上加權的參數L1范數作為正則化項,即:
\[J'=J+\lambda\sum|w| \]下圖為其在二維時的參數空間:
圖中彩色部分為原損失函數的等高線,紫色部分為其最小值附近;黑色菱形為L1正則化項等高線,易知最優解必定在兩組等高線的切點處,而這個交點很容易出現在坐標軸上,使得部分參數取值為0。這說明L1正則化容易得到稀疏解。
此時由於絕對值函數在w=0處不可導,故不能直接采用梯度下降法,此時可以采用次梯度下降法或者坐標下降法,具體可參考:https://zhuanlan.zhihu.com/p/76055830。
-
L2正則化(嶺回歸)
L2正則化相當於在原有損失函數的基礎上加上加權的參數L2范數作為正則化項,即:
\[J'=J+\lambda\sum|w|^2 \]下圖為其在二維時的參數空間:
圖中彩色部分為原損失函數的等高線,紫色部分為其最小值附近;黑色圓形為L2正則化項等高線,易知最優解必定在兩組等高線的切點處,而這個交點很難出現在坐標軸上,這說明L2正則化不容易得到稀疏解。
-
從貝葉斯角度看L1和L2正則化
L1 正則化可以看成是:通過假設權重參數W的先驗分布為拉普拉斯分布,由最大后驗概率估計導出。
L2 正則化可以看成是:通過假設權重參數W的先驗分布為正態分布,由最大后驗概率估計導出。
-
ElasticNet回歸
ElasticNet綜合了L1正則化項和L2正則化項,以下是它的公式:
\[J'=J+\lambda_1\sum|w|+\lambda_2\sum|w|^2 \] -
正則化方法的選擇
只要數據線性相關,但用線性回歸擬合的不是很好時就可以選擇添加正則化項。如果輸入特征的維度很高,而且是稀疏線性關系的話可以嘗試L1正則化,否則可以嘗試使用L2正則化。
在我們發現用L1正則化太過(太多特征被稀疏為0),而L2正則化也正則化的不夠(回歸系數衰減太慢)的時候,可以考慮使用ElasticNet回歸來綜合,得到比較好的結果。
-
-
局部加權線性回歸
局部加權線性回歸是普通線性回歸的一個改進,普通的線性回歸努力尋找一個使得全局代價函數最小的模型。這個模型對於整體來說是最好的,但對於局部點來說,可能不是最好的。
局部加權線性回歸的基本思想:設計代價函數時,待預測點附近的點擁有更高的權重,權重隨着距離的增大而縮減——這也就是名字中“局部”和“加權”的由來。
局部加權線性回歸的損失函數為:
\[J=\sum_{i=1}^n\theta_i(y_i-W^Tx_i)^2 \\ \theta_i=e^{-\frac{(x-x_i)^2}{2\sigma^2}} \]其中\(\theta_i\)為訓練集中第i個樣本的權重,其圖像類似於正態分布,x為測試樣本。\(\sigma\)越小圖像越“瘦”,即權重衰減的越快,與x相距越遠的樣本權重越小。
求導可得局部加權線性回歸的閉式解為:
\[W^*=(X^T\theta X)^{-1}X^T\theta Y \]其中\(\theta=diag(\theta_1,\theta_2,...,\theta_n)\)。
局部加權回歸的優點:
- 需要預測的數據僅與到訓練數據的距離有關,距離越近,關系越大,反之越小;
- 可以有效避免欠擬合,減小了較遠數據的干擾,僅與較近的數據有關。
局部加權回歸的缺點:
- 需要對每一個測試樣本擬合一次參數,計算效率低;
- 容易過擬合。