楊怡濱



【摘 要】文章提出了一種基于自動機器學習(Automatic Machine Learning)框架TPOT的信用卡逾期識別算法。通過K-近鄰、決策樹、支持向量機、隨機森林、多層感知神經網絡、TPOT自動機器學習這6種算法構建了信用卡逾期識別模型,進而以準確率、精確率、召回率、混淆矩陣、F1值為基準進行不同模型的性能評價。經反復的實例論證和理論測算,該框架相較于傳統機器學習,平均準確率達到80%以上,能夠在節省參數調節時間的基礎之上,獲得更佳的效果。
【關鍵詞】信用卡逾期;AutoML;自動機器學習;TPOT;遺傳編程
【中圖分類號】TP181 【文獻標識碼】A 【文章編號】1674-0688(2020)03-0092-04
0 引言
隨著國民生活水平提高,超前消費的理念逐漸深入人心,信用卡作為超前消費的工具受到越來越多人的青睞,相關金融機構也乘此機會大力發展信用卡業務,使得信用卡發卡量陡增。與此同時,信用卡風險管理并未能及時跟上市場的腳步,尤其是個人信用評估方面,更是遠落后于市場發展水平。傳統的個人信用評估模型多數是基于統計計量的模型,能夠高效處理線性問題,但金融相關的計量通常是復雜的非線性決策問題,而且具有模糊特質,因此近年來機器學習技術開始受到研究人員的高度關注[1]。
國外研究學者在21世紀初就對機器學習進行信用卡風險管理做了詳細研究。例如Tony Bellotti等人在2009年發表的文獻中使用了支持向量機進行信用卡風險評估,并發現違約風險的重要特征[2];Amir E.Khandani等人在2010年提出了使用非線性非參數模型構建消費者信用風險預測模型[3]。機器學習模型在國外已成為信用卡風險管理的重要手段之一。國內對機器學習進行信用卡風險評估也做了不少研究。李建平等人早在2004年就對支持向量機和銀行當時使用的個人信用評估方法做了對比[4]。
目前,眾多專家學者在信用卡風險管理領域研究最多的機器學習模型是支持向量機,對于其他模型則較少涉及,同時模型效果也非常依賴專家學者本身的業務水平和對模型的理解。綜合來看,信用卡風險管理模型的效果主要受限于兩點:一是模型選擇,二是模型理解和調優。針對上述兩點,本文詳細闡述了TPOT自動機器學習框架的結構與實現原理,并在此基礎之上使用對比法,構建基于自動機器學習的信用卡風險管理模型,論證模型的有效性。
1 TPOT自動機器學習框架
自動機器學習是在傳統機器學習的基礎之上衍生出的一種機器學習方法。它并非新的機器學習算法,而是一種能夠對算法進行自動選擇、參數進行自動優化的方法。自動機器學習借鑒了諸多機器學習的知識,例如遺傳編程(Genetic Programming)、貝葉斯優化(Bayesian optimization)、元學習(Meta learning)、遷移學習(Transfer learning)等[5]。TPOT(Tree-based Pipeline Optimization Tool)是賓夕法尼亞大學遺傳算法實驗室開發的一個自動機器學習框架[6]。它能夠智能地探索數千種可能來自動化機器學習中最煩瑣的部分,從而找到最適合當前數據情況的算法及其參數[7]。其整體功能如圖1所示。
圖1是一個典型有監督機器學習的流程[8]。在模型構建之前,進行數據清理、特征選擇、特征構造,并構建新特征,并通過特征預處理將數據變換至更適合的建模要求。然后選擇合適的算法與模型,并進行模型參數的調節與優化。最后通過混淆矩陣、精確率等指標驗證與評估模型的性能。圖1中深色區域表示TPOT框架自動執行的步驟。
1.1 機器學習算法
TPOT框架在實際模型訓練過程中使用的機器學習算法主要包括特征預處理、分解、特征選擇、模型選擇4個部分[7],所有算法絕大部分都基于Python語言的scikit-learn[9]機器學習框架。TPOT框架各部分主要內容如下。
(1)預處理主要用于變換數據,包括數據標準化(Standard Scaler)、數據縮放(Robust Scaler)、多項式特征構造(Polynomial Features)。
(2)分解使用的是一種名為RandomizedPCA的隨機SVD的主成分分析變種。
(3)特征選擇部分包含4種方法,分別是采用遞歸特征消除策略的RFE;選擇最佳前n個特征的Select KBset;選擇最優前n%特征的Select Percentile和移除不符合最小方差閾值特征的Select Percentile。
(4)模型選擇部分包含的模型有分類與回歸兩個方向,幾乎囊括了scikit-lean中的所有分類回歸算法,例如DecisionTreeClassfier(決策樹分類器)、DecisionTreeRegressor(決策樹回歸器)、RandomForestClassifier(隨機森林分類器)、RandomForestRegressor(隨機森林回歸器)、LogisticRegression(邏輯回歸)、LinearRegression(線性回歸)、KNeighborsClassifier(K-近鄰分類器)、GaussianNB(高斯樸素貝葉斯)等。
1.2 遺傳編程
使用正確的預處理方法、模型能夠在極大程度上解決目標問題,但是由于模型過多,如何選擇合適的模型,調節合適的參數就會耗費大量的時間[10]。針對模型選擇和參數調優的問題,TPOT使用了遺傳編程。
Koza,De Jong等人發展了遺傳編程的概念[11,12]。遺傳編程是在遺傳算法的基礎之上發展出來的一種利用自然進化的原理進行程序進化的編程方法,它與遺傳算法的最大區別在于其個體是可以執行的程序而非字符串[13]。
在標準的遺傳編程方法中,程序的表現形式是語法樹[13]。遺傳編程能夠通過合理的途徑實現“樹”的生長。在遺傳編程中,“樹”代表一些互有關聯的指令與函數,可以操作給定初始結構(鍵合圖)的形態與參數,從而讓簡單的鍵合圖生長發育為滿足設計要求的方案。因為在遺傳編程中,個體的長度是開放式的變長表示,所以特別適合于鍵合圖的開放式的結構空間搜索[14]。
遺傳編程的整體步驟如下:隨機生成一個初始種群,構成最優化問題搜索空間,該種群每個個體均為樹狀結構,且適用于給定問題環境;然后計算每個個體的適應度,通過遺傳算子處理適應度較高的個體,通過復制、突變、交叉等遺傳操作對種群不斷進行迭代和優化,產生下一代群體。經過不停迭代,直至下一代滿足目標函數且穩定后為止[15]。
種群中每個個體的大小、結構和內容都是動態變化的,這是由遺傳操作來實現的[15]。其中,復制操作的目的主要是保證優秀個體的持續性,該操作整體可分為兩步:{1}選擇第N代的某個體;{2}將它原封不動的保留給N+1代。
突變操作的主要作用是保證種群結構足夠豐富,擴充種群結構的多樣性。其操作流程是將種群中某些樣本個體的樹狀結構的某個分支替換為一個隨機出現的結構。
交叉操作類似生物界的有性繁殖,能夠為種群產生基因更優秀、生命力更強的個體(如圖2所示)。{1}隨機選擇兩個個體A、B作為父輩個體;{2}分別確定父輩個體的交叉點;{3}將父輩個體拆分為交叉部分和剩余部分;{4}將A的剩余部分和交叉部分分別與B的交叉部分和剩余部分構成兩個新的個體C與D。
1.3 TPOT實現
在TPOT中,具體遺傳編程實現以Pipeline為基礎,使用了DEAP[17]這一Python庫。對應遺傳編程步驟,TPOT中實現的遺傳編程步驟如下:首先隨機生成不同深度的樹類構建初始種群(初始Pipeline),如果樹的深度為1,則從已有的分類或者回歸模型中隨機選擇一個放入樹的頂端;如果樹的深度大于1,就從預處理、特征選擇中選擇對應的算子加入Pipeline中,并進行參數初始化。然后評估初始Pipeline的適應性,對初始Pipeline進行交叉、突變等操作。其中,Pipeline的種群突變操作主要通過增加Pipeline的內容或者更換其中的參數實現。交叉則是選取兩個Pipeline,對里面的內容進行互換,但是兩個Pipeline的類型要相同。整體流程見表1。
表1中的步驟、各項參數具體見表2。
2 實驗與結果分析
研究所使用的數據為公開數據集default of credit card clients[18],該數據集涉及的特征主要有信用卡額度、性別、學歷、婚姻、年齡,以及最近半年的還款記錄、最近半年的賬單金額、最近半年的還款金額等,共計23個特征,30 000個樣本。研究時,將數據劃分為2個部分,其中訓練集樣本數目為24 000個,測試集樣本數目為6 000個。
2.1 基于TPOT的信用卡逾期識別
通過混淆矩陣可以用來查看基于TPOT構建的信用卡逾期識別模型的性能優劣,尤其是針對識別錯誤的樣本,效果更是一目了然(見表3)。
根據混淆矩陣可以得出當前模型的精確率、召回率、F1值及對應的加權均值(見表4)。
由表3、表4可知,基于TPOT構建的信用卡逾期識別模型性能非常突出,加權后的精確率、召回率、F1值均達到0.80以上,表明模型具有一定的有效性及適用性。但同時也需要注意,由于樣本基數相對較小,模型效果與理想效果還有一段距離。
2.2 對比分析
為驗證TPOT構建的模型的效果,使用K最近鄰、決策樹、支持向量機、隨機森林、多層感知神經網絡5種算法與之進行對比,得到算法的診斷結果見表5。
綜合考慮上述模型的準確率、加權平均精確率和加權平均召回率,TPOT構建的模型在信用卡逾期中均表現出最優的診斷效果。故可以認為,TOPT對于信用卡逾期識別有良好的效果。
3 結語
本文使用TPOT自動機器學習框架,通過比較K-近鄰,決策樹、支持向量機、隨機森林、多層感知神經網絡和TPOT構建的模型,最終證明相比于其他機器學習算法對于信用卡逾期識別具有更好的診斷效果。該框架的不足之處在于所用的建模算法均為有監督學習,暫時不支持無監督學習,且受scikit-learn的限制,本身預處理方法偏少。
參 考 文 獻
[1]李睿.信用評估與信用卡欺詐偵測的智能決策系統研究[D].廣州:華南理工大學,2011.
[2]Bellotti T,Crook J.Support vector machines for credit scoring and discovery of significant features[J].Expert systems with applications,2009,36(2):3302-3308.
[3]Khandani A E,Kim A J,Lo A W.Consumer cre-
dit-risk models via machine-learning algorithms[J].Journal of Banking & Finance,2010,34(11):2767-2787.
[4]李建平,徐偉宣,劉京禮,等.消費者信用評估中支持向量機方法研究[J].系統工程,2004(10):35-39.
[5]涂同珩,金煒東.基于自動機器學習流程優化的雷達輻射源信號識別[J].計算機應用研究,2019(1):191-193.
[6]Olson R S,Bartley N,Urbanowicz R J,et al.Evaluation of a tree-based pipeline optimization tool for automating data science[C].Proc of Genetic and Evolutionary Computation Conference,2016:485-492.
[7]Olson R S,Moore J H.TPOT:A tree-based pip-
eline optimization tool for automating machine lear-
ning[J].Journal of Machine Learning Research,2016,64:66-74.
[8]周志華.機器學習[M].北京:清華大學出版社,2016.
[9]Swami A,Jain R.Scikit-learn:Machine Learning in Python[J].Journal of Machine Learning Research,2012,12(10):2825-2830.
[10]黃宜華.大數據機器學習系統研究進展[J].大數據,2015(1):4-8.
[11]Koza J R,Koza J R.Genetic programming:on the programming of computers by means of natural selection[M].MIT press,1992.
[12]De Jong K A.On Using Genetic Algorithms to Se-
arch Program Spaces[C].ICGA,1987:210-216.
[13]劉亞杰,古天龍,徐周波,等.基于改進遺傳編程的并行裝配序列規劃[J].計算機集成制造系統,2013,
19(6):1238-1248.
[14]Niekum S,Barto A G,Spector L.Genetic programming for reward function search[J].IEEE Tr-
ansactions on Autonomous Mental Development,2010,2(2):83-90.
[15]蔣毅恒,白焰,朱耀春,等.基于遺傳編程的智能建模方法及應用[J].微計算機信息,2008,24(12):
150-152.
[16]涂同珩.基于自動機器學習的雷達信號識別研究[D].成都:西南交通大學,2018.
[17]Fortin F A,Rainville F M D,Gardner M A,et al.DEAP:Evolutionary algorithms made easy[J].Journal of Machine Learning Research,2012,13(7):2171-2175.
[18]Yeh I C,Lien C.The comparisons of data mining techniques for the predictive accuracy of probability of default of credit card clients[J].Expert Systems
with Applications,2009,36(2):2473-2480.