天天看點

泛統計理論初探——過拟合與欠拟合探讨資料挖掘-過拟合與欠拟合的簡介

資料挖掘-過拟合與欠拟合的簡介

過拟合與欠拟合簡介

在我們資料挖掘的學習中,經常會出現過拟合和欠拟合的情況。比如使用BP神經網絡進行預測的時候,可能會造成資料的過拟合;使用簡單的一進制線性回歸的進行預測的時候,可能會造成資料的欠拟合。本文來介紹過拟合和欠拟合的概念以及改進方法。

首先要明确過拟合和欠拟合的概念,欠拟合指的是模型在目前的訓練資料上預測的效果和真實的結果差距較大,還有較大的提升空間;過拟合則指的是模型在目前的訓練資料上預測的效果太好了,基本和真實結果完全吻合,預測的準确率非常高,接近100%的準确率,而在測試集資料裡的預測的效果卻較差,和訓練集的預測準确率相差非常大。下面第一張圖其實就是欠拟合,用一條直線去拟合二次曲線分布的資料;第二張圖代表的是過拟合,用高次多項式去拟合二次曲線分布的資料,正确的做法是用二次多項式去拟合這種類型的資料。

泛統計理論初探——過拟合與欠拟合探讨資料挖掘-過拟合與欠拟合的簡介
泛統計理論初探——過拟合與欠拟合探讨資料挖掘-過拟合與欠拟合的簡介

本文在一開始提到的兩種極端情況,第一種是一進制線性回歸模型,使用這種模型去預測的時候,通常會導緻欠拟合的情況,即由于模型的變量隻有1個,很難去拟合資料,是以導緻預測的效果和真實結果差距很大,也就是欠拟合的情況。第二種是多層BP神經網絡模型,使用這種模型去預測的時候,當使用者在一個簡單的資料挖掘問題中使用了很深的BP神經網絡的時候,會導緻在目前訓練資料集過度拟合,即準确率非常高,神經網絡裡的每個神經元幾乎記住了每條資料,是以造成了過拟合的情況。

使用者如果遇到欠拟合的情況,一般可以通過增加變量、替換模型、綜合多個模型。

(1)替換模型,這種方法是從模型整體去考慮的,因為目前的模型可能不适合這種類型的問題,是以可以替換模型進行嘗試。

(2)增量變量,這種方法是從變量的角度去考慮的,即增加次元更好地表征資料,通過更多的變量代入模型,得到更好的模型預測效果。

(3)綜合多個模型,這種方法其實是內建學習的一種思路的展現,即單個模型可能出現的誤差通過更多的模型組合進行規避,比如隻使用決策樹進行預測發現欠拟合,那麼可以嘗試結合支援向量機、決策樹、樸素貝葉斯等模型的預測結果,通過投票等形式進行模型的綜合,進而提高整個綜合模型的預測準确率。

而當使用者遇到了過拟合的情況,一般可以通過減小模型的複雜度、增加資料、使用正則項。

(1)減小模型的複雜度,這種方法是從模型的角度去考慮的,可能由于模型過于複雜或者變量過多導緻的,比如删除一些高次項或是删除一些不重要的變量。

(2)增加資料,這種方法是從資料的數量去考慮的,有些問題可能本身資料不多,或者給訓練集資料分到的資料不多,導緻了模型在訓練資料上過拟合,可以通過增加資料或提高訓練集的比例來解決。

(3)使用正則項,這種方法是從各個參數的重要性角度去思考的,正則項通常有L1正則和L2正則,它們的差別是計算方法不同,L1正則項是參數絕對值之和、L2正則項是參數的平方和再開根号。通過在目标函數基礎上加一個正則項,使得參數受到了懲罰,最終使得一些不重要的參數減小為0,最終降低了模型過拟合的情況,提升了泛化能力。

總的來說,初學者在學習資料挖掘或者機器學習的模型過程中,遇到了過拟合或者欠拟合的情況可以按上述方法進行嘗試,不同情況的使用政策不同,是以要清楚對應的解決方法背後的原理。

繼續閱讀