正則化方法 L1和L2

2021-10-05 11:43:48 字數 597 閱讀 1633

模型訓練是圍繞解決模型的欠擬合問題展開的,通過最小化損失函式來減小模型**值與真實值之間的誤差。因為資料集中總會有一些雜訊,模型在擬合資料時可能會把雜訊也擬合進來,導致模型過擬合。

正則化是對損失函式的一種懲罰,即對損失函式中的某些引數進行限制。一般認為,引數值較小的模型比較簡單,能更好地適應不同的資料集,泛化能力更強。正則化中最常用的正則項是l1範數和l2範數。

l1範數和l2範數都可以降低模型過擬合的風險。l1範數是將權值變得更稀疏,可以使權值變為0從而用於特徵選擇,使模型具有很好的可解釋性。l2範數不會使權值變為0,而僅是盡可能地小,進而使每個特徵對模型的**結果僅產生較小的影響。

對於l1範數,我們在引數ω1和ω2確定的平面上,分別畫出原始損失函式的等值線和正則項的等值線。橢圓曲線為原始損失函式的等值線,其中

l2範數的正則項等值線與原始損失函式等值線更容易相交於某個象限中,因此l2範數會使權值更小,而非使其更稀疏。

L1和L2正則化

l1和l2正則化 l1與l2正則化都是防止模型過擬合,其方式略有不同。具體請見下文。1 l1 正則化l1正則化 1範數 是指,各權值 變數 特徵 絕對值之和。其作用是產生權值的稀疏模型,也就是讓大部分權值為0.為什麼能產生權值稀疏模型?因為如下圖所示,各權值絕對值之和後得到乙個矩陣,很容易在矩陣的頂...

l1和l2正則化

import tensorflow as tf import tensorflow.contrib as contrib weight tf.constant 1.0,2.0 3.0,4.0 with tf.session as sess print sess.run contrib.layers....

L1和L2正則化

l0範數指的是向量中非零元素的個數,l0正則化就是限制非零元素的個數在一定的範圍,這很明顯會帶來稀疏。一般而言,用l0範數實現稀疏是乙個np hard問題,因此人們一般使用l1正則化來對模型進行稀疏約束。稀疏性 參考 另外一種解釋 假設費用函式l與某個引數w的關係如圖所示 則最優的 w在綠點處,w非...