1、過擬合問題
欠擬合:根本原因是特徵維度過少,模型過於簡單,導致擬合的函式無法滿足訓練集,誤差較大;
解決方法:增加特徵維度,增加訓練資料;
過擬合:根本原因是特徵維度過多,模型假設過於複雜,引數過多,訓練資料過少,雜訊過多,導致擬合的函式完美的**訓練集,但對新資料的測試集**結果差。 過度的擬合了訓練資料,而沒有考慮到泛化能力。
解決方法:(1)減少特徵維度;(2)正則化,降低引數值。
減少過擬合總結:過擬合主要是有兩個原因造成的:資料太少+模型太複雜
(1)獲取更多資料 :從資料源頭獲取更多資料;資料增強(data augmentation)
(2)使用合適的模型:減少網路的層數、神經元個數等均可以限制網路的擬合能力;
(3)dropout ;
(4)正則化,在訓練的時候限制權值變大;
(5)限制訓練時間;通過評估測試;
(6)增加雜訊 noise: 輸入時+權重上(高斯初始化) ;
(7)資料清洗(data ckeaning/pruning):將錯誤的label 糾正或者刪除錯誤的資料。
(8)結合多種模型: bagging用不同的模型擬合不同部分的訓練集;boosting只使用簡單的神經網路;
產生過擬合根本原因:
1、 觀察值與真實值存在偏差:
訓練樣本的獲取,本身就是一種 抽樣。抽樣操作就會存在誤差, 也就是你的訓練樣本 取值 x, x = x(真值) + u(隨機誤差),機器學習的 優化函式 多為 min cost函式,自然就是盡可能的擬合 x,而不是真實的x,所以 就稱為過擬合了,實際上是學習到了真實規律以外的 隨機誤差。舉個例子說,你想做人臉識別,人臉裡有背景吧,要是你這批人臉背景a都相似,學出來的模型,見到背景a,就會認為是人臉。這個背景a就是你樣本引入的誤差。
2、 資料太少,導致無法描述問題的真實分布
舉個例子,投硬幣問題 是乙個 二項分布,但是如果 你碰巧投了10次,都是正面。那麼你根據這個資料學習,是無法揭示這個規律的,根據統計學的大數定律(通俗地說,這個定理就是,在試驗不變的條件下,重複試驗多次,隨機事件的頻率近似於它的概率),當樣本多了,這個真實規律是必然出現的。
為什麼說 資料量大了以後 就能防止過擬合,資料量大了,
問題2,不再存在,
問題1,在求解的時候因為資料量大了, 求解min cost函式時候, 模型為了求解到最小值過程中,需要兼顧真實資料擬合 和 隨機誤差擬合,所有樣本的真實分布是相同的(都是人臉),而隨機誤差會一定程度上抵消(背景),
(1)資料有雜訊。
我們可以理解地簡單些:有噪音時,更複雜的模型會盡量去覆蓋噪音點,即對資料過擬合。這樣,即使訓練誤差ein 很小(接近於零),由於沒有描繪真實的資料趨勢,eout 反而會更大。
即噪音嚴重誤導了我們的假設。還有一種情況,如果資料是由我們不知道的某個非常非常複雜的模型產生的,實際上有限的資料很難去「代表」這個複雜模型曲線。我們採用不恰當的假設去盡量擬合這些資料,效果一樣會很差,因為部分資料對於我們不恰當的複雜假設就像是「噪音」,誤導我們進行過擬合。
如下面的例子,假設資料是由50次冪的曲線產生的(下圖右邊),與其通過10次冪的假設曲線去擬合它們,還不如採用簡單的2次冪曲線來描繪它的趨勢。
(2)訓練資料不足,有限的訓練資料。
(3)訓練模型過度,導致模型非常複雜。
2、正則方法主要有哪些?
(1)l1和l2正則:都是針對模型中引數過大的問題引入懲罰項,依據是奧克姆剃刀原理。在深度學習中,l1會趨向於產生少量的特徵,而其他的特徵都是0增加網路稀疏性;而l2會選擇更多的特徵,這些特徵都會接近於0,防止過擬合。神經網路需要每一層的神經元盡可能的提取出有意義的特徵,而這些特徵不能是無源之水,因此l2正則用的多一些。
(2)dropout:深度學習中最常用的正則化技術是dropout,隨機的丟掉一些神經元。
(3)資料增強,比如將原始影象翻轉平移拉伸,從而是模型的訓練資料集增大。資料增強已經是深度學習的必需步驟了,其對於模型的泛化能力增加普遍有效,但是不必做的太過,將原始資料量通過資料增加增加到2倍可以,但增加十倍百倍就只是增加了訓練所需的時間,不會繼續增加模型的泛化能力了。
(4)提前停止(early stopping):就是讓模型在訓練的差不多的時候就停下來,比如繼續訓練帶來提公升不大或者連續幾輪訓練都不帶來提公升的時候,這樣可以避免只是改進了訓練集的指標但降低了測試集的指標。
(5)批量正則化(bn):就是將卷積神經網路的每層之間加上將神經元的權重調成標準正態分佈的正則化層,這樣可以讓每一層的訓練都從相似的起點出發,而對權重進行拉伸,等價於對特徵進行拉伸,在輸入層等價於資料增強。注意正則化層是不需要訓練。
**——>原文
深度學習 過擬合問題
overfitting 表現 策略 1.正則化措施 a.權值衰減 weight decay b.多模型ensemble c.資料增強 d.雜訊 e.dropout 更多參考資料 訓練集好測試集不好 1 資料增多 2 模型簡化 3 正則化 regularization 以訓練效能為代價 思路是為了將權...
深度學習過擬合
過擬合是深度學習中十分常見的問題,乙個模型如果過擬合了就無法很好的適用於實際的業務場景中。防止過擬合的方法 1 引入正則化 2 dropout 3 提前終止訓練 4 增加樣本量 下面一一作出詳細的介紹 模型過擬合極有可能是模型過於複雜造成的。模型在訓練的時候,在對損失函式進行最小化的同時,也需要對引...
深度學習(七) 過擬合欠擬合
整體 從標準正態分佈中隨機抽取資料組成張量,形狀由sizes定義 函式原型 torch.randn sizes,out none 應用 features torch.randn n train n test,1 生成200 1的張量在給定維度上對輸入的張量序列seq進行連線操作。0為行,1為列。對輸...