泛統計理論初探——過擬合與欠擬合探討

數據挖掘-過擬合與欠擬合的簡介

過擬合與欠擬合簡介
在我們數據挖掘的學習中,經常會出現過擬合和欠擬合的情況。比如使用BP神經網絡進行預測的時候,可能會造成數據的過擬合;使用簡單的一元線性迴歸的進行預測的時候,可能會造成數據的欠擬合。本文來介紹過擬合和欠擬合的概念以及改進方法。
首先要明確過擬合和欠擬合的概念,欠擬合指的是模型在當前的訓練數據上預測的效果和真實的結果差距較大,還有較大的提升空間;過擬合則指的是模型在當前的訓練數據上預測的效果太好了,基本和真實結果完全吻合,預測的準確率非常高,接近100%的準確率,而在測試集數據裏的預測的效果卻較差,和訓練集的預測準確率相差非常大。下面第一張圖其實就是欠擬合,用一條直線去擬合二次曲線分佈的數據;第二張圖代表的是過擬合,用高次多項式去擬合二次曲線分佈的數據,正確的做法是用二次多項式去擬合這種類型的數據。
在這裏插入圖片描述
在這裏插入圖片描述
本文在一開始提到的兩種極端情況,第一種是一元線性迴歸模型,使用這種模型去預測的時候,通常會導致欠擬合的情況,即由於模型的變量只有1個,很難去擬合數據,所以導致預測的效果和真實結果差距很大,也就是欠擬合的情況。第二種是多層BP神經網絡模型,使用這種模型去預測的時候,當使用者在一個簡單的數據挖掘問題中使用了很深的BP神經網絡的時候,會導致在當前訓練數據集過度擬合,即準確率非常高,神經網絡裏的每個神經元幾乎記住了每條數據,所以造成了過擬合的情況。
使用者如果遇到欠擬合的情況,一般可以通過增加變量、替換模型、綜合多個模型。
(1)替換模型,這種方法是從模型整體去考慮的,因爲當前的模型可能不適合這種類型的問題,所以可以替換模型進行嘗試。
(2)增量變量,這種方法是從變量的角度去考慮的,即增加維度更好地表徵數據,通過更多的變量代入模型,得到更好的模型預測效果。
(3)綜合多個模型,這種方法其實是集成學習的一種思路的體現,即單個模型可能出現的誤差通過更多的模型組合進行規避,比如只使用決策樹進行預測發現欠擬合,那麼可以嘗試結合支持向量機、決策樹、樸素貝葉斯等模型的預測結果,通過投票等形式進行模型的綜合,從而提高整個綜合模型的預測準確率。

而當使用者遇到了過擬合的情況,一般可以通過減小模型的複雜度、增加數據、使用正則項。
(1)減小模型的複雜度,這種方法是從模型的角度去考慮的,可能由於模型過於複雜或者變量過多導致的,比如刪除一些高次項或是刪除一些不重要的變量。
(2)增加數據,這種方法是從數據的數量去考慮的,有些問題可能本身數據不多,或者給訓練集數據分到的數據不多,導致了模型在訓練數據上過擬合,可以通過增加數據或提高訓練集的比例來解決。
(3)使用正則項,這種方法是從各個參數的重要性角度去思考的,正則項通常有L1正則和L2正則,它們的區別是計算方法不同,L1正則項是參數絕對值之和、L2正則項是參數的平方和再開根號。通過在目標函數基礎上加一個正則項,使得參數受到了懲罰,最終使得一些不重要的參數減小爲0,最終降低了模型過擬合的情況,提升了泛化能力。
總的來說,初學者在學習數據挖掘或者機器學習的模型過程中,遇到了過擬合或者欠擬合的情況可以按上述方法進行嘗試,不同情況的使用策略不同,所以要清楚對應的解決方法背後的原理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章