正則化項可以取不同的形式。例如回歸問題中,損失函式是平方損失,正則化項可以是引數向量的l2範數:
這裡,正則化項也可以是引數向量的l1範數:
這裡l1是絕對值之和,l2是平方之和。
l1追求的是稀疏,可以理解為變數個數少,l2主要用於處理過擬合問題,讓每個權重引數值小?!
l2能加速訓練?!
引:
l0範數是指向量中非0元素的個數。如果我們用l0範數來規則化乙個引數矩陣w,就是希望w的大部分元素都是0這太直觀了,太露骨了吧,換句話說,讓引數w是稀疏的。ok,看到了「稀疏」二字,大家都應該從當下風風火火的「壓縮感知」和「稀疏編碼」中醒悟過來,原來用的漫山遍野的「稀疏」就是通過這玩意來實現的。
L1和L2正則化
l1和l2正則化 l1與l2正則化都是防止模型過擬合,其方式略有不同。具體請見下文。1 l1 正則化l1正則化 1範數 是指,各權值 變數 特徵 絕對值之和。其作用是產生權值的稀疏模型,也就是讓大部分權值為0.為什麼能產生權值稀疏模型?因為如下圖所示,各權值絕對值之和後得到乙個矩陣,很容易在矩陣的頂...
關於L1和L2正則
l0範數表示向量中非零元素的個數 也就是如果我們使用l0範數,即希望 w的大部分元素都是0 w是稀疏的 所以可以用於ml中做 稀疏編碼 特徵選擇。通過最小化l0範數,來尋找 最少最優的稀疏特徵項 但不幸的是,l0範數的最優化問題是乙個np hard問題,而且理論上有證明,l1範數是l0範數的最優凸近...
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....