L2正則
$$C=C_0+\frac{\lambda}{n}\sum_{i=1}^n{w_i^2}$$
$$\frac{\partial C}{\partial w}=\frac{\partial C_0}{\partial w}+\frac{\lambda}{2n}w$$
\begin{equation}w\to w'=w-\eta\frac{\partial C}{\partial w}=\left(1-\frac{\eta\lambda}{n}\right)w-\eta\frac{\partial C_0}{\partial w}\label{g1}\end{equation}
η是學習率,λ是正則系數,n是參數的個數。
L2 正則項的作用是使 w 在每次疊代時都 變小了 ηλ/n 倍。如果要使這個倍率不變,那麼當參數個數增多(即 n 變大) 時,正則項系數 λ 也應該相應調大。
L1正則
$$C=C_0+\frac{\lambda}{n}\sum_{i=1}^n{|w_i|}$$
$$\frac{\partial C}{\partial w}=\frac{\partial C_0}{\partial w}+\frac{\lambda}{n}\textrm{sgn}(w)$$
$$\textrm{sgn}(w)=\left\{\begin{matrix}1 & \textrm{if}\;w\geqslant 0\\0 & \textrm{if}\;w<0\end{matrix}\right.$$
$$w \to w-\frac{\eta\lambda}{n}\textrm{sgn}(w)-\eta\frac{\partial C_0}{\partial w}=w\pm\frac{\eta\lambda}{n}-\eta\frac{\partial C_0}{\partial w}$$
當w是小于1的正數時,L1正則的效果是使w減小ηλ/n ,即相比于L2正則w減小得更多,L1正則使(0,1)上的w快速向0逼近。當w位于(-1,0)時,L1正則的效果是使w增大ηλ/n,也是快速向0逼近。總的來說L1 正則的效果是使不重要的 w (絕對值小的w)幾乎衰減為 0。
跟L2一樣,參數變多時,正則系數λ也要跟着變大才能使w的更新速率保持不變。
