L1和L2正則化

2021-09-26 10:27:51 字數 1311 閱讀 6731

l0範數指的是向量中非零元素的個數,l0正則化就是限制非零元素的個數在一定的範圍,這很明顯會帶來稀疏。一般而言,用l0範數實現稀疏是乙個np-hard問題,因此人們一般使用l1正則化來對模型進行稀疏約束。

稀疏性

參考:另外一種解釋:

假設費用函式l與某個引數w的關係如圖所示:

則最優的 w在綠點處,w非零。

現在施加 l2 regularization,新的費用函式(l+λw²)如圖中藍線所示:

最優的 x 在黃點處,x 的絕對值減小了,但依然非零。

而如果施加 l1 regularization,則新的費用函式(l+λ|w|)如圖中粉線所示:

最優的w就變成了 0。這裡利用的就是絕對值函式的尖峰。兩種regularization能不能把最優的w變成0,取決於原先的費用函式在 0 點處的導數。如果本來導數不為 0,那麼施加 l2 regularization 後導數依然不為 0,最優的 x 也不會變成 0。而施加 l1 regularization 時,只要 regularization 項的係數 c 大於原先費用函式在 0 點處的導數的絕對值,x = 0 就會變成乙個極小值點。上面只分析了乙個引數 x。事實上 l1 regularization 會使得許多引數的最優值變成 0,這樣模型就稀疏了。

參考:

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正則)

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