天天看點

算法梳理之線性回歸

   線性回歸模型作為算法梳理的第一個模型,也是機器學習中最為基礎與容易了解的模型,在各個機器學習的書籍與教程中也是作為機器學習的引例。線性回歸的資料集的形式為多個屬性X與一個對應的Y,目的是求解X與Y之間的線性映射關系,優化求解參數的目标是降低預測值與Y之間的差别,“差别”的度量方式有很多種(如均方誤差,均方根誤差等等),其中均方誤差可以看作是高斯噪聲模型的假設下的最大似然解。若屬性X隻有一個,則在X,Y組成的二維空間下求解最小二乘法來估計參數。若屬性X為多個,則可以寫出均方誤差的矩陣形式,通過正規化來求解,當求解不唯一的時候需要使用正則化等手段進一步限制并求解參數。

   一般向量形式: f ( x ) = w T x + b f(x)=w^Tx + b f(x)=wTx+b,其中 w = ( w 1 ; w 2 ; . . . ; w n ) w=(w_1;w_2;...;w_n) w=(w1​;w2​;...;wn​),w和b學得之後,模型就得以确定。

   當屬性的數目隻有一個的時候:

   試圖學習 f ( x i ) = w x i + b i f(x_i)=wx_i+b_i f(xi​)=wxi​+bi​,使得 f ( x i ) ≈ y i f(x_i)\approx y_i f(xi​)≈yi​。

  采用均方誤差作為衡量 f ( x ) 和 y f(x)和y f(x)和y的度量,選取 w 和 b w和b w和b使得均方誤差的結果最小的過程就是線性回歸模型的最小二乘“參數估計”,最小二乘法就是試圖找到一條直線,使得所有樣本到直線上的歐氏距離之和最小。

( w ∗ , b ∗ ) = arg ⁡ min ⁡ ∑ i = 1 m ( y i − w x i − b ) 2 (w^*,b^*)=\arg\min\sum_{i=1}^{m}(y_i-wx_i-b)^2 (w∗,b∗)=argmin∑i=1m​(yi​−wxi​−b)2

  對w,b分别求導,令其為零便可求得w與b的閉式解:

w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i 2 ) 2 w=\frac{\sum_{i=1}^{m}y_i(x_i-\bar{x})} {\sum_{i=1}^{m}x_i^2-\frac{1}{m}(\sum_{i=1}^{m}x_i^2)^2} w=∑i=1m​xi2​−m1​(∑i=1m​xi2​)2∑i=1m​yi​(xi​−xˉ)​

b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) b=m1​∑i=1m​(yi​−wxi​)

  當屬性的數目為多個時(多元線性回歸):

  類似寫出其均方誤差的矩陣表示:

w ^ ∗ = arg ⁡ min ⁡ ( y − X w ^ ) T ( X w ^ − y ) \hat{w}^*=\arg\min(y-X\hat{w})^T(X\hat{w}-y) w^∗=argmin(y−Xw^)T(Xw^−y)

令 E w ^ = ( y − X w ^ ) T ( X w ^ − y ) E_{\hat{w}}=(y-X\hat{w})^T(X\hat{w}-y) Ew^​=(y−Xw^)T(Xw^−y)

化簡得 E w ^ = y y T − 2 y T x w ^ + w ^ T x T x w ^ E_{\hat{w}}=yy^T-2y^Tx\hat{w}+\hat{w}^Tx^Tx\hat{w} Ew^​=yyT−2yTxw^+w^TxTxw^

對 w ^ \hat{w} w^求導: ∂ E w ^ ∂ w ^ = − 2 x T y + 2 x T x w ^ \frac{\partial E_{\hat{w}}}{\partial \hat{w}}=-2x^Ty+2x^Tx\hat{w} ∂w^∂Ew^​​=−2xTy+2xTxw^

  令其為0,便可得到一個非齊次方程組: x T x w ^ = x T y x^Tx\hat{w}=x^Ty xTxw^=xTy,在這裡需要讨論其解得情況:

  若 x T x x^Tx xTx滿秩,則存在唯一解 w ^ ∗ = ( x T x ) − 1 x T y \hat{w}^*=(x^Tx)^{-1}x^Ty w^∗=(xTx)−1xTy。

  若 x T x x^Tx xTx不是滿秩,則可能是無解,也可能是無數組解,可以通過PCA降維使得特征數量變少,提出線性相關得特征,增加樣本量,和正則化來調節與限制最終的 w ^ ∗ \hat{w}^* w^∗。

繼續閱讀