[深度之眼機器學習訓練營第四期]過擬合與正則化

基本概念

機器學習模型面臨的兩個主要問題是欠擬合與過擬合。欠擬合,即模型具備較高的誤差,說明模型沒有從數據中學到什麼,以下左圖所示。而過擬合,即模型具備較高的方差,意味着模型的經驗偏差低而泛化偏差高,對新數據的泛化能力差,以下右圖所示。
在這裏插入圖片描述
一般,欠擬合是因爲模型過於簡單或使用數據集的特徵較少致使的。相反,過擬合則是模型過於複雜或特徵過多引發的。欠擬合的問題比較容易解決,而過擬合的問題則有些棘手。通常而言,解決過擬合的方法包括降維正則化機器學習

正則化損失函數

正則化是經過向損失函數中添加懲罰項以限制參數大小的一種方法。假設咱們有以下多項式線性迴歸模型:
\[ h_\theta(x)\theta_0 + \theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 \]
爲了不模型過於複雜,咱們須要削弱\(\theta_3x^3\)\(\theta_4x^4\)對模型的影響。所以,咱們須要對這兩項進行「懲罰」,避免它們過大。因此,咱們把這兩個參數乘以一個較大的係數,加到損失函數中:
\[ \min_{\theta} \frac{1}{2n}\sum_{i=1}^n\left(h_\theta(x^{(i)})-y^{(i)}\right) + 1000 \cdot \theta_3^2+ 1000 \cdot \theta_4^2 \]
這樣一來,爲了求解損失函數的最小值,式中\(\theta_3\)\(\theta_4\)的值就不能過大,也就限制了模型的複雜度。若是要限制全部的參數,那麼損失函數就是下面這種形式:
\[ \min_{\theta} \frac{1}{2n}\sum_{i=1}^n\left(h_\theta(x^{(i)})-y^{(i)}\right) + \lambda\sum_{j=1}^d\theta_j^2 \]
其中\(\lambda \gt 0\)是正則化參數。下面,咱們將正則化應用到以前所學的線性迴歸和對數概率迴歸中。函數

線性迴歸

梯度降低法

損失函數:
\[ J(\theta) = \frac {1}{2n}\left[ \sum_{i=1}^n \left( h_\theta (x^{(i)}) - y^{(i)} \right)^2 + \lambda\sum_{j=1}^d\theta_j^2\right] \]
今天懶得推導了(其實這個和不帶正則化項的推導差很少),直接寫更新方程吧:
\[ \begin{aligned} & \text{Repeat}\ \lbrace \\ & \ \ \ \ \theta_0 := \theta_0 - \alpha\ \frac{1}{n}\ \sum_{i=1}^n (h_\theta(x^{(i)}) - y^{(i)})x_0^{(i)} \\ & \ \ \ \ \theta_j := \theta_j - \alpha\ \left[ \left( \frac{1}{n}\ \sum_{i=1}^n (h_\theta(x^{(i)}) - y^{(i)})x_j^{(i)} \right) + \frac{\lambda}{n}\theta_j \right] &\ \ \ \ \ \ \ \ \ \ j \in \lbrace 1,2...d\rbrace\\ & \rbrace \end{aligned} \]學習

正規方程法

\[ \begin{aligned} & \theta = \left( X^TX + \lambda \cdot L \right)^{-1} X^Ty \text{, where}\ \ L = \begin{bmatrix} 0 & & & & \\ & 1 & & & \\ & & 1 & & \\ & & & \ddots & \\ & & & & 1 \\ \end{bmatrix}_{(d+1)\times(d+1)} \end{aligned} \]
\(X^TX + \lambda \cdot L\)這個東西一定可逆。spa

首先,由於\(\vec{u}^TA^TA\vec{u}=\|A\vec{u}\|^2 \ge0\),因此\(A^TA\)是半正定矩陣,即\(A^TA\)的全部特徵值\(\mu_i\ge 0\)。由\(A^TA\vec{u}=\mu_i \vec{u}\)能夠推出\((A^TA+\lambda I)\vec{u}=(\mu_i+\lambda)\vec{u}\),所以\(A^TA+\lambda I\)的特徵值爲\(\mu_i+\lambda\)。又由於\(\lambda \gt 0\),因此\(\mu_i+\lambda\gt0\)。因爲\(A^TA+\lambda I\)的全部特徵值都是大於\(0\)的,所以矩陣\(A^TA+\lambda I\)必定可逆。blog

對數概率迴歸

損失函數:
\[ J(\theta) = -\frac{1}{n} \sum _{i=1}^n \left[ y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)})\log(1 - h_\theta(x^{(i)})) +\frac{\lambda}{2}\sum_{j=1}^d\theta_j^2\right ] \]
更新方程與線性迴歸相似,這裏就不寫了。圖片

相關文章
相關標籤/搜索