天天看點

機器學習模型評估  過拟合與欠拟合的改進方案偏差方差分解分析過拟合、欠拟合過拟合與欠拟合的解決方案

在模型評估與調整的過程中, 我們往往會遇到“過拟合”或“欠拟合”的情況。 如何有效地識别“過拟合”和“欠拟合”現象, 并有針對性地進行模型調整, 是不斷改進機器學習模型的關鍵。 特别是在實際項目中, 采用多種方法、 從多個角度降低“過拟合”和“欠拟合”的風險是算法工程師面試必備知識。

欠拟合與過拟合現象

過拟合是指模型對于訓練資料拟合呈過當的情況, 反映到評估名額上,就是模型在訓練集上的表現很好, 但在測試集和新資料上的表現較差。

欠拟合指的是模型在訓練和預測時表現都不好的情況。

機器學習模型評估  過拟合與欠拟合的改進方案偏差方差分解分析過拟合、欠拟合過拟合與欠拟合的解決方案

通常,欠拟合的模型不能很好地捕捉到資料的特征, 不能夠很好地拟合資料。過拟合的模型過于複雜, 把噪聲資料的特征也學習到模型中, 導緻模型泛化能力下降, 在後期應用過程中很容易輸出錯誤的預測結果。

偏差方差分解分析過拟合、欠拟合

模型的泛化誤差可分解為偏差、方差與噪聲之和(具體推導見西瓜書2.5節)

機器學習模型評估  過拟合與欠拟合的改進方案偏差方差分解分析過拟合、欠拟合過拟合與欠拟合的解決方案

偏差度量了學習算法的期望預測與真實結果的偏離程度,刻畫描述了算法本身對資料的拟合能力,也就是訓練資料的樣本與訓練出來的模型的比對程度;

方差度量了訓練集的變化導緻學習性能的變化,描述了資料擾動造成的影響;

噪聲則表示任何學習算法在泛化能力的下界,描述了學習問題本身的難度。

偏差方差分解表示了泛化性能由三者決定。

一般來說偏差和方差有沖突稱之為偏差-方差窘境。在給定學習任務下,在訓練不足時,學習器的拟合能力較弱,容易欠拟合,訓練資料的擾動不足以使學習器産生明顯變化,此時偏差起到最要的作用。随着學習器拟合能力的加強,偏差越來越小,但是任何一點資料抖動都可以被學習,方差逐漸占據主導,若訓練資料自身的非全局的特性被學習到了,那麼就發生了過拟合。

機器學習模型評估  過拟合與欠拟合的改進方案偏差方差分解分析過拟合、欠拟合過拟合與欠拟合的解決方案

過拟合與欠拟合的解決方案

降低“過拟合”風險的方法

(1) 從資料入手, 獲得更多的訓練資料。 使用更多的訓練資料是解決過拟合問題最有效的手段, 因為更多的樣本能夠讓模型學習到更多更有效的特征, 減小噪聲的影響。 當然, 直接增加實驗資料一般是很困難的, 但是可以通過一定的規則來擴充訓練資料。 比如, 在圖像分類的問題上, 可以通過圖像的平移、 旋轉、縮放等方式擴充資料; 更進一步地, 可以使用生成式對抗網絡來合成大量的新訓練資料。

(2) 降低模型複雜度。 在資料較少時, 模型過于複雜是産生過拟合的主要因素, 适當降低模型複雜度可以避免模型拟合過多的采樣噪聲。 例如, 在神經網絡模型中減少網絡層數、 神經元個數等; 在決策樹模型中降低樹的深度、 進行剪枝等。

(3) 正則化方法。 給模型的參數加上一定的正則限制, 比如将權值的大小加入到損失函數中。 以L2正則化為例:

機器學習模型評估  過拟合與欠拟合的改進方案偏差方差分解分析過拟合、欠拟合過拟合與欠拟合的解決方案

這樣, 在優化原來的目标函數C0的同時, 也能避免權值過大帶來的過拟合風險。

(4) 內建學習方法。 內建學習是把多個模型內建在一起, 來降低單一模型的

過拟合風險, 如Bagging,GBDT方法。

降低“欠拟合”風險的方法

(1) 添加新特征。 當特征不足或者現有特征與樣本标簽的相關性不強時, 模型容易出現欠拟合。 通過挖掘“上下文特征”“ID類特征”“組合特征”等新的特征, 往往能夠取得更好的效果。 在深度學習潮流中, 有很多模型可以幫助完成特征工

程, 如因子分解機、 梯度提升決策樹、 Deep-crossing等都可以成為豐富特征的方法。

(2) 增加模型複雜度。 簡單模型的學習能力較差, 通過增加模型的複雜度可以使模型擁有更強的拟合能力。 例如, 線上性模型中添加高次項, 在神經網絡模型中增加網絡層數或神經元個數等。

(3) 減小正則化系數。 正則化是用來防止過拟合的, 但當模型出現欠拟合現象時, 則需要有針對性地減小正則化系數。

參考文獻

周志華《機器學習》

《深度學習》

繼續閱讀