评估方法提高深度学习模型泛化能力
三種經(jīng)典的評估方法提高模型泛化能力
①留出驗(yàn)證:評估模型時,將數(shù)據(jù)劃分為訓(xùn)練集、驗(yàn)證集、測試集。(比較適合大數(shù)據(jù)集)
在訓(xùn)練數(shù)據(jù)上訓(xùn)練模型,在驗(yàn)證數(shù)據(jù)上評估模型,最后在測試數(shù)據(jù)上測試最佳參數(shù)的模型。
劃分為三個集合而非兩個集合:訓(xùn)練集和測試集,是因?yàn)樵谀P驮O(shè)計(jì)時一般需要調(diào)節(jié)模型超參數(shù),比如隱藏層數(shù)、每層神經(jīng)元數(shù)等等,在這個調(diào)節(jié)學(xué)習(xí)的過程中會以驗(yàn)證集的性能作為反饋;
每次通過驗(yàn)證集調(diào)節(jié)模型的超參數(shù),模型都會學(xué)習(xí)到驗(yàn)證集的信息,久而久之模型在驗(yàn)證集上的性能會非常好,但我們需要的是模型對全新未知數(shù)據(jù)上的性能,此時測試集就是我們所需要的。
②k折驗(yàn)證:將訓(xùn)練數(shù)據(jù)劃分為大小相同的k個分區(qū)。(適合小數(shù)據(jù)集)
對于每個分區(qū)i,在其余的k-1個分區(qū)上訓(xùn)練模型,然后在分區(qū)i上評估模型,最終分?jǐn)?shù)等于k個分區(qū)分?jǐn)?shù)的平均值。
③(k-fold交叉驗(yàn)證)帶有打亂節(jié)奏的重復(fù)k折驗(yàn)證。(可用數(shù)據(jù)集很少)
執(zhí)行p次k折驗(yàn)證,每次進(jìn)行k折驗(yàn)證前將數(shù)據(jù)打亂,最終分?jǐn)?shù)取p次k折驗(yàn)證的平均值。
需要注意的是,這種方法需要訓(xùn)練和評估p?k次模型,計(jì)算量很大,只適合可用數(shù)據(jù)較少的情況。
防止過擬合:
①最簡單的方法就是減小模型規(guī)格,即減小模型學(xué)習(xí)的參數(shù)個數(shù)(由層數(shù)與每層神經(jīng)元數(shù)決定)。在驗(yàn)證集上評估,找到最佳的模型規(guī)格。
②添加權(quán)重正則化,即讓模型權(quán)重只取較小的值,從而限制模型的復(fù)雜度。常見的有L1正則化、L2正則化。
③添加dropout正則化,對某一層使用dropout即在訓(xùn)練過程中隨機(jī)將該層的一些輸出特征舍棄(置0),dropout比率是被設(shè)為0的特征所占比例,通常在0.2~0.5之間。
 ?
總結(jié)
以上是生活随笔為你收集整理的评估方法提高深度学习模型泛化能力的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: qemu的详细资料大全(入门必看!!!)
 - 下一篇: mysql能够跨平台使用吗_Mysql跨