1. 程式人生 > >深度學習---過擬合與欠擬合

深度學習---過擬合與欠擬合

一、認識過擬合與欠擬合

經典圖示,其中:

圖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、模型通常更傾向於更大的權重,更大的權重可以使模型更好的擬合數據