數據嗨客 | 第7期:機器學習中的過擬合問題

普林大數據學院——「機器學習」系列

普林大數據學院依託北京大數據研究院和北京大學,為有需求的企業和用戶提供線上線下結合大數據培訓服務。

線上:國內首家大數據在線成長平台——數據嗨客,包括實戰、學習、群組、培訓、競賽、工作六大功能模塊。旨在幫助大數據人才在理論知識、業務能力和實戰技能方面全面發展,成長為真正的數據科學家。

線下:專業的數據科學家授課,權威的課程體系(北大授課體系)。

「Amongcompeting hypotheses, the one with the fewest assumptions should be selected.」

—–Williamof Ockham

在可以考慮的所有設想中,我們應該選擇假設最少的那個。簡單的總是更好的,這一哲學思想被後人稱為「奧卡姆剃刀」

一個借款人是否會壞賬?

一個用戶是否會購買某個商品?

一部新手機的銷量如何?

一個病人是否患有某種慢性疾病?

這問題都可以歸結為「預測」問題。

簡單地說,「預測」就是根據已知的輸入和輸出進行學習,並依照給定的新輸入給出我們自己的判斷。

依照問題的輸出是否是有限集合,我們可以進一步把「預測」問題劃分為分類問題和回歸問題

「預測」問題中一個很令人頭疼的現象就是過擬合現象。

我們先來闡述過擬合是什麼,然後簡單介紹幾種解決方案。

解決分類和回歸問題的模型演算法有幾十上百種,一類模型其自由度或者參數的數量是固定的,我們稱之為簡單模型,例如線性回歸模型的參數只與輸入數據的維度有關。

還有一類模型其自由度的個數可以人為增加,我們稱之為複雜模型,例如決策樹何以有任意多層,Boosting演算法可以迭代任意多步,神經網路模型可以由任意多個神經元和隱藏層等等。

通常來說,簡單模型對於一個問題如果效果不理想(例如準確率太低),則可操作空間主要在於建立更好的特徵,模型本身的改造沒有太多提升空間。

複雜模型則可以通過不斷調節其參數個數,使其在訓練集上的效果不斷改進。

但是,這樣的效果改進在測試數據上常常得不到提現,反而我們經常會觀測到,當模型複雜度不斷提升時,測試數據集上的效果可能先升後降。

以決策樹為例,假設我們要對1000個借款人是否會壞賬進行分類。

假如我們對決策樹的深度不加以限制,那麼我們可以為每一個借款人設置一個判別準則,從而使得我們的模型在這1000個人的數據集上的正確率是100%。

例如,如果一個人30歲,身高170體重150斤且名字是三個字,則他貸款會壞賬。直觀上看,這樣的判別準則在測試數據集上並沒有什麼用處,因為可能永遠也不會再有人滿足這樣的判別標準了。

那麼,一個重要而且實際的問題就是,如果一個數據問題比較複雜,簡單模型無法奏效,複雜模型在訓練集上效果很好卻在測試集上表現平平,我們應該如何應對呢?

通常的解決方案就是特徵選擇(FeatureSelection)、降維(Dimension Reduction)和正則化(Regularization)。

在處理數據的過程中,降維與特徵選擇常常是耦合在一起的。

真實世界中的數據蘊含著大量冗餘維度,他們常常是無用的,甚至是雜訊。

複雜模型的預測機制有可能過分依賴這些冗餘維度,從而使得預測結果不可信。

正則化簡單地說就是人為在模型中加入一些懲罰項或者約束,使得模型複雜度的升高得到限制,從而避免由於模型過度複雜而引起的過擬合。

當然,模型複雜度不夠本身就會導致預測準確度下降,因而正則化的選取必須恰到好處。

決策樹模型的剪枝(Pruning)技術,Gradient Boosting演算法中經常用到的earlystoppinig方法、shrinkage方法、限制弱分類樹深度的方法都屬於正則化的範疇。深度學習(Deep Learning)中的卷積神經網(ConvolutionalNeural Network)絡技術也可以被認為是一種正則化方法,因為卷積本身就限定了層與層之間的映射關係在一個非常小的函數空間內。


推薦閱讀:

天搜科技:多平台被質疑用大數據殺熟
Hive——第二章(Hive基本操作)
阿里雲「數加」是什麼鬼?兩張大圖給你詳解
國際視野下的大數據政策與個人信息保護
R語言和大數據

TAG:機器學習 | 大數據 | 數學建模 |