閱讀177 返回首頁    go 阿裏雲 go 技術社區[雲棲]


開發 | 為什麼說集成學習模型是金融風控新的殺手鐧?


0?wx_fmt=png

當下,隨著金融市場環境的迅速普惠化,新金融業務也不斷下沉到更加廣泛的人群。由於這部分人群的強征信數據嚴重缺失,金融機構紛紛涉獵多元數據包括消費、社交、行為等“大數據”。然而,這些天然帶有超高維、稀疏、低飽和等特點的數據也遠遠超出了線性回歸或邏輯回歸等模型所能處理的能力範圍,這對傳統風控提出了巨大的挑戰。


集成學習模型框架很好地解決了這一問題,其核心在於針對不同領域數據使用不同機器學習或深度學習模型對數據進行處理和建模,產生一組“個體學習器”,集成模型通過將多個學習器進行組合,常可獲取比單一學習器顯著優越的泛化能力。可為什麼說集成學習模型是金融風控新的殺手鐧呢?這裏簡單介紹一下集成學習模型的概覽,大致分類,主流算法以及在我們金融風控實際場景中到底發揮了怎樣的價值。


 概覽 

集成學習目前在全球各大機器學習、數據挖掘競賽中使用非常廣泛,其概念和思想也風靡學界和工業界。如果要對其進行分類,可以大致劃分為模型融合和機器學習元算法兩大類,前者其實是一個再學習的過程,將訓練出的強學習器組合起來進一步提高性能,後者則是弱學習器的組合。


 模型融合 

首先,我們談一下模型融合,其思想在實際問題中也很符合大多數人的直覺,聰明的我們其實總可以根據實際問題訓練出多個功能強大的學習器,為了進一步提高學習器的能力,可以嚐試將其組合起來。好處是增強了我們模型的預測能力或者泛化能力,當然壞處也有,就是這種多模型的學習加上再學習的過程會顯著增加計算的代價。在模型融合時,如果把好壞參差不齊的模型融合在一起,那麼集成模型的性能可能會比壞的好一些,好的壞一些。所以,當我們在模型融合時,需要每個“個體學習器”是“好而不同”的,“好”指的是個體學習器的性能都要好,“不同”指的是個體模型的類別不同,“個體學習器”可以分別是基於tree-based,神經網絡,線性分類器等。


“個體學習器”融合的具體方法一般分為三種:第一種是統一融合(Uniform Blending),即分類時使用一人一票的投票方式,回歸時使用多個模型的平均值;第二種是線性融合(Linear Blending),即用線性模型將學習器組合起來;第三種是堆融合(Stacking),即用非線性模型將學習器組合起來。


 機器學習元算法 

機器學習元算法是把同類別的“弱”學習器通過算法集成起來變為“強”分類器。根據個體學習器的生成方式,可分為Bagging 和 Boosting兩大類: 前者個體學習器不存在依賴關係,可同時對樣本隨機采樣並行化生成個體學習器,代表算法如 Random Forest;後者個體學習器之間存在強的依賴關係,在基於前麵模型的訓練結果(誤差)生成新的模型,所以必須串行序列化生成,代表算法包括GBDT、XGBoost。


Bagging的方法對樣本、特征屬性隨機取樣產生多個獨立模型,然後平均所有模型的預測值,旨在減小方差(Variance);而Boosting的方法擬合前一個模型的誤差, 旨在減小偏差(Bias)。


 Random Forest 

隨機森林的原理是基於原始樣本隨機抽樣獲取子集,在此之上訓練基於決策樹的基學習器,然後對基學習器的結果求平均值,最終得到預測值。隨機抽樣的方法常用的有放回抽樣的booststrap,也有不放回的抽樣。RF的基學習器主要為CART樹(Classification And Regression Tree),這裏小氪對CART舉一個例子,比如預測一個人是否會喜歡電腦遊戲,你可以把葉子的分數理解為有多可能這個人喜歡電腦遊戲:


0?wx_fmt=jpeg

圖1圖片來源:XGBoost Tutorials


CART會把輸入的屬性分配到各個葉子節點,而每個葉子節點上麵都會對應一個實數分數。有人可能會問它和決策樹(DT)的關係,其實我們可以簡單地把它理解為決策樹的一個擴展。從簡單的類標到分數之後,我們可以做很多事情,如概率預測,排序。


 GBDT 

GBDT(Gradient Boosting Decision Tree)的原理是,首先使用訓練集和樣本真值(即標準答案)訓練一棵樹,使用這棵樹預測訓練集,得到每個樣本的預測值,由於預測值與真值存在偏差,所以二者相減可以得到“殘差”。接下來訓練第二棵樹,此時使用殘差代替真值作為標準答案,兩棵樹訓練完成後,可以再次得到每個樣本的殘差。然後進一步訓練第三棵樹,以此類推,樹的總棵數可以人為指定,也可以監控某些指標如驗證集上的誤差來停止訓練。


0?wx_fmt=jpeg

圖2圖片來源:XGBoost Tutorials


比如我們使用兩棵樹來預測一個人是否喜歡電腦遊戲,如上圖所示,在預測新樣本時,每棵樹都會有一個輸出值,將這些輸出值相加,就可得到樣本最終的預測值,故小男孩和老人的預測值分別為兩棵樹預測值的加和。


 XGBoost 

XGBoost全稱為Extreme Gradient Boosting,由於上述GBDT在數據集較大較複雜的時候,可能需要上千次迭代運算,運算較為耗時且精度低,故機器學習大牛陳天奇一手搭建了這個項目嚐試從底層c++實現這個問題的改進。XGBoost其最大的特點在於能夠自動利用CPU的多線程進行並行,大幅度提高模型運算效率,同時在算法的實現上增加正則項,提升模型的泛化能力。僅在2015年,Kaggle競賽中獲勝的29個算法就有17個使用了XGBoost庫;在KDDCup 2015競賽中排名前十的隊伍全部使用了XGBoost庫。除了速度快、效果好、功能多等特點,XGBoost在分布式應用上也有優勢,可直接在YARN上使用,集成進現有Spark機器學習工具。


 風控實際場景中到底 

 發揮了怎樣的價值 

說了這麼多,集成學習模型框架到底在金融風控場景中有什麼作用呢?這裏以現金貸場景為例,給大家看一下直觀的例子:比如我們針對互聯網行為、APP、運營商等不同領域的數據采用最合適的機器學習或深度學習模型進行處理,就可以得到不同Feature Domain諸如信貸曆史、消費能力、社會信用等子模型。我們再將其通過XGboost、LightGBM等最先進的集成學習模型框架進行輸出,就可以在反欺詐、違約概率預測、風險定價等風控業務上都可以得到廣泛的應用和提升。


0?wx_fmt=jpeg


事實上,這不僅解決了機構不同維度/領域數據使用的難題,因為集成學習框架可以支持不同類型模型算法作為子模型,同時也幫助金融客戶實現了更高效準確的針對稀疏、高維、非線性數據的建模過程,大大簡化繁瑣的特征工程,使得我們的模型具有更強的容錯和抗擾動能力。


值得一提的是,集成學習模型框架也更易於實現領域知識遷移,單獨領域的子模型可以快速遷移應用到新業務領域,幫助我們金融機構實現新金融業務的快速成型和持續迭代優化。此外,不同數據領域的特征自動抽取框架,與集成模型框架緊密結合,大幅度提升模型性能,在應用層,複雜的集成模型輸出結果通過LIME模型解釋器也可以向風控專家清晰地解釋原因,使得預測結果不再黑盒和不可信。


0?wx_fmt=jpeg


大型成熟金融場景中的實踐也證明,集成學習模型除了在穩定性和泛化能力上相對傳統模型有極大增強,在最終的效果上也顯現出了超出想象的作用,相對成熟的邏輯回歸模型最大ks值累積提升已經可以達到約70%及以上。


0?wx_fmt=jpeg

原文發布時間為:2017-01-20


本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-05-26 08:52:26

  上一篇:go  Linux 上 12 個高效的文本過濾命令
  下一篇:go  如何重置 RHEL7/CentOS7 係統的密碼