我們以影象形式說明下欠擬合、正常擬合、過擬合的場景,左圖為欠擬合,此時演算法學習到的資料規律較弱,有較差的**效果,中圖為正常擬合的形態,模型能夠兼顧**效果和泛化能力,右圖是過擬合的情形,此時模型對訓練集有較好的**效果,但是因為其過度擬合於訓練資料,所以對未見過的資料集有較差的**效果,也就是我們通常說的低泛化能力。
欠擬合問題易於解決,其基本方式有:
[1]增加迭代次數,使用更多的資料餵養模型,使得模型有更強的擬合能力。
[2]增加網路的深度和廣度,增大神經網路的'容量',使得模型有更好的空間表示能力。
在dnn中常用的解決過擬合方法有:
[1]早停策略。早停是指在使用交叉檢驗策略,每隔一定的訓練次數觀察訓練集和驗證集上資料的準確率,從而可以比較觀察找到合適的訓練次數,及時在下圖紅點出停止,防止網路過度擬合訓練集。
[2]整合學習策略。用bagging的思路進行正則化,對原始的m個訓練樣本進行又放回的隨機取樣,從而可以可以使用有放回的方式構建n組m個樣本(裡面可以重複)資料集,然後讓這n組資料去訓練dnn,這樣可以dnn往乙個樣本模式過度擬合,而能學習綜合的樣本特徵,但是這樣的方式會導致資料量增加,訓練更耗時。
[3]dropout策略。方法是在前後向傳播演算法每次迭代時隨機隱藏一部分神經元不參與計算,並使用這些隱藏一部分資料後的網路去擬合一批資料,通過這種隨機隱藏,來提公升擬合限度,防止生成太擬合資料的函式式,但是這樣方式需要有大量資料集來餵養,否則會導致欠擬合。
[4]正則化方法是指在進行目標函式或代價函式優化時,在目標函式或代價函式後面加上乙個正則項(代表模型複雜度,又可稱為懲罰項),這樣我們令損失函式盡量小時,也會同時會讓後面正則項代表的模型複雜度盡量小,通過這樣的限制來防止模型結果過於複雜,從而有更好的普適效果。
如下式說明目標變為要找到使損失函式和正則項都小的引數。
對過擬合,欠擬合和正則化的理解
過擬合 定義 訓練誤差和測試誤差之間的差距太大 原因 模型容量過大 後果 無法提取有效的結構資訊,即解過多,無法選出乙個泛化能力好的解 這裡就得解釋一下模型容量和泛化能力的概念了,模型容量即擬合各種函式的能力,顯然高次函式多項式的這種能力比低次的強,就說更高次的模型容量大。泛化能力即在未觀測到的輸入...
深度學習(七) 過擬合欠擬合
整體 從標準正態分佈中隨機抽取資料組成張量,形狀由sizes定義 函式原型 torch.randn sizes,out none 應用 features torch.randn n train n test,1 生成200 1的張量在給定維度上對輸入的張量序列seq進行連線操作。0為行,1為列。對輸...
對過擬合和欠擬合的理解以及解決辦法
前言 不管是在深度學習還是在機器學習中訓練的模型存在著過擬合和欠擬合的現象,而且這種現象或多或少可能都是難以避免的。在介紹擬合和欠擬合之前我們先來了解一下其他幾個概念。誤差 偏差 訓練得到的模型實際 輸出和樣本的真實輸出之間的差異叫做誤差。方差 描述的是模型實際的 輸出的變化範圍,離散程度,也就是離...