深度學習---過擬合與欠擬合
阿新 • • 發佈:2018-10-31
一、認識過擬合與欠擬合
經典圖示,其中:
圖1:欠擬合表示:模型不能在訓練集上獲得足夠低的訓練誤差,即:沒有學習到;
圖3:過擬合表示:模型的訓練誤差與測試誤差之間差距較大,即:在訓練集上表現好,在測試集和新資料上表現一般,過學習。
二、解決過擬合的方法
深度學習中常見於解決過擬合。(所有為了減少測試誤差的策略統稱為正則化方法,這些方法可能會以增大訓練誤差為代價。)
(1)資料增強(資料擴充)
a、影象的資料擴充:平移、旋轉、縮放。例如:Keras中的ImageDataGenerator。(可在Keras中文文件中去了解)
b、利用生成對抗網路(GAN)生成新資料;(後期學習之後會跟進)
(2)降低模型複雜度
a、就神經網路而言:減少網路層數和神經元個數;
b、就決策樹而言:降低樹的深度、剪枝;
(3)權值約束(新增正則化項)
a、L1正則化
b、L2正則化
(4)整合學習
a、就神經網路而言:Dropout、BatchNormalization
b、就決策樹而言:隨機森林、GBDT;
(5)提前終止
EarlyStopping
三、解決欠擬合的方法
Note:可以對應著上述解決過擬合的方法來考慮
(1)加入新的特徵
a、交叉特徵、多項式特徵、...
b、深度學習:因子分解機、Deep-Crossing、自編碼器
(2)增加模型複雜度
a、線性模型:新增高次項
b、神經網路:增加網路層數、神經元個數
(3)減小正則化項的係數
a、新增正則化項是為了限制模型的學習能力,減小正則化項的係數則可以放寬這個限制
b、模型通常更傾向於更大的權重,更大的權重可以使模型更好的擬合數據