正則化與權重衰減

2021-09-12 22:21:32 字數 791 閱讀 2059

1. 權重衰減(weight decay)

l2正則化的目的就是為了讓權重衰減到更小的值,在一定程度上減少模型過擬合的問題,所以權重衰減也叫l2正則化。

其中c0代表原始的代價函式,後面那一項就是l2正則化項,它是這樣來的:所有引數w的平方的和,除以訓練集的樣本大小n。λ就是正則項係數,權衡正則項與c0項的比重。係數λ就是權重衰減係數。

1.2 為什麼可以對權重進行衰減

我們對加入l2正則化後的代價函式進行推導,先求導:

可以發現l2正則化項對b的更新沒有影響,但是對於w的更新有影響:

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

另外,需要提一下,對於基於mini-batch的隨機梯度下降,w和b更新的公式跟上面給出的有點不同:

對比上面w的更新公式,可以發現後面那一項變了,變成所有導數加和,乘以η再除以m,m是乙個mini-batch中樣本的個數。

1.3 權重衰減(l2正則化)的作用作用:

權重衰減 L2正則化

正則化方法 防止過擬合,提高泛化能力 避免過擬合的方法有很多 early stopping 資料集擴增 data augmentation 正則化 regularization 包括l1 l2 l2 regularization也叫weight decay dropout。權重衰減 weight d...

Tensorflow 權重衰減的使用

在 tf.get variable 這個函式中有乙個命名引數為 regularizer,顧名思義,這個引數可用於正則化。在 tensorflow 官網中,regularizer 的描述如下 get variable name,shape none,dtype none,initializer non...

動態正則化權重係數 正則化處理

過擬合 過擬合本質上是模型太過複雜,複雜到消弱了模型的泛化能力。由於訓練資料時有限的,因此總可以通過增加引數的的方式來提公升模型的複雜度,降低訓練誤差。可正如你學習的領域越專精,可應用的範圍可能越窄,則在模型訓練中就是指過擬合。過擬合如圖所示的紅色曲線就是過擬合。正則化正則化是用於抑制過擬合方法的統...