線性迴歸算法&L1,L2正則

線性迴歸算法

假設數據集爲:
D={(x1,y1),(x2,y2),,(xN,yN)}(式1) \mathcal{D}=\{(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)\}\tag{式1}
後面我們記:
X=(x1,x2,,xN)T,Y=(y1,y2,,yN)T(式2) X=(x_1,x_2,\cdots,x_N)^T,Y=(y_1,y_2,\cdots,y_N)^T\tag{式2}
線性迴歸假設:
f(w)=wTx(式3) f(w)=w^Tx\tag{式3}

最小二乘法

對這個問題,採用二範數定義的平方誤差來定義損失函數:
L(w)=i=1NwTxiyi22(式4) L(w)=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2\tag{式4}
展開得到:
L(w)=(wTx1y1,,wTxNyN)(wTx1y1,,wTxNyN)T=(wTXTYT)(XwY)=wTXTXwYTXwwTXTY+YTY=wTXTXw2wTXTY+YTY(式5) \begin{aligned} L(w)&=(w^Tx_1-y_1,\cdots,w^Tx_N-y_N)\cdot (w^Tx_1-y_1,\cdots,w^Tx_N-y_N)^T\\ &=(w^TX^T-Y^T)\cdot (Xw-Y)=w^TX^TXw-Y^TXw-w^TX^TY+Y^TY\\ &=w^TX^TXw-2w^TX^TY+Y^TY \end{aligned}\tag{式5}
最小化這個值的 $ \hat{w}$ :
w^=argminwL(w)wL(w)=02XTXw^2XTY=0w^=(XTX)1XTY=X+Y(式6) \begin{aligned} \hat{w}=\mathop{argmin}\limits_wL(w)&\longrightarrow\frac{\partial}{\partial w}L(w)=0\\ &\longrightarrow2X^TX\hat{w}-2X^TY=0\\ &\longrightarrow \hat{w}=(X^TX)^{-1}X^TY=X^+Y \end{aligned}\tag{式6}
這個式子中 (XTX)1XT(X^TX)^{-1}X^T 又被稱爲僞逆。對於行滿秩或者列滿秩的 XX,可以直接求解,但是對於非滿秩的樣本集合,需要使用奇異值分解(SVD)的方法,對 XX 求奇異值分解,得到
X=UΣVT(式7) X=U\Sigma V^T\tag{式7}
於是:
X+=VΣ1UT(式8) X^+=V\Sigma^{-1}U^T\tag{式8}
在幾何上,最小二乘法相當於模型(這裏就是直線)和試驗值的距離的平方求和,假設我們的試驗樣本張成一個 pp 維空間(滿秩的情況):X=Span(x1,,xN)X=Span(x_1,\cdots,x_N),而模型可以寫成 f(w)=Xβf(w)=X\beta,也就是 x1,,xNx_1,\cdots,x_N 的某種組合,而最小二乘法就是說希望 YY 和這個模型距離越小越好,於是它們的差應該與這個張成的空間垂直:
XT(YXβ)=0β=(XTX)1XTY(式9) X^T\cdot(Y-X\beta)=0\longrightarrow\beta=(X^TX)^{-1}X^TY\tag{式9}

噪聲爲高斯分佈的 MLE

對於一維的情況,記 y=wTx+ϵ,ϵN(0,σ2)y=w^Tx+\epsilon,\epsilon\sim\mathcal{N}(0,\sigma^2),那麼 yN(wTx,σ2)y\sim\mathcal{N}(w^Tx,\sigma^2)。代入極大似然估計中:
L(w)=logp(YX,w)=logi=1Np(yixi,w)=i=1Nlog(12πσexp(yiwTxi)22σ2)argmaxwL(w)=argminwi=1N(yiwTxi)2(式10) \begin{aligned} L(w)=\log p(Y|X,w)&=\log\prod\limits_{i=1}^Np(y_i|x_i,w)\\ &=\sum\limits_{i=1}^N\log(\frac{1}{\sqrt{2\pi\sigma}}exp^{-\frac{(y_i-w^Tx_i)^2}{2\sigma^2}})\\ &\mathop{argmax}\limits_wL(w) =\mathop{argmin}\limits_w\sum\limits_{i=1^N}(y_i-w^Tx_i)^2 \end{aligned}\tag{式10}
這個表達式和最小二乘估計得到的結果一樣。

權重先驗也爲高斯分佈的 MAP

取先驗分佈 wN(0,σ02)w\sim\mathcal{N}(0,\sigma_0^2)。於是:
w^=argmaxwp(wY)=argmaxwp(Yw)p(w)=argmaxwlogp(Yw)p(w)=argmaxw(logp(Yw)+logp(w))=argminw[(ywTx)2+σ2σ02wTw](式11) \begin{aligned} \hat{w}=\mathop{argmax}\limits_wp(w|Y)&=\mathop{argmax}\limits_wp(Y|w)p(w)\\ &=\mathop{argmax}\limits_w\log p(Y|w)p(w)\\ &=\mathop{argmax}\limits_w(\log p(Y|w)+\log p(w))\\ &=\mathop{argmin}\limits_w[(y-w^Tx)^2+\frac{\sigma^2}{\sigma_0^2}w^Tw] \end{aligned}\tag{式11}
這裏省略了 XXp(Y)p(Y)ww 沒有關係,同時也利用了上面高斯分佈的 MLE的結果。

我們將會看到,超參數 σ0\sigma_0的存在和下面會介紹的 Ridge 正則項可以對應,同樣的如果將先驗分佈取爲 Laplace 分佈,那麼就會得到和 L1 正則類似的結果。

正則化

在實際應用時,如果樣本容量不遠遠大於樣本的特徵維度,很可能造成過擬合,對這種情況,我們有下面三個解決方式:

  1. 加大數據量
  2. 特徵選擇(降低特徵維度)如 PCA 算法。
  3. 加入正則化

正則化一般是在損失函數(如上面介紹的最小二乘損失)上加入正則化項(表示模型的複雜度對模型的懲罰),下面我們介紹一般情況下的兩種正則化框架。
L1:argminwL(w)+λw1,λ>0L2:argminwL(w)+λw22,λ>0(式12) \begin{aligned} L1&:\mathop{argmin}\limits_wL(w)+\lambda||w||_1,\lambda\gt0\\ L2&:\mathop{argmin}\limits_wL(w)+\lambda||w||^2_2,\lambda \gt 0 \end{aligned}\tag{式12}
下面對最小二乘誤差分別分析這兩者的區別。

L1 Lasso

L1正則化可以引起稀疏解。

從最小化損失的角度看,由於 L1 項求導在0附近的左右導數都不是0,因此更容易取到0解。

從另一個方面看,L1 正則化相當於:
argminwL(w)s.t.w1<C(式13) \mathop{argmin}\limits_wL(w)\quad s.t. ||w||_1\lt C \tag{式13}
我們已經看到平方誤差損失函數在 ww 空間是一個橢球,因此上式求解就是橢球和 w1=C||w||_1=C的切點,因此更容易相切在座標軸上。

L2 Ridge

w^=argminwL(w)+λwTwwL(w)+2λw=02XTXw^2XTY+2λw^=0w^=(XTX+λI)1XTY(式14) \begin{aligned} \hat{w}=\mathop{argmin}\limits_wL(w)+\lambda w^Tw&\longrightarrow\frac{\partial}{\partial w}L(w)+2\lambda w=0\\ &\longrightarrow2X^TX\hat{w}-2X^TY+2\lambda \hat w=0\\ &\longrightarrow \hat{w}=(X^TX+\lambda \mathbb{I})^{-1}X^TY \end{aligned}\tag{式14}

可以看到,這個正則化參數和前面的 MAP 結果不謀而合。利用2範數進行正則化不僅可以是模型選擇 ww 較小的參數,同時也避免 $ X^TX$不可逆的問題。

總結

線性迴歸模型是最簡單的模型,在這裏,利用最小二乘誤差得到了閉式解。同時也發現,在噪聲爲高斯分佈的時候,MLE 的解等價於最小二乘誤差,而增加了正則項後,最小二乘誤差加上 L2 正則項等價於高斯噪聲先驗下的 MAP解,加上 L1 正則項後,等價於 拉普拉斯 噪聲先驗。

傳統的機器學習方法或多或少都有線性迴歸模型的影子:

  1. 線性模型往往不能很好地擬合數據,因此有三種方案克服這一劣勢:
    1. 對特徵的維數進行變換,例如多項式迴歸模型就是在線性特徵的基礎上加入高次項。
    2. 在線性方程後面加入一個非線性變換,即引入一個非線性的激活函數,典型的有線性分類模型如感知機。
    3. 對於一致的線性係數,我們進行多次變換,這樣同一個特徵不僅僅被單個係數影響,例如多層感知機(深度前饋網絡)。
  2. 線性迴歸在整個樣本空間都是線性的,我們修改這個限制,在不同區域引入不同的線性或非線性,例如線性樣條迴歸和決策樹模型。
  3. 線性迴歸中使用了所有的樣本,但是對數據預先進行加工學習的效果可能更好(所謂的維數災難,高維度數據更難學習),例如 PCA 算法和流形學習。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章