過擬合
出自 MBA智库百科(https://wiki.mbalib.com/)
過擬合(Overfitting)是指為了得到一致假設而使假設變得過度嚴格。避免過擬合是分類器設計中的一個核心任務。通常採用增大數據量和測試樣本集的方法對分類器性能進行評價。
目錄 |
為了得到一致假設而使假設變得過度嚴格稱為過擬合。
給定一個假設空間H,一個假設h屬於H,如果存在其他的假設h’屬於H,使得在訓練樣例上h的錯誤率比h’小,但在整個實例分佈上h’比h的錯誤率小,那麼就說假設h過度擬合訓練數據。[1]
一個假設在訓練數據上能夠獲得比其他假設更好的擬合, 但是在訓練數據外的數據集上卻不能很好地擬合數據,此時認為這個假設出現了過擬合的現象。出現這種現象的主要原因是訓練數據中存在噪音或者訓練數據太少。[2]
(1)建模樣本選取有誤,如樣本數量太少,選樣方法錯誤,樣本標簽錯誤等,導致選取的樣本數據不足以代表預定的分類規則;
(2)樣本噪音干擾過大,使得機器將部分噪音認為是特征從而擾亂了預設的分類規則;
(3)假設的模型無法合理存在,或者說是假設成立的條件實際並不成立;
(4)參數太多,模型複雜度過高;
(5)對於決策樹模型,如果我們對於其生長沒有合理的限制,其自由生長有可能使節點只包含單純的事件數據(event)或非事件數據(no event),使其雖然可以完美匹配(擬合)訓練數據,但是無法適應其他數據集。
(6)對於神經網路模型:a)對樣本數據可能存在分類決策面不唯一,隨著學習的進行,,BP演算法使權值可能收斂過於複雜的決策面;b)權值學習迭代次數足夠多(Overtraining),擬合了訓練數據中的雜訊和訓練樣例中沒有代表性的特征。
(1)在神經網路模型中,可使用權值衰減的方法,即每次迭代過程中以某個小因數降低每個權值。
(2)選取合適的停止訓練標準,使對機器的訓練在合適的程度;
(3)保留驗證數據集,對訓練成果進行驗證;
(4)獲取額外數據進行交叉驗證;
(5)正則化,即在進行目標函數或代價函數優化時,在目標函數或代價函數後面加上一個正則項,一般有L1正則與L2正則等。
首先,分類器本質上是一個數學優化問題,用最常見的最小二乘擬合舉例,優化目標如下:
「對於所有樣本點,擬合函數在樣本點處的函數值和樣本點處實際的函數值之差的平方和最小」
顯然這是一個均方誤差最小(MSE)準則。如果擬合函數足夠好,那麼這個函數值為零。
我們換一種思路,假使一定要讓MSE準則為零,可以得到:
1、線性函數只能表達直線上的樣本點,因此樣本點不在同一條直線上的時候,上面的MSE準則函數值一定嚴格大於零。因此想讓這個函數等於零,樣本點至多不超過兩個(暫不考慮解不存在的奇異情況);
2、對於任意三個點,使用二次函數能夠保證MSE準則等於零(包括三點共線的退化情況);
......
n、對於任意多個點,總能找到一個足夠高次數的多項式,使得對於所有點的MSE準則函數為零。
我們稱上述擬合效果為一個給定階次多項式的「表達能力」。
實際上在擬合過程中,多項式的表達能力並非越強越好。因為MSE準則只關註樣本點處的擬合誤差,因此非常強的表達能力會使得樣本點之外的函數值遠遠偏離期望的目標,反而降低分類器的性能。