L1相較於L2的稀疏性
在機器學習中,常見的正則化項有L1(
(本文部分內容和圖片引用自:https://www.zhihu.com/question/37096933?sort=created)
什麼是稀疏性
相信大家都聽過一個名詞——稀疏矩陣,在矩陣中,若數值爲0的元素數目遠遠多於非0元素的數目時,則稱該矩陣爲稀疏矩陣;與之相反,若非0元素數目佔大多數時,則稱該矩陣爲稠密矩陣.
在矩陣中,如果矩陣元素0的數目非常多,則可以稱之爲稀疏矩陣。同理,L1的稀疏性,指的就是在加了L1正則項後,模型的解
爲何L1相較於L2能夠得到稀疏解
首先,用幾張圖片來大致解釋一下L1的稀疏性。
假設,我們有個Loss函數,
可以發現極小值是在圖中的綠色點處,
在分別加了L1正則項和L2正則項後,他們的曲線圖如下:
其中藍色的是加了L2正則項的loss曲線(
觀察圖中曲線可以發現,加了L2正則項後,極小值處的解變小了,這說明正則項起到了效果,但是最優解是接近0但不等於0的值,因此不是稀疏解。而加了L1正則項後,極小值的解變爲了0,因此L1相較於L2具有稀疏性。
事實上,兩種正則化能不能把最優的w變成 0,取決於原先的loss函數在 0 點處的導數。如果本來導數不爲 0,那麼施加 L2 後導數依然不爲 0,最優的 w 也不會變成 0。而施加 L1 時,只要 L1 項的係數
那麼爲何只要
下面從理論的角度來分析一下:
對於
當
當
故,只要