標籤:

直觀理解正則化

本文從無約束的優化問題、有等式約束的優化問題和等式和不等式約束的優化問題三種優化問題的幾何意義入手,講解了L1 正則化和 L2 正則化的幾何含義,進而推廣至正則化的一般形式: L_q 正則化 和 Elastic Net 正則化,得到L1 正則化和 L2 正則化的折中版本。

三種優化問題

通常我們求解的最優化問題可以分為以下三類:

  • 無約束的優化問題:

min f(X)

這是最簡單的情況,解決方法通常是f(X)的導數 f(X) ,然後令 f(X) = 0 ,可以求得極值點,再將這些極值點帶入原函數驗證即可;如果是凸函數,極值點即為最優解。

其幾何含義是:

  • 有等式約束的優化問題

min  f(X)

s.t.  g(X) = 0

註: s.t. 表示約束條件。

常常使用的方法就是拉格朗日乘子法(Lagrange Multiplier ) ,即寫成  L(lambda ,X) = f(X) + lambda g(X) ,稱為拉格朗日函數,係數 lambda 稱為拉格朗日乘子。通過 L(lambda ,X) 對各個變數 (X, lambda ) 求偏導,令其為零,可以求得極值點集合,然後驗證求得最優值。

其幾何含義是:

  • 等式和不等式約束的優化問題

min  f(X)

s.t.  g(X) = 0

h(X) le 0

註:s.t.表示約束條件。

常常使用的方法就是 KKT 條件。  L(mu, lambda ,X) = f(X) + lambda g(X) + mu h(X),利用最優值的必要條件 (KKT條件):

  •  L(mu, lambda ,X) 對變數的導數為 0
  • g(X) = 0
  • mu h(X) = 0

求取這些等式之後就能得到候選最優值。其中第三個式子非常有趣,因為 h(X) le 0 ,如果要滿足這個等式,必須mu=0或者 h(X) = 0

那麼 KTT 的幾何含義是什麼呢?

L1 正則化和 L2 正則化的幾何含義

L1 正則化通常稱為 Lasso 正則化:

J(	heta) = -sumlimits_{i=1}^{m}(y^{(i)}log(h_{	heta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{	heta}(x^{(i)})))+frac{lambda}{m}sumlimits_{j=1}^n|	heta_j|

L2 正則化通常稱為 Ridge 正則化:

J(	heta) = -sumlimits_{i=1}^{m}(y^{(i)}log(h_{	heta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{	heta}(x^{(i)})))+frac{lambda}{2m}sumlimits_{j=1}^n	heta_j^2

我們可以寫成統一的形式:

 J(	heta, mu)= f(	heta) + mu h(	heta) Leftrightarrow J(	heta, mu)= f(	heta) + mu (h(	heta)-eta)

其中 eta 為常數,不影響最優值的求解。

可以還原為:

min  f(	heta)

s.t.  h(	heta) leq eta

那麼他們的幾何含義是:

對於 L1 正則化 ( Lasso 正則化): h(	heta) = sumlimits_{j=1}^n|	heta_j|

對於 L2 正則化 ( Ridge 正則化): h(	heta) = sumlimits_{j=1}^n	heta_j^2

Q:以下哪個圖形是 L1 正則化, 哪個圖形是 L2 正則化 ?

左邊的圖為 L1 正則化,右圖為 L2 正則化。

因為 對於 L1 正則化而言 h(	heta) = |w_1| + |w_2| leq eta ,在圖中表示一個菱形區域。

對於 L2 正則化而言h(	heta) = w_1^2 + w_2^2 leq eta,在圖中表示一個圓形區域。

Q1:為什麼L1 正則化可以獲得稀疏特徵?

不同的維度係數一般都是不一樣的,因此常見的損失函數圖像是一個橢圓形,調整參數lambda 的值,橢圓形和菱形的交接處很大可能性會落在坐標軸附近;實際使用的特徵維度是高維的,正常情況下就是在某些維度上不會交於坐標軸上,在某些維度上交於坐標軸或坐標軸附近,所以才有稀疏解;與L2正則化相比,L1正則化更容易得到稀疏解,而不是一定會得到稀疏解,畢竟還是有特例的(比如恰好橢圓與坐標原點相交)。

Q2:lambda 變大,菱形和圓形怎麼變化?

lambda 越大,菱形和圓形越小,求得的模型參數越小。

Q3:為什麼 L2 正則化比 L1 正則化應用更加廣泛?

因為 L2 正則化的約束邊界光滑且可導,便於採用梯度下降法,而L1正則化不可導,只能採用坐標軸下降法或最小角回歸法,計算量大。而且,L1 正則化的效果並不會比 L2 正則化好(自己的見解)。

L1 正則化和 L2 正則化正則化的推廣

邏輯回歸正則化可以寫成統一的形式 L_q 正則化:

J(	heta) = -sumlimits_{i=1}^{m}(y^{(i)}log(h_{	heta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{	heta}(x^{(i)})))+frac{lambda}{2m}sumlimits_{j=1}^n|	heta_j|^q

其中 q ge 0。不同的 q 值對應著不同的約束邊界,如下圖所示:

從上圖可以看出,

  • q = 1 對應著 L1 正則化, q = 2 對應著 L2 正則化。
  • 而當 q < 1 時,約束邊界為非凸函數,求解最優值非常困難。 q=1 是滿足約束邊界為凸的最小值。
  • q le1 時,約束邊界在坐標軸上不可導,為非光滑函數,不能用梯度下降法進行求解。
  • 對於 q ∈ (1, 2) 的情況是 L1 正則化和 L2 正則化的折中,同時具有兩者的優點。此時的約束邊界為凸邊界,既具有 L2 正則化的光滑可導性,同時具有 L1 正則化獲得稀疏特徵的優點。
  • 實踐表明,對於q >2 的情況,效果並不會比 q ∈ [1, 2] 好,沒必要進行討論。
  • Zou 和 Hastie (2005) 引入了 Elastic Net 正則化,可以通過參數 alpha 調節L1正則化和L2正則化的權重

即:

frac{lambda}{2m}sumlimits_{j=1}^n(alpha 	heta ^2 + (1-alpha)|	heta_j|)

如下圖為q = 1.2時的L_q正則化和alpha = 0.2 時的 Elastic Net 正則化,兩種不同的方式對 L1 正則化和 L2 正則化進行了折中。這兩種方法均繼承了 L1 正則化獲得稀疏矩陣的優點。至於光滑可導性,乍一看二者沒什麼區別,實際上 L_q 正則化在坐標處是可導的,而 Elastic Net 正則化在坐標處是不可導的。

歡迎關注我的博客:2018august.github.io/

人工智慧隨筆?

2018august.github.io圖標

歡迎關注我的微信公眾號:人工智慧隨筆


推薦閱讀:

Hulu機器學習問題與解答系列 | 二十二:特徵工程—結構化數據
Kernel PCA 原理和演示
【一起看論文】隨機特徵
強化學習——從Q-Learning到DQN到底發生了什麼?
[視頻講解]史上最全面的正則化技術總結與分析--part1

TAG:機器學習 |