L1與L2正則化

2021-08-30 19:22:37 字數 3041 閱讀 4697

在機器學習中,我們茶廠聽到l1和l2正則化,用他們來防止過擬合,但是在什麼情況下使用它們和它們的原理是什麼樣的可能一知半解。所以在本部落格中將對l1和l2做簡單的介紹和應用場景。

如果引數過多,模型過於複雜,容易造成過擬合(overfit)。即模型在訓練樣本資料上表現的很好,但在實際測試樣本上表現的較差,不具備良好的泛化能力。為了避免過擬合,最常用的一種方法是使用使用正則化,例如 l1 和 l2 正則化。但是,正則化項是如何得來的?其背後的數學原理是什麼?l1 正則化和 l2 正則化之間有何區別?本文將給出直觀的解釋。

1. l2 正則化直觀解釋

l2 正則化公式非常簡單,直接在原來的損失函式基礎上加上權重引數的平方和:

l=ein+λ∑jw2j

l=ein+λ∑jwj2

其中,ein 是未包含正則化項的訓練樣本誤差,λ 是正則化引數,可調。但是正則化項是如何推導的?接下來,我將詳細介紹其中的物理意義。

我們知道,正則化的目的是限制引數過多或者過大,避免模型更加複雜。例如,使用多項式模型,如果使用 10 階多項式,模型可能過於複雜,容易發生過擬合。所以,為了防止過擬合,我們可以將其高階部分的權重 w 限制為 0,這樣,就相當於從高階的形式轉換為低階。

為了達到這一目的,最直觀的方法就是限制 w 的個數,但是這類條件屬於 np-hard 問題,求解非常困難。所以,一般的做法是尋找更寬鬆的限定條件:

∑jw2j≤c

∑jwj2≤c

上式是對 w 的平方和做數值上界限定,即所有w 的平方和不超過引數 c。這時候,我們的目標就轉換為:最小化訓練樣本誤差 ein,但是要遵循 w 平方和小於 c 的條件。

下面,我用一張圖來說明如何在限定條件下,對 ein 進行最小化的優化。

如上圖所示,藍色橢圓區域是最小化 ein 區域,紅色圓圈是 w 的限定條件區域。在沒有限定條件的情況下,一般使用梯度下降演算法,在藍色橢圓區域內會一直沿著 w 梯度的反方向前進,直到找到全域性最優值 wlin。例如空間中有一點 w(圖中紫色點),此時 w 會沿著 -∇ein 的方向移動,如圖中藍色箭頭所示。但是,由於存在限定條件,w 不能離開紅色圓形區域,最多只能位於圓上邊緣位置,沿著切線方向。w 的方向如圖中紅色箭頭所示。

那麼問題來了,存在限定條件,w 最終會在什麼位置取得最優解呢?也就是說在滿足限定條件的基礎上,盡量讓 ein 最小。

我們來看,w 是沿著圓的切線方向運動,如上圖綠色箭頭所示。運動方向與 w 的方向(紅色箭頭方向)垂直。運動過程中,根據向量知識,只要 -∇ein 與執行方向有夾角,不垂直,則表明 -∇ein 仍會在 w 切線方向上產生分量,那麼 w 就會繼續運動,尋找下一步最優解。只有當 -∇ein 與 w 的切線方向垂直時,-∇ein在 w 的切線方向才沒有分量,這時候 w 才會停止更新,到達最接近 wlin 的位置,且同時滿足限定條件。

-∇ein 與 w 的切線方向垂直,即 -∇ein 與 w 的方向平行。如上圖所示,藍色箭頭和紅色箭頭互相平行。這樣,根據平行關係得到:

−∇ein+λw=0

−∇ein+λw=0

移項,得:

∇ein+λw=0

∇ein+λw=0

這樣,我們就把優化目標和限定條件整合在乙個式子中了。也就是說只要在優化 ein 的過程中滿足上式,就能實現正則化目標。

接下來,重點來了!根據最優化演算法的思想:梯度為 0 的時候,函式取得最優值。已知 ∇ein 是 ein 的梯度,觀察上式,λw 是否也能看成是某個表示式的梯度呢?

當然可以!λw 可以看成是 1/2λw*w 的梯度:

∂∂w(12λw2)=λw

∂∂w(12λw2)=λw

這樣,我們根據平行關係求得的公式,構造乙個新的損失函式:

eaug=ein+λ2w2

eaug=ein+λ2w2

之所以這樣定義,是因為對 eaug 求導,正好得到上面所求的平行關係式。上式中等式右邊第二項就是 l2 正則化項。

這樣, 我們從影象化的角度,分析了 l2 正則化的物理意義,解釋了帶 l2 正則化項的損失函式是如何推導而來的。

2. l1 正則化直觀解釋

l1 正則化公式也很簡單,直接在原來的損失函式基礎上加上權重引數的絕對值:

l=ein+λ∑j|wj|

l=ein+λ∑j|wj|

我仍然用一張圖來說明如何在 l1 正則化下,對 ein 進行最小化的優化。

ein 優化演算法不變,l1 正則化限定了 w 的有效區域是乙個正方形,且滿足 |w| < c。空間中的點 w 沿著 -∇ein 的方向移動。但是,w 不能離開紅色正方形區域,最多只能位於正方形邊緣位置。其推導過程與 l2 類似,此處不再贅述。

3. l1 與 l2 解的稀疏性

介紹完 l1 和 l2 正則化的物理解釋和數學推導之後,我們再來看看它們解的分布性。

以二維情況討論,上圖左邊是 l2 正則化,右邊是 l1 正則化。從另乙個方面來看,滿足正則化條件,實際上是求解藍色區域與黃色區域的交點,即同時滿足限定條件和 ein 最小化。對於 l2 來說,限定區域是圓,這樣,得到的解 w1 或 w2 為 0 的概率很小,很大概率是非零的。

對於 l1 來說,限定區域是正方形,方形與藍色區域相交的交點是頂點的概率很大,這從視覺和常識上來看是很容易理解的。也就是說,方形的凸點會更接近 ein 最優解對應的 wlin 位置,而凸點處必有 w1 或 w2 為 0。這樣,得到的解 w1 或 w2 為零的概率就很大了。所以,l1 正則化的解具有稀疏性。

擴充套件到高維,同樣的道理,l2 的限定區域是平滑的,與中心點等距;而 l1 的限定區域是包含凸點的,尖銳的。這些凸點更接近 ein 的最優解位置,而在這些凸點上,很多 wj 為 0。

4. 正則化引數 λ

正則化是結構風險最小化的一種策略實現,能夠有效降低過擬合。損失函式實際上包含了兩個方面:乙個是訓練樣本誤差。乙個是正則化項。其中,引數 λ 起到了權衡的作用。

以 l2 為例,若 λ 很小,對應上文中的 c 值就很大。這時候,圓形區域很大,能夠讓 w 更接近 ein 最優解的位置。若 λ 近似為 0,相當於圓形區域覆蓋了最優解位置,這時候,正則化失效,容易造成過擬合。相反,若 λ 很大,對應上文中的 c 值就很小。這時候,圓形區域很小,w 離 ein 最優解的位置較遠。w 被限制在乙個很小的區域內變化,w 普遍較小且接近 0,起到了正則化的效果。但是,λ 過大容易造成欠擬合。欠擬合和過擬合是兩種對立的狀態。

L1與L2正則化

尊重原創,我沒有改動乙個字。過擬合示意圖 我們知道,過擬合就是所謂的模型對可見的資料過度自信,非常完美的擬合上了這些資料,如果具備過擬合的能力,那麼這個方程就可能是乙個比較複雜的非線性方程 正是因為這裡的 x 3 和 x 2 使得這條虛線能夠被彎來彎去,所以整個模型就會特別努力地去學習作用在 x 3...

L1 與 L2 正則化

參考這篇文章 1.l2 正則化直觀解釋 l2 正則化公式非常簡單,直接在原來的損失函式基礎上加上權重引數的平方和 l ein jw2j l ein jwj2 其中,ein 是未包含正則化項的訓練樣本誤差,是正則化引數,可調。但是正則化項是如何推導的?接下來,我將詳細介紹其中的物理意義。我們知道,正則...

L1與L2正則化

目錄機器學習中,如果引數過多 模型過於複雜,容易造成過擬合。在經驗風險最小化 訓練誤差最小化 的基礎上,盡可能採用簡單的模型,以提高模型泛化 精度。為了避免過擬合,最常用的一種方法是使用正則化,例如l1和l2正則化。所謂的正則化,就是在原來損失函式的基礎上,加了一些正則化項,或者叫做模型複雜度懲罰項...