L1 VS L2 深度學習中的L1與L2

2021-10-07 23:44:05 字數 2484 閱讀 8810

l1 loss的數學公式和函式圖如下所示:

l1函式連續,但是在?−?(?)=0處不可導,l1 loss大部分情況下梯度都是相等的,這意味著即使對於小的損失值,其梯度也是大的,這不利於函式的收斂和模型的學習。但是,無論對於什麼樣的輸入值,都有著穩定的梯度,不會導致梯度**問題,具有較為穩健性的解。

mse曲線的特點是光滑連續、可導,便於使用梯度下降演算法,是比較常用的一種損失函式。而且,mse 隨著誤差的減小,梯度也在減小,這有利於函式的收斂,即使固定學習因子,函式也能較快取得最小值。但是當兩個值差異較大時,平方的計算方式也會容易引起梯度**。下面mse的數學公式和函式圖如下所示:

在訓練神經網路過程中,我們通過梯度下降演算法來更新w和b,因此需要計算代價函式對w和b的導數:

然後更新w、b:

w b

因為sigmoid函式的性質,導致σ′(z)在z取大部分值時會很小(如下圖示出來的兩端,幾近於平坦),這樣會使得w和b更新非常慢(因為η * a * σ′(z)這一項接近於0),而當兩數的差異值大於1的情況下,平方的計算方式很容則到達梯度消失的區域,所以l2 loss不易與sigmod搭配使用。

l2範數將誤差平方化(如果誤差大於1,則誤差會放大很多),模型的誤差會比l1範數來得大,因此模型會對這個樣本更加敏感,這就需要調整模型來最小化誤差。如果這個樣本是乙個異常值,模型就需要調整以適應單個的異常值,這會犧牲許多其它正常的樣本,因為這些正常樣本的誤差比這單個的異常值的誤差小。

在fast rcnn**提出該方法,用於**框和真實框之間的數值差異的損失計算,公式和對應的圖如下所示:

解決l1和l2的不足:

1.當**框與 ground truth 差別過大時,梯度值不至於過大;

2.當**框與 ground truth 差別很小時,梯度值足夠小。

l1正則化是指權值向量w中各個元素的絕對值之和,通常表示為∣∣w∣∣1,公式如下:

l2正則化是指權值向量w中各個元素的平方和然後再求平方根(可以看到ridge回歸的l2正則化項有平方符號),通常表示為∣∣w∣∣2,公式如下:

l1增加模型的稀疏性:

l1和l2正則項加入後的函式影象如下:

損失函式和正則化項圖形首次相交的地方就是最優解,左圖消交點(0,w),因為正則化函式有很多突出的角(二維情況下四個,多維情況下更多),損失函式​與這些角接觸的機率會遠大於與其它部位接觸的機率,而在這些角上會有很多權值等於0,所以l1正則化可以產生稀疏模型,進而可以用於特徵選擇。

l2正則化防止過擬合:

l2正則化就是在代價函式後面再加上乙個正則化項。所有引數w的平方的和,除以訓練集的樣本大小n。λ就是正則項係數,權衡正則項與c0項的比重。另外還有乙個係數1/2,1/2經常會看到,主要是為了後面求導的結果方便,後面那一項求導會產生乙個2,與1/2相乘剛好湊整。公式如下:

對上式進行求導並合併處理如下:

在不使用l2正則化時,求導結果中w前係數為1,現在w前面係數為 1−ηλ/n ,因為η、λ、n都是正的,所以 1−ηλ/n小於1,它的效果是減小w,這也就是權重衰減(weight decay)的由來。當然考慮到後面的導數項,w最終的值可能增大也可能減小。

擬合過程中通常都傾向於讓權值盡可能小,構造乙個所有引數都比較小的模型。一般認為引數值小的模型比較簡單,能適應不同的資料集,也在一定程度上避免了過擬合現象。對於乙個線性回歸方程,若引數很大,那麼只要資料偏移一點點,就會對結果造成很大的影響;但如果引數足夠小,資料偏移得多一點也不會對結果造成什麼影響。所以l2正則化可以防止過擬合。

ps:當l1的正則化係數很小時,得到的最優解會很小,可以達到和l2正則化類似的效果。

深度學習 L1及L2範數

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

L1與L2正則化

在機器學習中,我們茶廠聽到l1和l2正則化,用他們來防止過擬合,但是在什麼情況下使用它們和它們的原理是什麼樣的可能一知半解。所以在本部落格中將對l1和l2做簡單的介紹和應用場景。如果引數過多,模型過於複雜,容易造成過擬合 overfit 即模型在訓練樣本資料上表現的很好,但在實際測試樣本上表現的較差...

L1與L2正則化

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