那麼,在機器學習中,防止過擬合的一種方法是添加L2正則化,有人說L1正則化更好,爲什麼?另外我知道L1用於確保數據的稀疏性,對此結果的理論支持是什麼?爲什麼L1正則化在機器學習中起作用
回答
L1正則化用於稀疏性。這可能是有益的,特別是在處理大數據時,由於L1可以產生比L2正則化更多的壓縮模型。這基本上是由於隨着正則化參數的增加,您的最優值爲0的機會更大。
由於平方的原因,L2正則化懲罰更多的數字。當然,L2在平滑方面更「優雅」。
您應該檢查this webpage
附:
更數學全面的解釋可能不是很適合這個網站上,你可以嘗試其他的堆棧交易所網站例如
非常感謝!它幫助了很多 –
衆所周知的是L1正規化有助於稀疏特徵空間進行特徵選擇,那在某些情況下使用L1是一個很好的實際原因。然而,除了那個特殊的原因,我從來沒有見過L1在實踐中表現得比L2好。如果你在這個問題上看一看LIBLINEAR FAQ,你會看到他們沒有看到一個實例,說明L1擊敗L2並鼓勵圖書館的用戶在找到它時與他們聯繫。即使在您可能從L1的稀疏中獲益以進行特徵選擇的情況下,對其餘變量使用L2也可能比L1本身獲得更好的結果。
所以,安德魯伍這裏解釋
當特徵的數量是相當大的,你可以給一個L1一槍,但L2應該永遠是你視而不見選擇。
即使在給定功能數量的情況下有很強的使用L1的理由的情況下,我也會推薦使用Elastic Nets。如果你正在做線性/邏輯迴歸,同意這隻會是一個實際的選擇。但是,在這種情況下,Elastic Nets被證明是(在理論上和實踐中)比L1/Lasso更好。彈性網絡將L1和L2正則化結合在引入另一個超參數進行調節的「唯一」成本中(有關stanford.edu的更多詳細信息,請參閱Hastie的論文)。
因此,簡而言之,L1正則化最適合於稀疏特徵空間中的特徵選擇。
- 1. Keras/Tensorflow中的L1正則化*真正* L1正則化嗎?
- 2. GATE機器學習不起作用
- 3. 什麼是機器學習中的學習曲線?
- 4. 學習機器學習的先決條件是什麼?
- 5. 什麼是學習機器學習的最佳編程語言?
- 6. 什麼是學習機器學習的好實施?
- 7. 什麼是機器學習基準?
- 8. 什麼機器歸納偏置學習
- 9. 什麼是機器學習調優?
- 10. 在PyTorch中添加L1/L2正則化?
- 11. 機器學習在Python:scikit學習/ Pybrain
- 12. 爲什麼NLP和機器學習社區對深度學習感興趣?
- 13. 這個簡單優化的機器學習算法是什麼?
- 14. 作爲Pytorch中的正則化函數的L1規範
- 15. 網上有什麼用來學習AI和機器學習的基礎知識
- 16. 機器學習中「NumericToNominal」方法的用途是什麼?
- 17. 「樸素」貝葉斯在機器學習中意味着什麼?
- 18. clf在機器學習中意味着什麼?
- 19. 「Oracle」在機器學習中意味着什麼?
- 20. 什麼是一些很好的機器學習編程練習?
- 21. 深度學習與機器學習
- 22. 機器學習,Python
- 23. 機器學習udacity
- 24. 機器學習,我們爲什麼需要重量數據
- 25. 爲什麼機器學習不能識別素數?
- 26. 機器學習:爲什麼xW + b而不是Wx + b?
- 27. 機器學習 - 爲什麼我得到一個ValueError?
- 28. Bot中的機器學習
- 29. GATE中的機器學習
- 30. 自動化Azure機器學習
如果這個問題本質上是理論性的而且主觀性很強,那麼堆棧溢出的可能性很大。有人可能確實對這個問題有很好的反饋意見,但如果沒有特別的和相對「正確」的答案,那麼這個問題應該是廣泛的。 – CalebB
歡迎來到StackOverflow!這個問題與編程沒有直接關係,而是純粹的機器學習。請考慮將其移至StackExchange的交叉驗證或理論計算機科學。 –