[模型優化]模型欠擬合及過擬合判斷、優化方法
一、模型欠擬合及過擬合簡介
模型應用時發現效果不理想,有多種優化方法,包含:
-
- 添加新特征
- 增加模型復雜度
- 減小正則項權重
- 獲取更多訓練樣本
- 減少特征數目
- 增加正則項權重
具體采用哪種方法,才能夠有效地提高模型精度,我們需要先判斷模型是欠擬合,還是過擬合,才能確定下一步優化方向。



圖1
模型欠擬合,即高偏差(high bias),是指模型未訓練出數據集的特征,導致模型在訓練集、測試集上的精度都很低。如圖1左圖所示。
模型過擬合,即高方差(high variance),是指模型訓練出包含噪點在內的所有特征,導致模型在訓練集的精度很高,但是應用到新數據集時,精度很低。如圖1右圖所示。
二、模型欠擬合及過擬合判斷
1、數據集划分
數據集划分為訓練集(Training set 80%)、測試集集(Test set 20%),損失函數定義為:

2、繪制損失函數隨數據集增加的學習曲線
隨着訓練集樣本的增加(m=1,2,3,....),訓練集和測試集的損失函數變化趨勢,如下圖2所示:


圖2
模型欠擬合(高偏差),如圖2左圖所示,擁有足夠的訓練樣本時,訓練誤差和測試誤差都很高,並且訓練誤差約等於測試誤差。
模型過擬合(高方差),如圖2右圖所示,隨着訓練樣本的增加,訓練誤差在增加,測試誤差在減少,但訓練誤差遠遠小於測試誤差,J(train)<< J(test)。
注:准備幾個不同時間窗口、不同范圍的訓練集和測試集,然后在不同數據集里分別對模型進行交叉驗證,這是工業界判斷模型欠擬合或過擬合的最常用方法。
三、模型欠擬合與過擬合的優化方法
1、模型欠擬合
1)添加新特征
從業務思路上構造新特征是最重要的優化措施!!這個思路對於模型效用的提升是根本性的,是源頭上的突破。衍生變量的構建,可以從以下兩個方面考慮:
有沒有更加明顯且直觀的規則、指標可以代替復雜的建模;
有沒有一些明顯的業務邏輯在前期的建模階段被忽視。
2)模型優化:提升模型復雜度
模型算法,不同的建模算法針對不同的業務場景有不同的表現,嘗試不同的建模算法,從中比較,擇優者而用之。
細分群體,建立多個模型,一一對應不同的核心客戶群體。
3)減少正則項權重
2、模型過擬合
1)重新清洗數據,導致過擬合的一個原因也有可能是數據不純導致的,如果出現了過擬合就需要我們重新清洗數據。
2)獲取更多的訓練樣本,
由於模型訓練了包含噪音在內的所有特征,導致模型過擬合,通過獲取更多的訓練樣本,可以衰減噪音權重。
3)減少特征數目
特征共線性檢查,利用Pearson相關系數計算變量之間的線性相關性,如果自變量中屬於中度以上線性相關的多個變量,只需要保留一個就可以。
重要特征篩選,利用決策樹模型,篩選出重要特征。
數據降維,主成分分析,保留特征變量重要差異。
4)增加正則項權重

參考資料:
1、斯坦福大學,machie learning課程
https://www.coursera.org/learn/machine-learning/resources/LIZza
2、《數據挖掘與數據化運營實戰》,第8章,常見的數據處理技巧
