【溫故而知新】線性迴歸(Linear Regression)

本文主要以下幾個角度來講解線性迴歸:

  • 最小二乘法LSE(矩陣表達,幾何意義)
  • 概率角度:最小二乘法LSE——noise爲Gaussian MLE
  • 正則化:
    • L1——Lasso
    • L2——Ridge
  • 正則化的幾何解釋

最小二乘法

定義爲:通過給定樣本數據集D=\left \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\right \}, x_i \in \mathbb{R}^{p}, y_i \in \mathbb{R}, i =1,...,N,試圖學習到這樣的一個模型,使得對於任意的輸入特徵向量x=(x_1, x_2, ..., x_N)^T,模型的預測輸出f(x)能夠表示爲輸入特徵向量\large x的線性函數,即滿足:

                   f(x_i)=w_1x_{i1}+w_2x_{i2}+...+w_px_{ip}+b                          

也可以寫成矩陣的形式:

                   f(X)=W^TX+b

其中,W=(w_1, w_2, ... , w_p)^Tb稱爲模型的參數。

爲了求解線性模型的參數Wb,首先我們定義損失函數,在迴歸任務中,常用的損失函數是均方誤差:

                   L\left ( W, b \right ) = \frac{1}{2} \sum_{i=1}^{N}\left (f(x_i)-y_i \right )^2

優化損失函數就是我們的目標,基於均方誤差損失函數來求解模型參數的方差,也就是我們熟悉的最小二乘法,最小二乘法的思想其實就是尋找一個超平面,使得訓練數據集D中的所有樣本點到這個超平面的歐式距離最小。

OK,接下來就是優化問題了,如何取優化該損失函數,從而獲得最優模型參數W^*b^*,因爲該損失函數是凸函數,根據極值存在的必要條件,我們可以運用解析法進行求解。

下面我們將給出詳細的推導求解Wb的過程:

1. 首先將參數Wb進行合併,用\theta來進行表示:\theta=\left( w_1, w_2, ..., w_p, b \right )^T_{1*(p+1)}, 容易知道\large \thetap+1維度。

對輸入特徵向量進行改寫,,則全體訓練集,可用矩陣進行如下表示:

                   X=\begin{pmatrix} x_1^T \\ x_2^T \\ ... \\ x_N^T \\ I\end{pmatrix}=\begin{pmatrix} x_{11} & x_{12} & ... & x_{1p} & 1 \\ x_{21} & x_{22} & ... & x_{2p} &1\\ ... & ... & ... & ... & ...\\ x_{N1} & x_{N2} & ... & x_{Np} & 1 \end{pmatrix}_{N*(p+1)}

對輸入特徵向量的輸出標籤,可以改寫爲:

                   Y=\left( y_1, y_2, ..., y_N\right)^T

2. 根據1.我們可以知道\large x_i是一個(p+1)\times 1的列向量,這樣模型的預測結果可以寫成矩陣形式:

                   f \left( x_i \right)=\theta^Tx_i

3. 根據1和2,損失函數可以轉化爲矩陣形式:

                   L\left( \theta \right ) = \sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^{2}=\sum_{i=1}^{N}( \theta^Tx_i-y_i )^{2}

                             =\begin{pmatrix} \theta^Tx_1-y_1 & \theta^Tx_2-y_2 & ... & \theta^Tx_N-y_N \end{pmatrix} \begin{pmatrix} \theta^Tx_1-y_1 \\ \theta^Tx_2-y_2 \\ ... \\ \theta^Tx_N-y_N \end{pmatrix}

                             =(\theta^TX^T-Y^T)(X\theta-Y)         

根據極值存在的必要條件,下面進行對參數\large \theta的求導:

Method 1:

      \large \bigtriangledown_\theta L(\theta) =\bigtriangledown_\theta \frac{1}{2}(X\theta-Y)^T(X\theta-Y)

                       \large =\frac{1}{2}\bigtriangledown_\theta(\theta^TX^TX\theta - \theta^TX^TY-Y^TX\theta+Y^TY),這裏的\large {\color{Red} Y^TX\theta \in \mathbb{R}, \theta^TX^TY \in \mathbb{R}}

                       \large =\frac{1}{2}\bigtriangledown_\theta(\theta^TX^TX\theta - 2\theta^TX^TY+Y^TY)

                       \large =\frac{1}{2}\bigtriangledown_\theta(\theta^TX^TX\theta - 2X^TY)

Method 2:

      \large \bigtriangledown_\theta L(\theta) =\bigtriangledown_\theta \frac{1}{2}(X\theta-Y)^T(X\theta-Y)

                       \large =\frac{1}{2}\bigtriangledown_\theta(\theta^TX^TX\theta - \theta^TX^TY-Y^TX\theta+Y^TY)       對上一步結果進行展開

                       \large =\frac{1}{2}\bigtriangledown_\theta tr(\theta^TX^TX\theta - \theta^TX^TY-Y^TX\theta + Y^TY)轉換爲跡運算

                       \large =\frac{1}{2}\bigtriangledown_\theta \left ( tr(\theta^TX^TX\theta) -tr( \theta^TX^TY)-tr(Y^TX\theta )+ tr(Y^TY) \right )  對上一步結果進行展開

根據常見矩陣求導公式\large tr(A)=tr(A^T),可知\large \because (\theta^TX^TY)^T = Y^TX\theta \therefore tr( \theta^TX^TY) = tr(Y^TX\theta )

                       \large =\frac{1}{2}\bigtriangledown_\theta \left ( tr(\theta^TX^TX\theta) -2tr(Y^TX\theta )\right )

根據常見矩陣求導公式\large \bigtriangledown_X tr(X^TAX)=(A+A^T)X,可知\large \bigtriangledown_\theta \left ( tr(\theta^TX^TX\theta) \right ) = \left ((X^TX)^T + X^TX \right)\theta = 2X^TX\theta

根據常見矩陣求導公式\large \bigtriangledown_X tr(\beta^TX)=\beta,可知\large \bigtriangledown_\theta \left ( tr(Y^TX\theta )\right ) = (Y^TX)^T=X^TY

 

綜上可知,\large \bigtriangledown_\theta L(\theta) = \frac{1}{2} \left (2X^TX\theta -2X^T\theta \right)=X^TX\theta-X^TY

\large \bigtriangledown_\theta L(\theta) = 0,可得\large X^TX\theta-X^TY=0,求解得到\large \theta=(X^TX)^{-1}X^TY

需要注意,要保證對稱矩陣\large X^TX是可逆的,如果不可逆,則解析法求解失效。

 

幾何意義

1. 第一種幾何解釋

如下圖所示:誤差與所有的紅色距離有關;

 2. 第二種幾何解釋

把誤差被分配到p個維度上;

由最小二乘法可知:

                    f(W)=XW

其中矩陣X_{N*p},W_{p*1}

X=\begin{pmatrix} x_1^T \\ x_2^T \\ ... \\ x_N^T \\ \end{pmatrix}=\begin{pmatrix} x_{11} & x_{12} & ... & x_{1p} \\ x_{21} & x_{22} & ... & x_{2p} \\ ... & ... & ... & ... \\ x_{N1} & x_{N2} & x_{Np} & 1 \end{pmatrix}_{N*p}, 這裏X對一列一列來看,這p個N維向量就構成p維子空間;這裏的Y_{N*1}是不在p維子空間,除非數據集每個樣本點都被完全擬合;

在這裏我們f(W)=X\theta改寫成f(W)=X\beta

幾何意義:在p維子空間找到一個平面f(\beta),使得Y_{N*1}與此f(\beta)最近,即Y_{N*1}p維子空間的投影,則滿足Y-f(W)p維子空間的基向量垂直。如下圖所示:

綜上可知:X^T(Y-f(W))=0 

                  X^T(Y-X\beta)=0

                  X^TY=X^TX\beta

                   \beta=(X^TX)^{-1}X^TY

概率視角

概率視角主要考察最小二乘法與高斯分佈之間的關係

考慮第i個樣本x_i的真實輸出y_if(x_i)存在如下關係:

                     y_i = f(x_i) + \varepsilon =\theta^Tx_i + \varepsilon_i

其中\varepsilon_i表示由噪聲引起的誤差項,\varepsilon_i服從均值0,標準差爲\delta的高斯分佈,則y|x;w\sim N(\theta^Tx,\delta^2)

整理可得:  p(y_i|x_i;\theta)=\frac{1}{\sqrt{2\pi}}exp\left ( -\frac{(\theta^Tx_i - y_i)^2}{2\delta^2} \right )

利用對數最大似然估計有:

L(\theta)=\log P(Y|X;\theta)=\log \prod_{i=1}^{N}P(y_i|x_i;\theta)=\sum_{i=1}^{N}\log P(y_i|x_i;\theta)         

                                      =\sum_{i=1}^{N}\log \frac{1}{\sqrt{2\pi}\delta}+\sum_{i=1}^{N}\log exp \left ( -\frac{(\theta^Tx_i-y_i)^2}{2\delta^2}\right)

                                      =\sum_{i=1}^{N} \left( \log \frac{1}{\sqrt{2\pi}\delta} - \frac{1}{2\delta^2}(\theta^Tx_i-y_i)^2 \right )

                                 

                     \hat{\theta}=\arg \max_\theta L(\theta)

                        =\arg \max_\theta \left( -\frac{1}{2\delta^2}(\theta^Tx_i-y_i)^2 \right)

                        =\arg \min_\theta \left(\theta^Tx_i-y_i \right)^2     等價於損失函數{\color{Red} L\left( \theta \right ) = \sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^{2}{\color{Red} }}

綜上可知:最小二乘估計等價於噪聲服從高斯分佈的極大似然估計;

 

正則化

由上面可知,最小二乘的損失函數爲L(\theta)=\sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^2,解析解爲\hat{\theta}=(X^TX)^{-1}X^TY

其中X_{N*(p+1)}N個樣本,x_i \in \mathbb{R}^{p+1},多出來的一維度是因爲方便與偏置加法計算。一般情況下,N>>(p+1);

模型過擬合的解決方案:

  1. 加數據
  2. 特徵選擇/特徵提取.(PCA)
  3. 正則化

正則化框架如下:

                  \arg \min_\theta \left [ L(\theta) + \lambda P(\theta) \right ]

其中,P(\theta)爲懲罰項,  L1: lasso, P(\theta) = \left \| \theta \right \|

                                       L2: Ridge, P(\theta) = \left \| \theta \right \|_{2}^{2}=\theta^T\theta

帶L1正則化的線性迴歸的損失函數:

                J(\theta)=\sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^2+\lambda \left \| \theta \right \|=\sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^2+\lambda \sum_{i=1}^{p+1}\left | \theta_i \right |

                        =(\theta^TX^T-Y^T)(XW-Y)+\lambda \sum_{i=1}^{p+1}\left | \theta_i \right |

                        =\theta^TX^TXW-2\theta^TX^TY+Y^TY+\lambda \sum_{i=1}^{p+1}\left | \theta_i \right |

由於\theta_i的正負無法確定,因爲這裏將\sum_{i=1}^{p+1}\left | \theta_i \right |轉換成\sum_{i=1}^{p+1}\theta_i\cdot sign(\theta_i)進行求導,sign(\cdot )爲符號函數。

           \bigtriangledown_\theta J(\theta) =\theta^TX^TXW-2\theta^TX^TY+Y^TY+\lambda \sum_{i=1}^{p+1}\left | \theta_i \right |

                         =\theta^TX^TXW-2\theta^TX^TY+Y^TY+\lambda \sum_{i=1}^{p+1}\theta_i\cdot sign(\theta_i) 

                         =2X^TX\theta - 2X^TY+\lambda\cdot sign(\theta_i)  

\bigtriangledown_\theta J(\theta) = 0,可得2X^TX\theta - 2X^TY+\lambda\cdot sign(\theta_i)=0,有X^T(Y-X\theta)=\lambda\cdot sign(\theta_i), 在這裏是得不到解析解的,那麼如何求解L1正則化的極小值呢?可採用座標軸下降法(Coordinate Descent)和最小角迴歸法(Least Angle Regressionm), 此處不展開。

帶L2正則化的線性迴歸的損失函數:

                J(\theta)=\sum_{i=1}^{N}\left \| \theta^Tx_i-y_i \right \|^2+\lambda \theta^T\theta

                         =(\theta^TX^T-Y^T)(XW-Y)+\lambda\theta^T\theta

                         =\theta^TX^TXW-2\theta^TX^TY+Y^TY+\lambda\theta^T\theta       

                         =\theta^T(X^TX + \lambda I)\theta-2\theta^TX^TY+Y^TY      

               \hat{\theta}=\arg \min_\theta J(\theta)         

在前邊已經詳細推導過,這裏不在詳細推導,求導結果爲 \bigtriangledown_\theta J(\theta) =2(X^TX+\lambda I)\theta - 2X^TY 

\bigtriangledown_\theta J(\theta) = 0,可得2(X^TX+\lambdaI)\theta - 2X^TY=0,求解得到\theta=(X^TX+\lambda I)^{-1}X^TY

 正則化的幾何解釋

帶L2正則化的線性迴歸:

在最大似然估計中,是假設權重\theta是未知的參數,從而求得對數似然函數:

 L(\theta)=\log P(Y|X;\theta)=\log \prod_{i=1}^{N}P(y_i|x_i;\theta)=\sum_{i=1}^{N}\log P(y_i|x_i;\theta)

在最大化後驗概率估計中,是將權重\theta看作隨機變量,也具有某種概率分佈,從而有:

P(X;\theta | Y)=\frac{P(Y | X;\theta)\cdot P(\theta)}{P(Y)}\propto P(Y | X;\theta)\cdot P(\theta)

利用最大化後驗概率可以有:

後驗概率函數: L(\theta)=\log P(X;\theta | Y)= \log P(Y | X;\theta)\cdot P(X;\theta)=\log P(Y |X; \theta) + \log P(X;\theta)

後驗概率函數是在似然函數的基礎上增加了 \log P(X;\theta)P(X;\theta)的意義爲對權重係數\theta的概率分佈的先驗假設,在收集到足夠的數據集D,則依據在數據集D下的後驗概率對權重係數\theta進行修正,從而完成對權重係數\theta的估計。

這裏假設權重係數\theta的先驗分佈爲高斯分佈,\theta \sim N(0,\delta_0^2).如下圖所示:

則有:

P(X;\theta)=\frac{1}{\sqrt{2\pi}\delta_0} exp(-\frac{\left \| \theta \right \|_2^2}{2\delta_0^2})

P(Y|X;\theta)=\frac{1}{\sqrt{2\pi}\delta} exp(-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2})

MAP:\hat{\theta}=\arg \max_\theta \log P(X;\theta|Y)=arg \max_\theta \log \left [ P(Y|X;\theta)\cdot P(X;\theta)\right]

               =arg \max_\theta \log \left \{ \frac{1}{\sqrt{2\pi}\delta_0} exp(-\frac{\left \| \theta \right \|_2^2}{2\delta_0^2}) \cdot \frac{1}{\sqrt{2\pi}\delta} exp(-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2}) \right \}

               =arg \max_\theta \log \left \{ \frac{1}{\sqrt{2\pi}\delta_0} \frac{1}{\sqrt{2\pi}\delta} \right \} + \log exp \left \{ -\frac{\left \| \theta \right \|_2^2}{2\delta_0^2}-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \max_\theta \log exp \left \{ -\frac{\left \| \theta \right \|_2^2}{2\delta_0^2}-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \min_\theta \left \{ \frac{\left \| \theta \right \|_2^2}{2\delta_0^2}+\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \min_\theta \left \{ \frac{\delta^2}{\delta_0^2}\left \| \theta \right \|_2^2+\left \| \theta^Tx-y \right \|_2^2 \right \}

MAP: \hat{\theta}_{MAP}=\arg \min_\theta \sum_{i=1}^{N}(\theta^Tx_i-y_i)^2+\lambda \theta^T\theta,  \lambda=\frac{\delta^2}{\delta_0^2}

綜上可知,最小二乘估計LSE 等價於 極大似然估計MLE(noise 爲Gaussian Distribution)

                  L2正則化最小二乘估計Regularized LSE 等價於 最大後驗概率估計MAP (priod 和 noise均爲Gaussian Distribution)

 

同理,帶L1正則化的線性迴歸:

這裏假設權重係數\theta的先驗分佈爲拉普拉斯分佈,\theta \sim La(0,\delta_0).

則有:

P(X;\theta)=\frac{1}{2\delta_0} exp (-\frac{\left | \theta \right |}{\delta_0} )

P(Y|X;\theta)=\frac{1}{\sqrt{2\pi}\delta} exp(-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2})

MAP:\hat{\theta}=\arg \max_\theta \log P(X;\theta|Y)=arg \max_\theta \log \left [ P(Y|X;\theta)\cdot P(X;\theta)\right]

               =arg \max_\theta \log \left \{ \frac{1}{2\delta_0} exp (-\frac{\left | \theta \right |}{\delta_0} ) \cdot \frac{1}{\sqrt{2\pi}\delta} exp(-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2}) \right \}

               =arg \max_\theta \log \left \{ \frac{1}{2\delta_0} \frac{1}{\sqrt{2\pi}\delta} \right \} + \log exp \left \{ -\frac{\left | \theta \right |}{\delta_0}-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \max_\theta \left \{ -\frac{\left | \theta \right |}{\delta_0}-\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \min_\theta \left \{ \frac{\left | \theta \right |}{\delta_0}+\frac{\left \| \theta^Tx-y \right \|_2^2}{2\delta^2} \right \}

               =arg \min_\theta \left \{ \frac{ 2\delta^2}{\delta_0}\left | \theta \right |+\left \| \theta^Tx-y \right \|_2^2\right \}

MAP: \hat{\theta}_{MAP}=arg \min_\theta \left \{ \frac{ 2\delta^2}{\delta_0}\left | \theta \right |+\left \| \theta^Tx-y \right \|_2^2\right \},  \lambda=\frac{2\delta^2}{\delta_0}

綜上可知,最小二乘估計LSE 等價於 極大似然估計MLE(noise 爲Gaussian Distribution)

                  L1正則化最小二乘估計Regularized LSE 等價於 最大後驗概率估計MAP (priod 爲Laplace Distribution,noise爲Gaussian Distribution)

 完,

【參考資料】

1. https://github.com/shuhuai007/Machine-Learning-Session

2. https://github.com/ws13685555932/machine_learning_derivation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章