1. 程式人生 > 其它 >損失函式公式推導以及L2正則化

損失函式公式推導以及L2正則化

損失函式公式推導以及L2正則化

假設預測函式為 \(h\),預測函式中出現的所有常量為 \(\Theta\)(常量可能不止一個,所以用大寫的來表示)

例如 \(h=ax+bx^2+c\),那麼 \(\Theta=(a,b,c)\)

那麼 \(h_{\Theta}\) 就表示再常量為 \(\Theta\) 的情況下的假設函式

假設函式就是預測函式,同樣代價函式和損失函式也是一個意思

假設損失函式為 \(J\) ,則

\[\begin{aligned} J(\Theta)&=\frac{1}{2m}\sum_{i=1}^m(h_{\Theta}(x_i)-y_i)^2\\ \frac{\part J}{\part \theta_k}&=\frac{1}{m}\sum_{i=1}^m(h_{\Theta}(x_i)-y_i)\frac{\part h_{\Theta}(x_i)}{\part \theta_k} \end{aligned} \]

其中 \(m\)

表示樣本數、\(x_i\) 表示第 \(i\) 個樣本、\(y_j\) 表示第 \(i\) 個樣本的標籤、\(\theta_k\) 表示第 \(k\) 個常量

\(x_i\) 表示的是一個完整的樣本,不一定是一個數,也有可能是一個矩陣,\(y_i\) 同理

那麼 \(\frac{\part J}{\part \theta_k}\) 就表示代價函式 \(J\) 的對其第 \(k\) 個引數的偏導數

得到了偏導數,我們就可以根據梯度下降的公式來更新引數,即

\[\begin{aligned} \theta_k\rightarrow\theta_k-lr\frac{\part J}{\part \theta_k} \end{aligned} \]

其中 \(lr\)

表示學習率


L2正則化(權重衰減)

L2正則化可以減少過擬合,因為它可以使權重衰減。過擬合的原因一般是因為假設函式顧及到了樣本中的每一個點,最終形成的函式波動很大,自變數稍微變化就會導致函式值劇烈變化,結果一般顯現為在訓練集上的準確率很高,而在測試集上的準確率很低。從函式的結構上來看,波動很大的原因就是因為函式中的權重(常量)太大了,如果能將權重減小,就能減小波動,就能在一定程度上減小過擬合的情況。

\[\begin{aligned} J_{L2}(\Theta) &=\frac{1}{2m}\left(\sum_{i=1}^m(h_{\Theta}(x_i)-y_i)^2+\lambda\sum_{j=1}^n\theta_j^2\right) \\ &=J(\Theta)+\frac{\lambda}{2m}\sum_{j=1}^n\theta_j^2\\ \frac{\part J_{L2}}{\part\theta_k} &=\frac{1}{m}\left(\sum_{i=1}^m(h_{\Theta}(x_i)-y_i))\frac{\part h_{\Theta}(x_i)}{\part\theta_k}+\lambda\theta_k\right)\\ &=\frac{\part J}{\part\theta_k}+\frac{\lambda}{m}\theta_k\\ \end{aligned} \]

其中 \(\lambda\)

表示正則化係數,\(n\) 表示權重的個數,\(\theta_j\) 就表示第 \(j\) 個權重

重新推導權重更新方程

\[\begin{aligned} \theta_k &\rightarrow\theta_k-\frac{\part J_{L2}}{\part\theta_k}\\ &\rightarrow\theta_k-\left(\frac{\part J}{\part\theta_k}+\frac{\lambda}{m}\theta_k\right)\\ &\rightarrow\theta_k-\frac{\part J}{\part\theta_k}-\frac{\lambda}{m}\theta_k\\ &\rightarrow\theta_k(1-\frac{\lambda}{m})-\frac{\part J}{\part\theta_k} \end{aligned} \]

與原來的推導方程相比僅僅是 \(\theta_k\) 被放大了 \(1-\frac{\lambda}{m}\)

所以 \(\lambda\) 越大,權重衰減的越厲害