嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有( 二 )


\[||x||_2 = \sqrt{\sum_{i=1}^{n}x_i^2}\]二范數平方為:
\[||x||_2^2 = \sum_{i=1}^{n}x_i^2\]所以就有了 \(\sum_{i=1}^{n}(X\hat{w}-Y)^2 = ||Y-X\hat{w}||_2^2\),那么對于公式\((16)\)來說 \(X\hat{w}-Y\) 是一個 \(n\times 1\)的向量:
\[X\hat{w}-Y = \left[\begin{matrix}\hat{y}_1 - y_1 \\ \hat{y}_2 - y_2 \\.\\.\\.\\\hat{y}_{n-1} - y_{n-1} \\\hat{y}_{n}- y_{n} \end{matrix}\right]\]所以根據矩陣乘法就有:
\[(X\hat{w} - Y)^T(X\hat{w} - Y)=\left[\begin{matrix} \hat{y}_1 - y_1,&..., &\hat{y}_{n} - y_{n} \end{matrix}\right]\cdot \left[\begin{matrix}\hat{y}_1 - y_1 \\\hat{y}_2- y_2 \\.\\.\\.\\\hat{y}_{n-1} - y_{n-1} \\\hat{y}_{n} - y_{n} \end{matrix}\right] = \sum_{i=1}^{n}(\hat{y}- y_i )^2 \tag{17}\]根據上面的分析最終就得到了模型的誤差:
\[\mathcal{L}(w, b) = \mathcal{L(\hat{w})} = ||X\hat{w} - Y||_2^2= (X\hat{w} - Y)^T(X\hat{w} - Y) \tag{18}\]現在就需要最小化模型的誤差,即優化問題 , 易知\(\mathcal{L(w, b)}\)是一個關于 \(\hat{w}\) 的凸函數 , 則當它關于\(\hat{w}\)導數為0時求出的\(\hat{w}\)是\(\hat{w}\)的最優解 。這里不對其是凸函數進行解釋,如果有時間以后專門寫一篇文章來解讀 ?,F在就需要對\(\hat{w}\)進行求導 。
\[\mathcal{L(\hat{w})} = ||X\hat{w} - Y||_2^2= (X\hat{w} - Y)^T(X\hat{w} - Y)\]\[= ((X\hat{w})^T - Y^T)(X\hat{w} - Y) = (\hat{w}^TX^T - Y^T)(X\hat{w} - Y)\]\[=\hat{w}^TX^TX\hat{w} - \hat{w}^TX^TY - Y^TX\hat{w} + Y^TY\]我們現在要對上述公式進行求導,我們先來推導一下矩陣求導法則,請大家扶穩坐好:
公求導式法則一:
\(\forall\) 向量 \(A:1 \times n\) , \(X: n \times 1, Y=A\cdot X\),則 \(\frac{\partial Y}{\partial X} = A^T\),其中\(Y\)是一個實數值 。
證明:
不妨設:
\[A = (a_1, a_2, a_3, ..., a_n)\]\[X = (x_1, x_2, x_3, ..., x_n)^T\]\[\therefore Y = (a_1, a_2, a_3, ..., a_n)\cdot \left[\begin{matrix} x_1\\x_2\\x_3\\.\\.\\.\\x_n\end{matrix}\right] = \sum_{i = 1}^{n}a_ix_i\]當我們在對\(x_i\) , 求導的時候其余\(x_j, j \neq i\) , 均可以看做常數,則:
\[\frac{\partial Y}{\partial x_i} = 0 + ...+0 + a_i + 0 +... + 0\]\[\therefore \frac{\partial Y}{\partial X} = \left[\begin{matrix}\frac{\partial Y}{\partial x_1}\\ \frac{\partial Y}{\partial x_2}\\.\\.\\.\\ \frac{\partial Y}{\partial x_{n-1}}\\\frac{\partial Y}{\partial x_n}\\\end{matrix}\right] = \left[\begin{matrix}a_1\\ a_2\\.\\.\\.\\a_{n-1}\\ a_n\end{matrix}\right] = (a_1, a_2, a_3, ..., a_n)^T = A^T\]由上述分析可知:
\[\frac{\partial Y}{\partial X} = A^T\]公求導式法則二:
當\(Y = X^TA\),其中 \(X:n\times 1, A:n\times 1\),則\(\frac{\partial Y}{\partial X} = A\)
公求導式法則三:
當\(Y = X^TAX\),其中 \(X:1\times n, A : n\times n\),則\(\frac{\partial Y}{\partial X} = (A^T + A)X\)
上面公式同理可以證明,在這里不進行贅述了 。
\[\mathcal{L(\hat{w})} =\hat{w}^TX^TX\hat{w} - \hat{w}^TX^TY - Y^TX\hat{w} + Y^TY \tag{19}\]有公式\((19)\)和上面求導法則可知:
\[\frac{\partial \mathcal{L(\hat{w})}}{\partial \hat{w}} = ((X^TX)^T + X^TX)\hat{w} - X^TY - (Y^TX)^T\\= 2X^TX\hat{w} - 2X^TY= 2X^T(X\hat{w} - Y) = 0\]\[X^TX\hat{w} = X^TY \tag{20}\]\[\therefore \hat{w}^* = (X^TX)^{-1}X^TY \tag{21}\]即 \(\hat{w}^* = (X^TX)^{-1}X^TY\) 為我們要求的參數 。
Ridge(嶺)回歸寫在前面:對于一個矩陣 \(A_{n\times n}\) 來說如果想它的逆矩陣那么 \(A\)的行列式必然不為0,且矩陣 \(A\) 是一個滿秩矩陣,即\(r(A)=n\) 。
根據上面的推導,在由公式\((20)\) 到 \((21)\) 是等式兩遍同時乘了 \(X^TX\)的逆矩陣,但是實際情況中,矩陣的逆可能是不存在的,當矩陣 \(X^TX : n\times n\) 不是滿秩矩陣的時候,即 \(r(X^TX) < n\)即 \(X^TX\) 行列式為 0時,\((X^TX)^{-1}\) 不存在 。一種常見的情況是,當\(x\) 的的樣本數據小于他的維數的時候,即對于 \(X\) 來說 \(n<m\),那么\(r(X) < m\)  , 又根據矩陣性質 \(r(X) = r(X^T) = r(X^TX)\),可以得到 \(r(X^TX) < m\),那么 \(X^TX\) 不滿秩 , 則 \((X^TX)^{-1}\) 不存在 。
對于上述 \((X^TX)^{-1}\) 不存在的情況一種常見的解決辦法就是在損失函數 \(\mathcal{L(\hat{w})}\) 后面加一個\(L_2\)正則化懲罰項:
\[\mathcal{L(\hat{w})} = ||X\hat{w} - Y||_2^2 + \lambda||\hat{w}||_2^2= (X\hat{w} - Y)^T(X\hat{w} - Y) + \lambda\hat{w}^T\hat{w} \tag{22}\]則對 \(\hat{w}\) 求導有:
\[\frac{\partial \mathcal{L(\hat{w})}}{\partial \hat{w}} = 2X^TX\hat{w} - 2X^TY + 2\lambda\hat{w}= 0 \tag{23}\]\[(X^TX+\lambda E)\hat{w} = X^TY\]當 \(X^TX\) 不滿秩的時候,其行列式為0,加上 \(\lambda E\)之后可以使得 \(X^TX+\lambda E\) 行列是不為0 , 所以 \((X^TX+\lambda E)^{-1}\)存在則:
\[\hat{w} = (X^TX+\lambda E)^{-1}X^TY \tag{24}\]除了上面提到的\(X^TX\)不滿秩的情況,還有一種常見的就是數據之間的共線性的問題,它也會導致\(X^TX\)的行列式為0,即\(X^TX\)不滿秩 。簡單來說就是數據的其中的一個屬性和另外一個屬性有某種線性關系,也就是說這兩個屬性就相當于一個屬性,因為其中一個屬性可以用另外一個屬性線性表示 。這會讓模型再訓練的時候導致過擬合,因為模型再訓練的時候不會去關心屬性之間是否具有線性關系 , 模型只會不加思考的去降低整個模型的損失 , 即\(MSE\),這會讓模型捕捉不到數據之間的關系,而只是單純的去降低訓練集的\(MSE\) 。而你如果只是單純的去降低你訓練集的\(MSE\)的時候,沒有捕捉到數據的規律,那么模型再測試集上會出現比較差的情況,即模型會出現過擬合的現象 。

推薦閱讀