簡體   English   中英

盡早停止和正規化

[英]Early stopping and regularization

我在某些數據上一直在使用sklearn上的mlp庫。 我的訓練集得分一直在0.7-0.9之間,但是我的測試集得分確實很低。 我認為這是由於過度擬合造成的,並且已閱讀並了解正則化(以幫助減輕體重/偏見)和盡早停止可以幫助避免此問題。 但是我發現很難實現它,有人可以幫助我實現它,還是可以通過合適的鏈接指導我正確的道路。

(關於sklearn的clf的正則化教程並沒有真正幫助我,因為我發現它很少解釋就很混亂)

可以從sklearn文檔開始 ,進行設置。

early_stopping=True

sklearn的注釋:

當驗證分數沒有提高時是否使用提前停止來終止訓練。 如果設置為true,它將自動預留10%的訓練數據作為驗證,並在兩個連續的時期內驗證分數至少沒有改善時終止訓練。 僅在Solver ='sgd'或'adam'時有效

您可以通過此參數修改分配給驗證集的百分比。

validation_fraction=0.1

為了進行正則化,它們通過參數alpha提供L2正則化。 為此,我強烈建議您使用網格搜索進行優化。

alpha = 0.0001

編輯

然后,我將嘗試優化學習率。 很難以此為依據,但它可能會跳過“錯誤谷”或陷入局部最小值。 嘗試使用0.01和0.0005以及介於兩者之間的網格搜索。

另外,請確保擴展您的輸入(如果尚未輸入),這也可能會引起問題。

編輯

如果您是一名音頻學習者,那么我會嘗試從Udacity的深度學習計划中觀看一些視頻 他們真的很善於用簡單的術語來解釋事情。 這可以幫助您直觀地了解您的網絡正在發生的情況,而不僅僅是反復試驗(有時需要這樣做)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM