過擬合(原因、解決方案、原理)

轉載:https://blog.csdn.net/a819825294/article/details/51239686
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)模型融合本質上也是一種提高泛化能力的方法
參考
(1)PRML

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