深度學習中,一般如何防止過擬合?

方式一

使用傳統的L1、L2正則化來防止過擬合;

  • 由於正則化可以限制權重W的大小,從某種意義上可以降低模型複雜度,可以具有更好泛化能力。另外,奧卡剃姆刀原理也說明模型複雜度越小越好
  • 正則化可以認為是一個懲罰項,只有當每次更新獲得更大的收益時,才會選擇更新;這樣有利於減少噪聲的影響。
  • 方式二

    使用dropout層來防止過擬合。

    將輸入的tensor中的每個元素按照一定的概率置為0,如果不置為0,則按照一定一定的比例進行縮放,目的是為了保證和不變;keep_prob=0.2表示將80%的元素置為0剩下的20% 元素除以0.2;


    深度學習中,一般如何防止過擬合?


    方式三

    batchNormalize防止過擬合。

    對輸入的一批樣本按照維度進行歸一化,歸一化之後的數據往往分佈在座標軸的原點附近,擬合得到的參數會比較小,所以可以防止過擬合;


    深度學習中,一般如何防止過擬合?


    方式四

    LayerNormalize防止過擬合

    與batchNormalize類似,同樣是對數據進行歸一化,只不過是按照行的維度進行歸一化。


    深度學習中,一般如何防止過擬合?


    方式五

    簡化神經網絡,比如:減少神經網絡層數、減少每一層神經元個數等;

    方式六

    降低學習率,減少迭代次數等防止過擬合

    方式七

    終極方案:增加數據量


    關於神經網絡防止過擬合你還有其他的方法嗎?歡迎留言交流


    分享到:


    相關文章: