L1正則化和L2正則化

2021-10-14 09:10:45 字數 2041 閱讀 5355

摘自:

【深度學習】l1正則化和l2正則化

在機器學習中,我們非常關心模型的**能力,即模型在新資料上的表現,而不希望過擬合現象的的發生,我們通常使用正則化(regularization)技術來防止過擬合情況。正則化是機器學習中通過顯式的控制模型複雜度來避免模型過擬合、確保泛化能力的一種有效方式。如果將模型原始的假設空間比作「天空」,那麼天空飛翔的「鳥」就是模型可能收斂到的乙個個最優解。在施加了模型正則化後,就好比將原假設空間(「天空」)縮小到一定的空間範圍(「籠子」),這樣一來,可能得到的最優解能搜尋的假設空間也變得相對有限。有限空間自然對應複雜度不太高的模型,也自然對應了有限的模型表達能力。這就是「正則化有效防止模型過擬合的」一種直觀解析。

l2正則化

在深度學習中,用的比較多的正則化技術是l2正則化,其形式是在原先的損失函式後邊再加多一項:12??2?,那加上l2正則項的損失函式就可以表示為:?(?)=?(?)+?∑???2?,其中?就是網路層的待學習的引數,?則控制正則項的大小,較大的取值將較大程度約束模型複雜度,反之亦然。

l2約束通常對稀疏的有尖峰的權重向量施加大的懲罰,而偏好於均勻的引數。這樣的效果是鼓勵神經單元利用上層的所有輸入,而不是部分輸入。所以l2正則項加入之後,權重的絕對值大小就會整體傾向於減少,尤其不會出現特別大的值(比如雜訊),即網路偏向於學習比較小的權重。所以l2正則化在深度學習中還有個名字叫做「權重衰減」(weight decay),也有一種理解這種衰減是對權值的一種懲罰,所以有些書裡把l2正則化的這一項叫做懲罰項(penalty)。

我們通過乙個例子形象理解一下l2正則化的作用,考慮乙個只有兩個引數?1和?2的模型,其損失函式曲面如下圖所示。從a可以看出,最小值所在是一條線,整個曲面看起來就像是乙個山脊。那麼這樣的山脊曲面就會對應無數個引數組合,單純使用梯度下降法難以得到確定解。但是這樣的目標函式若加上一項0.1×(?21+?22),則曲面就會變成b圖的曲面,最小值所在的位置就會從一條山嶺變成乙個山谷了,此時我們搜尋該目標函式的最小值就比先前容易了,所以l2正則化在機器學習中也叫做「嶺回歸」(ridge regression)。

l1正則化

l1正則化的形式是:?|??|,與目標函式結合後的形式就是:?(?)=?(?)+?∑??|??|。需注意,l1 正則化除了和l2正則化一樣可以約束數量級外,l1正則化還能起到使引數更加稀疏的作用,稀疏化的結果使優化後的引數一部分為0,另一部分為非零實值。非零實值的那部分引數可起到選擇重要引數或特徵維度的作用,同時可起到去除雜訊的效果。此外,l1正則化和l2正則化可以聯合使用:?1|??|+12?2?2?。這種形式也被稱為「elastic網路正則化」。

正則化對偏導的影響

對於l2正則化:?=?0+?2?∑??2?,相比於未加正則化之前,權重的偏導多了一項???,偏置的偏導沒變化,那麼在梯度下降時?的更新變為:

可以看出?的係數使得權重下降加速,因此l2正則也稱weight decay(caffe中損失層的weight_decay引數與此有關)。對於隨機梯度下降(對乙個mini-batch中的所有x的偏導求平均):

對於l1正則化:?=?0+??∑?|??|,梯度下降的更新為:

符號函式在?大於0時為1,小於0時為-1,在?=0時|?|沒有導數,因此可令sgn(0)=0,在0處不使用l1正則化。

l1相比於l2,有所不同:

l1減少的是乙個常量,l2減少的是權重的固定比例

孰快孰慢取決於權重本身的大小,權重剛大時可能l2快,較小時l1快

l1使權重稀疏,l2使權重平滑,一句話總結就是:l1會趨向於產生少量的特徵,而其他的特徵都是0,而l2會選擇更多的特徵,這些特徵都會接近於0

實踐中l2正則化通常優於l1正則化。

L1正則化和L2正則化

為了降低過擬合風險,需要控制模型複雜度,自然想到減少引數個數,但是這個問題不易直接解決,可以通過放寬條件控制。新增優化條件 這會使引數條件空間有明顯的凸角,這些突出點顯然會成為聯合優化時的最優解,但同時這些這些凸點中又會有較多的0值 由其限制條件可見,凸點都在座標軸上 因此l1範數會更易得到稀疏解,...

L1正則化和L2正則化

l1標準化與l2標準化 參考 l1 l2標準化及其python 實現 我們知道,正則化的目的是限制引數過多或者過大,避免模型更加複雜。l1 與 l2 解的稀疏性 以二維情況討論,上圖左邊是 l2 正則化,右邊是 l1 正則化。從另乙個方面來看,滿足正則化條件,實際上是求解藍色區域與黃色區域的交點,即...

正則化(L1和L2正則)

稀疏性表示資料中心0佔比比較大 引西瓜書中p252原文 對於損失函式後面加入懲罰函式可以降低過擬合的風險,懲罰函式使用l2範數,則稱為嶺回歸,l2範數相當與給w加入先驗,需要要求w滿足某一分布,l2範數表示資料服從高斯分布,而l1範數表示資料服從拉普拉斯分布。從拉普拉斯函式和高斯函式的影象上看,拉普...