1. 程式人生 > >L1、L2 正則項詳解 - 解空間、先驗分佈、最大似然估計 and 最大後驗估計

L1、L2 正則項詳解 - 解空間、先驗分佈、最大似然估計 and 最大後驗估計

L1、L2 正則項詳解(解空間、先驗分佈)

  • 引入

    線上性迴歸或其他模型中,我們經常使用正則項,例如:對普通線性迴歸新增 L1 正則項後就變為 Lasso 迴歸,對普通線性迴歸新增 L2 正則項後就變為 Ridge 迴歸。對於正則項,我們都知道 L2 正則項具有縮放型效應,可以讓模型引數更加平滑;L1 正則項具有截斷型效應,使得模型引數更加稀疏。那麼本文就對這現象的背後原理進行講解。

  • 直觀看

    首先對平滑與稀疏建立一個直觀的概念,稀疏意味著使模型引數等於 0,從而在模型內部嵌入式地進行特徵選擇,;而平滑則會盡量使引數小,但不等於 0,從而嵌入式地對特徵進行縮小。

    舉一個不嚴謹但直觀簡單的例子,方便理解:設 f ( x ; w

    ) f(x;w) 為經驗損失, L L 代表正則項, l
    ( x ; w ) = f ( x ; w ) + L l(x;w)=f(x;w)+L
    為結構損失。假設此時使用梯度下降更新引數, μ μ 為學習率,則梯度為 μ f ( w ) w i μ L w i μ\frac{\partial f(w)}{\partial w_i}-μ*\frac{\partial L}{\partial w_i} ,對於不同的正則項 μ f ( w ) w i μ\frac{\partial f(w)}{\partial w_i} 是相同的,我們暫時忽略,所以:

    1. 使用 L1 正則項,梯度為: μ i = 1 n w i w i = μ 1 = μ μ\frac{\partial \sum_{i=1}^{n}|w_i|}{\partial w_i}=μ*1=μ , 梯度更新引數的表示式為: w i : = w i μ 1 w_i:=w_i-μ*1 ,假設 μ = 0.5 μ=0.5 ,則 w i : = w i 0.5 w_i:=w_i-0.5 ,所以 L1 意味著在更新引數時相當於一直減去一個定值,那麼終會有一時刻將 w i w_i 減為 0,那麼此時引數為 0,所以稀疏。
    2. 使用 L2 正則項,梯度為: 1 2 μ i = 1 n ( w i ) 2 w i = μ w i \frac{1}{2}μ\frac{\partial \sum_{i=1}^{n}(w_i)^2}{\partial w_i}=μw_i , 梯度更新引數的表示式為: w i : = w i μ w i w_i:=w_i-μw_i ,假設 μ = 0.5 μ=0.5 ,則 w i : = w i 1 2 w i : = 1 2 w i w_i:=w_i-\frac{1}{2}w_i:=\frac{1}{2}w_i ,相當於每次的更新都是折半,則更新的影象為 log 2 w i \log_2w_i ,所以只會趨近於 0,不會等於 0,趨於平滑。

    通過上面不正規的例子,我們隊稀疏性與平滑型有了直觀的理解,下面就開始正式的通過公式證明。

  • 解空間

    在優化過程中,我們希望在優化經驗損失 i = 1 n ( y i w T x i ) 2 \sum_{i=1}^{n}(y_i-w^Tx_i)^2 的同時,還希望對模型的複雜度進行限制,約束引數的取值空間,從而達到防止過擬合的效果,那麼我們可以為優化問題加上一個約束,即引數 w w 的範數不能大於 C:

    對於 Lβ 範數: { m i n i = 1 n ( y i w T x i ) 2 s . t . w β C 0 β = 1 , 2 \begin{cases} min\sum_{i=1}^{n}(y_i-w^Tx_i)^2\\ s.t. ||w||_β-C \le 0,β=1,2\\ \end{cases}