測試集的准確率為什么高於訓練集的准確率?


本文參考自:https://stackoverflow.com/questions/43979449/higher-validation-accuracy-than-training-accurracy-using-tensorflow-and-keras

      https://www.quora.com/How-can-I-explain-the-fact-that-test-accuracy-is-much-higher-than-train-accuracy

            

如上圖所示,有時候我們做訓練的時候,會得到測試集的准確率或者驗證集的准確率高於訓練集的准確率,這是什么原因造成的呢?經過查閱資料,有以下幾點原因,僅作參考,不對的地方,請大家指正。

(1)數據集太小的話,如果數據集切分的不均勻,或者說訓練集和測試集的分布不均勻,如果模型能夠正確捕捉到數據內部的分布模式話,這可能造成訓練集的內部方差大於驗證集,會造成訓練集的誤差更大。這時你要重新切分數據集或者擴充數據集,使其分布一樣

(2)由Dropout造成,它能基本上確保您的測試准確性最好,優於您的訓練准確性。Dropout迫使你的神經網絡成為一個非常大的弱分類器集合,這就意味着,一個單獨的分類器沒有太高的分類准確性,只有當你把他們串在一起的時候他們才會變得更強大。

  因為在訓練期間,Dropout將這些分類器的隨機集合切掉,因此,訓練准確率將受到影響

  在測試期間,Dropout將自動關閉,並允許使用神經網絡中的所有弱分類器,因此,測試精度提高。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM