1.定義
標准定義:給定一個假設空間H,一個假設h屬於H,如果存在其他的假設h’屬於H,使得在訓練樣例上h的錯誤率比h’小,但在整個實例分布上h’比h的錯誤率小,那么就說假設h過度擬合訓練數據。 —-《Machine Learning》Tom M.Mitchell
2.出現過擬合的一些原因
(1)建模樣本抽取錯誤,包括(但不限於)樣本數量太少,抽樣方法錯誤,抽樣時沒有足夠正確考慮業務場景或業務特點,等等導致抽出的樣本數據不能有效足夠代表業務邏輯或業務場景;
(2)樣本里的噪音數據干擾過大,大到模型過分記住了噪音特征,反而忽略了真實的輸入輸出間的關系;
(3)建模時的“邏輯假設”到了模型應用時已經不能成立了。任何預測模型都是在假設的基礎上才可以搭建和應用的,常用的假設包括:假設歷史數據可以推測未來,假設業務環節沒有發生顯著變化,假設建模數據與后來的應用數據是相似的,等等。如果上述假設違反了業務場景的話,根據這些假設搭建的模型當然是無法有效應用的。
(4)參數太多、模型復雜度高
(5)決策樹模型。如果我們對於決策樹的生長沒有合理的限制和修剪的話,決策樹的自由生長有可能每片葉子里只包含單純的事件數據(event)或非事件數據(no event),可以想象,這種決策樹當然可以完美匹配(擬合)訓練數據,但是一旦應用到新的業務真實數據時,效果是一塌糊塗。
(6)神經網絡模型。
a.由於對樣本數據,可能存在隱單元的表示不唯一,即產生的分類的決策面不唯一.隨着學習的進行, BP算法使權值可能收斂過於復雜的決策面,並至極致.
b.權值學習迭代次數足夠多(Overtraining),擬合了訓練數據中的噪聲和訓練樣例中沒有代表性的特征.
3.解決方案及原理
(1)權值衰減. 主要應用在神經網絡模型中
它在每次迭代過程中以某個小因子降低每個權值,這等效於修改E的定義,加入一個與網絡權值的總量相應的
懲罰項,此方法的動機是保持權值較小,避免weight decay,從而使學習過程向着復雜決策面的反方向偏。
(2)適當的stopping criterion
在二次誤差函數的情況下,關於早停止和權值衰減類似結果的原因說明。橢圓給出了常數誤差函數的輪廓線,Wml表示誤差函數的最小值。如果權向量的起始點為原點,按照局部負梯度的方向移動,那么它會沿着曲線給出的路徑移動。通過對訓練過程早停止,我們找到了一個權值向量w。定性地說,它類似於使用檢點的權值衰減正則化項,然后最小化正則化誤差函數的方法得到的權值。
(3)驗證數據
一個最成功的方法是在訓練數據外再為算法提供一套驗證數據,應該使用在驗證集合上產生最小誤差
的迭代次數,不是總能明顯地確定驗證集合何時達到最小誤差.
Typically 30% of training patterns;Validation set error is checked each epoch;
Stop training if validation error goes up
(4)交叉驗證
交叉驗證方法在可獲得額外的數據提供驗證集合時工作得很好,但是小訓練集合的過度擬合問題更為嚴重.
原理圖
(5)添加正則項。L1正則更加容易產生稀疏解、L2正則傾向於讓參數w趨向於0.
(6)針對樹模型
a.在樹過於大之前便停止生長
每個葉中至少需要多少個數據(threshold)
如何判斷這個閾值(threshold)是重點【可以考慮用假設檢驗/P-值】
b.等樹生長到足夠大之后進行修剪
修剪枝葉,直到任何改動都會降低正確率
4.Tip
(1)增加樣本的全面性和數量;
(2)控制模型的復雜度;
(3)不要過度訓練
(4)模型融合本質上也是一種提高泛化能力的方法