天天看點

L1 正則為什麼會使參數偏向稀疏

2018-12-09 22:18:43

假設費用函數 L 與某個參數 x 的關系如圖所示:

L1 正則為什麼會使參數偏向稀疏
L1 正則為什麼會使參數偏向稀疏

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

現在施加 L2 regularization,新的費用函數()如圖中藍線所示:

L1 正則為什麼會使參數偏向稀疏
L1 正則為什麼會使參數偏向稀疏

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

而如果施加 L1 regularization,則新的費用函數()如圖中粉線所示:

L1 正則為什麼會使參數偏向稀疏
L1 正則為什麼會使參數偏向稀疏

最優的 x 就變成了 0。這裡利用的就是絕對值函數的尖峰。

兩種 regularization 能不能把最優的 x 變成 0,取決于原先的費用函數在 0 點處的導數。

如果本來導數不為 0,那麼施加 L2 regularization 後導數依然不為 0,最優的 x 也不會變成 0。

而施加 L1 regularization 時,隻要 regularization 項的系數 C 大于原先費用函數在 0 點處的導數的絕對值,x = 0 就會變成一個極小值點。原因是我們可以對0兩邊進行求導分别得到f'(0) - C和f‘(0) + C,如果C > f'(0),那麼左右兩邊就會異号,這樣的話,0就成了極小值點了。

上面隻分析了一個參數 x。事實上 L1 regularization 會使得許多參數的最優值變成 0,這樣模型就稀疏了。