我正在閱讀jurafsky的NLP書,它提到了訓練MaxEnt,我們需要調整權重來防止過度配合。但我不明白爲什麼會發生這種情況。 任何人都可以解釋,如果我們不使用正則化,在訓練maxent過程中如何發生過度擬合?爲什麼我們需要正規化訓練MaxEnt?
0
A
回答
2
我還沒有閱讀那本書,但作爲機器學習的實踐者,我可以告訴你,過度擬合可能適用於任何類型的模型。 MaxEnt不會是一個例外。
你可能應該問的問題是「什麼是過度配合,是什麼原因造成的?」
退房:Distinguishing overfitting vs good prediction
過擬合往往當你試圖估計發生也可能係數,或者更通常有一個模型,它太靈活了,給你正在使用的訓練數據量。結果是您的模型將「學習」數據中的噪音,從而降低樣本中的預測準確度。
有兩種處理過擬合的方法。 (1)獲得更多的訓練數據,或者(2)降低模型的複雜性。正規化屬於類別(2),並通過懲罰「複雜」解決方案進行工作,從而減少方差。 「複雜」意味着根據型號的不同而不同。
在網上和intro ML教科書上有大量過度裝修和正規化的材料。如果你想得到一個可以訪問的解釋,我建議你從Abu-Mostafa學習數據。
相關問題
- 1. 我們是否需要僅對訓練集的輸入段進行規範化?
- 2. 爲什麼我們使用正則化來訓練神經網絡?
- 3. 正規化無限大訓練集?
- 4. 爲什麼我們需要YII中的規則方法?
- 5. DavLockDB:我們需要什麼?
- 6. 爲什麼我們需要simple_one_for_one?
- 7. 爲什麼我們需要TensorFlow tf.Graph?
- 8. 爲什麼我們需要使用prompt.start()?
- 9. 爲什麼我們需要scalaz.stream迭代?
- 10. 爲什麼我們需要WCF
- 11. 爲什麼我們需要Anaconda 2.7?
- 12. 爲什麼我們需要編寫log.isDebugEnabled?
- 13. 爲什麼我們需要ng-click?
- 14. 爲什麼我們需要Control.Lens.Reified?
- 15. 我們爲什麼需要纖維
- 16. 爲什麼我們需要org.junit.ComparisonFailure?
- 17. 爲什麼我們需要addRequestHeader方法?
- 18. 爲什麼我們需要時代?
- 19. 爲什麼我們需要ContinueWith方法?
- 20. 爲什麼我們需要Java NIO Selector?
- 21. 爲什麼我們需要使用ExitWindowsEx
- 22. 爲什麼我們需要包裝類
- 23. 爲什麼我們需要在JavaScript
- 24. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 25. 爲什麼我們需要ioc容器
- 26. mongodb爲什麼我們需要getSisterDB
- 27. 爲什麼我們需要BeginGetResponse和BeginRead?
- 28. 爲什麼我們需要fieldset標籤?
- 29. 爲什麼我們需要boost :: thread_specific_ptr?
- 30. JSP:爲什麼我們需要RequestDispatcher?