深度學習正則化 L0 L1 L2正則化

2022-08-30 07:24:12 字數 3364 閱讀 9946

概念

l0正則化的值是模型引數中非零引數的個數。

l1正則化表示各個引數絕對值之和。

l2正則化標識各個引數的平方的和的開方值。

先討論幾個問題:

1)實現引數的稀疏有什麼好處嗎?

乙個好處是可以簡化模型,避免過擬合。因為乙個模型中真正重要的引數可能並不多,如果考慮所有的引數起作用,那麼可以對訓練資料可以**的很好,但是對測試資料就只能呵呵了。另乙個好處是引數變少可以使整個模型獲得更好的可解釋性。

2)引數值越小代表模型越簡單嗎?

是的。為什麼引數越小,說明模型越簡單呢,這是因為越複雜的模型,越是會嘗試對所有的樣本進行擬合,甚至包括一些異常樣本點,這就容易造成在較小的區間裡**值產生較大的波動,這種較大的波動也反映了在這個區間裡的導數很大,而只有較大的引數值才能產生較大的導數。因此複雜的模型,其引數值會比較大。

l0正則化

根據上面的討論,稀疏的引數可以防止過擬合,因此用l0範數(非零引數的個數)來做正則化項是可以防止過擬合的。

從直觀上看,利用非零引數的個數,可以很好的來選擇特徵,實現特徵稀疏的效果,具體操作時選擇引數非零的特徵即可。但因為l0正則化很難求解,是個np難問題,因此一般採用l1正則化。l1正則化是l0正則化的最優凸近似,比l0容易求解,並且也可以實現稀疏的效果。

l1正則化

l1正則化在實際中往往替代l0正則化,來防止過擬合。在江湖中也人稱lasso。

l1正則化之所以可以防止過擬合,是因為l1範數就是各個引數的絕對值相加得到的,我們前面討論了,引數值大小和模型複雜度是成正比的。因此複雜的模型,其l1範數就大,最終導致損失函式就大,說明這個模型就不夠好。

l2正則化

l2正則化可以防止過擬合的原因和l1正則化一樣,只是形式不太一樣。

l2範數是各引數的平方和再求平方根,我們讓l2範數的正則項

最小,可以使w的每個元素都很小,都接近於0。但與l1範數不一樣的是,它不會是每個元素為0,而只是接近於0。越小的引數說明模型越簡單,越簡單的模型越不容易產生過擬合現象。

l2正則化江湖人稱ridge,也稱「嶺回歸」

l1正則化可以產生稀疏權值矩陣,即產生乙個稀疏模型,可以用於特徵選擇

l2正則化可以防止模型過擬合(overfitting);一定程度上,l1也可以防止過擬合

假設有如下帶l1正則化的損失函式: 

其中j0

'>j

0'>

j0是原始的損失函式,加號後面的一項是l1正則化項,α

'>α

是正則化係數。注意到l1正則化是權值的絕對值之和,j

'>j

是帶有絕對值符號的函式,因此j

'>j

是不完全可微的。機器學習的任務就是要通過一些方法(比如梯度下降)求出損失函式的最小值。當我們在原始損失函式j

0'>j0

後新增l1正則化項時,相當於對j

0'>j0

做了乙個約束。令l等於正則化項,則j

=j0+

l'>j=j0+l

,此時我們的任務變成在l

'>l

約束下求出j

0'>j0

取最小值的解。考慮二維的情況,即只有兩個權值w

1'>w1和w2

'>w2

,此時l=|

w1|+

|w2|

'>l=|w1|+|w2|

對於梯度下降法,求解j

0'>j0

的過程可以畫出等值線,同時l1正則化的函式l

'>l

也可以在w1w

2'>w1w2

的二維平面上畫出來。如下圖:

圖1 l1正則化

圖中等值線是j

0'>j0

的等值線,黑色方形是l

'>l

函式的圖形。在圖中,當j

0'>j0

等值線與l

'>l

圖形首次相交的地方就是最優解。上圖中j

0'>j0

與l'>l

在l'>l

的乙個頂點處相交,這個頂點就是最優解。注意到這個頂點的值是(w1

,w2)

=(0,

w)'>(w1,w2)=(0,w)

(w1,w2)=(0,w)。可以直觀想象,因為l

'>l

l函式有很多『突出的角』(二維情況下四個,多維情況下更多),j

0'>j0

j0與這些角接觸的機率會遠大於與l

'>l

l其它部位接觸的機率,而在這些角上,會有很多權值等於0,這就是為什麼l1正則化可以產生稀疏模型,進而可以用於特徵選擇。

而正則化前面的係數α

'>α

α,可以控制l

'>l

l圖形的大小。α

'>α

α越小,l

'>l

l的圖形越大(上圖中的黑色方框);α

'>α

α越大,l

'>l

l的圖形就越小,可以小到黑色方框只超出原點範圍一點點,這是最優點的值(w1

,w2)

=(0,

w)'>(w1,w2)=(0,w)

中的w'>

w可以取到很小的值。

類似,假設有如下帶l2正則化的損失函式: 

同樣可以畫出他們在二維平面上的圖形,如下:

圖2 l2正則化

二維平面下l2正則化的函式圖形是個圓,與方形相比,被磨去了稜角。因此j

0'>j0

與l'>l

相交時使得w

1'>w1或w2

'>w2

等於零的機率小了許多,這就是為什麼l2正則化不具有稀疏性的原因。

L0,L1,L2正則,lasso,嶺回歸

我們要討論的第乙個規範是l0規範。根據定義,x的l0範數是 嚴格來說,l0範數實際上不是乙個範數。它是基數函式,其定義形式為l0 norm,儘管許多人稱其為範數。使用它有點棘手,因為其中存在零次冪和零次方。顯然,任何x 0都將變為1,但是零次冪 尤其是零次冪 的定義問題使這裡變得混亂。因此,實際上,...

機器學習中L0, L1, L2正則項介紹

l0,l1,l2正則項是機器學習中常用的正則項,本文主要對這三種正則項做乙個簡單的介紹。l0 l0主要是指引數中0的個數,希望引數中的大部分元素是0,希望引數是稀疏的,但是l0有乙個缺點就是難以優化,所以就引出了l1正則項。l1 l1正則項是指向量中各個元素絕對值之和,l0正則項的最優凸近似,它比l...

面試L0,L1,L2範數

在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...