1.資料集太小,這樣會導致資料集切分的時候不均勻,也就是說訓練集和測驗集的分布不均勻,如果模型能夠正確地捕捉到資料內部的分布模式的話,就有可能造成訓練集的內部方差大于驗證集,會造成訓練集的誤差更大,這個時候就需要重新劃分資料集,使其分布一樣,
2.模型正則化過多,比如訓練時dropout過多,和驗證時的模型相差較大,驗證時是不會有dropout的,
Dropout能基本上確保測驗集的準確性最好,優于訓練集的準確性,Dropout迫使神經網路成為一個非常大的弱分類器集合,這就意味著,一個單獨的分類器沒有太高的分類準確性,只有當把他們串在一起的時候他們才會變得更強大,
而且在訓練期間,Dropout將這些分類器的隨機集合切掉,因此,訓練準確率將受到影響;在測驗期間,Dropout將自動關閉,并允許使用神經網路中的所有弱分類器,因此,測驗精度提高,
3.訓練集的準確率是每個batch之后產生的,而驗證集的準確率一般是一個epoch后產生的,驗證時的模型是訓練一個個batch之后的,有一個滯后性,可以說就是用訓練得差不多的模型用來驗證,當然準確率要高一點,
4.訓練集的資料做了一系列的預處理,如旋轉、仿射、模糊、添加噪點等操作,過多的預處理導致訓練集的分布產生了變化,所以使得訓練集的準確率低于驗證集
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240951.html
標籤:其他
上一篇:用DNS進行網路度量和安全分析
下一篇:冰河是誰?到底是干嘛的?
