深度學習 過擬合問題

2021-08-28 03:03:29 字數 1597 閱讀 8996

overfitting

表現:策略:

1. 正則化措施

a. 權值衰減(weight decay)

b. 多模型ensemble

c. 資料增強

d. 雜訊

e. dropout

更多參考資料

訓練集好測試集不好

(1) 資料增多 (2) 模型簡化 (3) 正則化/regularization(以訓練效能為代價)

思路是為了將權值限制在一定範圍內,可以給引數增加損失項,使引數範圍不會過大

其中 a 是乙個超引數,決定了regularization在代價函式中的重要程度,越大的 a 代表越強的regularization。 當 ω 是引數的範數時,這種regularization方式被稱作parameter norm penalties,特別地,當 ω 是l2範數時,被稱作weight-decay。按照梯度下降法的原理,增加l2範數的loss項等價於在每步訓練迭代時,把每個加到loss項中的引數絕對值減小到1−a倍。 

機器學習中有所謂bias–variance tradeoff。模型的誤差可以被分為兩類:

單個模型的輸出比較不一致時,多模型combine的效果較好,因此為了使多個單模型輸出比較不同,常見做法是:

不過在實際使用中,即使使用完全相同的網路和資料,一般也可以通過combine得到更好的效能。

上文提到,對抗過擬合問題最好的方法就是增加訓練資料量,但是實際中資料很可能是不夠的。因此資料增強就是一種生成非真實的資料給網路訓練的方法。例如在分類任務中,可以通過裁剪(crop),翻轉(flip),縮放(scale/resize),旋轉(rotate)得到和原始內容不一樣但是label一樣的訓練樣本,這些非真實的訓練樣本可以有效地提公升模型的魯棒性。

利用雜訊增強模型的泛化性有以下幾種常見方法:

dropout是一種非常有效的regularization方法。這種方法會在訓練時,將部分神經元(實際中的常見做法是僅對全連線層使用dropout,因為卷積層引數相對較少,過擬合問題較輕)的輸出按照一定概率 p

(常見的概率是0.2-0.5)置0。如下圖所示,可以看作是改變了網路的結構。

drouput可以被看作每步迭代時,被更新的網路都是從原始網路中取樣得到的子網路。因為原始網路的可能子網路個數可能是指數的,dropout某種程度上可以被看作非常多個不同網路的combine(當然這是不嚴格的,因為這些網路共享了引數)。

關於dropout的另外一種解釋認為,dropout也可以被看作是一種資料增強:每個dropout後的子網路n′

,都能在原始樣本空間中找到乙個可能的樣本s′,使得現在的訓練樣本s在n′上的輸出等同於s在n′

上的輸出,因此相同樣本的在多次帶dropout的訓練中,實際可被看作相當於多個樣本。

p.s.

2. 以及為什麼dropout可以對抗過擬合:

「dropout 也能達到同樣的效果,它強迫乙個神經單元,和隨機挑選出來的其他神經單元共同工作,消除減弱了神經元節點間的聯合適應性,增強了泛化能力。」

資料:

hinton講義

cs231

深度學習 過擬合問題

1 過擬合問題 欠擬合 根本原因是特徵維度過少,模型過於簡單,導致擬合的函式無法滿足訓練集,誤差較大 解決方法 增加特徵維度,增加訓練資料 過擬合 根本原因是特徵維度過多,模型假設過於複雜,引數過多,訓練資料過少,雜訊過多,導致擬合的函式完美的 訓練集,但對新資料的測試集 結果差。過度的擬合了訓練資...

深度學習過擬合

過擬合是深度學習中十分常見的問題,乙個模型如果過擬合了就無法很好的適用於實際的業務場景中。防止過擬合的方法 1 引入正則化 2 dropout 3 提前終止訓練 4 增加樣本量 下面一一作出詳細的介紹 模型過擬合極有可能是模型過於複雜造成的。模型在訓練的時候,在對損失函式進行最小化的同時,也需要對引...

深度學習(七) 過擬合欠擬合

整體 從標準正態分佈中隨機抽取資料組成張量,形狀由sizes定義 函式原型 torch.randn sizes,out none 應用 features torch.randn n train n test,1 生成200 1的張量在給定維度上對輸入的張量序列seq進行連線操作。0為行,1為列。對輸...