鐘世欽
(1.合肥工業(yè)大學(xué) 管理學(xué)院,安徽 合肥 230009;2.合肥工業(yè)大學(xué) 過程優(yōu)化與智能決策教育部重點實驗室,安徽 合肥 230009)
網(wǎng)絡(luò)借貸是互聯(lián)網(wǎng)金融的重要模式之一,其雛形始于20世紀末的美國,目前國內(nèi)發(fā)展已有十余年[1],相比于一般的線下借貸,網(wǎng)絡(luò)借貸更加方便快捷,資金的廣闊流動大大推動了金融的發(fā)展,但是隨著借貸數(shù)額和借貸者的增加,其弊端也愈發(fā)明顯。網(wǎng)貸平臺所面對的客戶不可見,平臺僅能通過從互聯(lián)網(wǎng)收集到的用戶信息來判斷是否給予用戶貸款,判斷準確度不足將使得平臺受到的貸款用戶違約帶來的不良影響,這不僅會動搖投資者的信心,也對平臺的信譽不利,最終可能導(dǎo)致平臺跑路、造成資金損失等問題[2]。2020年9月,中國互聯(lián)網(wǎng)金融協(xié)會發(fā)布了《中國互聯(lián)網(wǎng)金融年報2020》,其中數(shù)據(jù)表明行業(yè)趨勢為從追求規(guī)模擴張向追求高質(zhì)量發(fā)展轉(zhuǎn)型,因此對用戶的違約風(fēng)險預(yù)測也是該行業(yè)的重點,為了行業(yè)的良性發(fā)展,亟需準確而高效的用戶違約風(fēng)險預(yù)測模型。
傳統(tǒng)的統(tǒng)計分析方法是貸款用戶信用違約風(fēng)險預(yù)測的常見方法之一,如早期的由Altman建立的Z-score模型;或是例如Mohammed Jamal Uddin[3]使用的結(jié)合貸款人歷史信息以案例推理的方法來對貸款申請進行選擇的形式,這樣的統(tǒng)計分析方法往往需要耗費人大量的精力,也不能分析處理過多的數(shù)據(jù)。不過隨著網(wǎng)貸業(yè)務(wù)的發(fā)展和機器學(xué)習(xí)的成熟,機器作為數(shù)據(jù)分析的工具能夠幫助人們更加快捷和有效地對用戶進行分類預(yù)測,因此目前對金融貸款用戶違約風(fēng)險預(yù)測的方法以機器學(xué)習(xí)為主。張鑫、曹帥[4]運用BP神經(jīng)網(wǎng)絡(luò)模型來預(yù)測P2P網(wǎng)貸平臺的貸款人違約率;吳沖、夏晗[5]使用支持向量機對用戶信用進行分類評價;張玥等人[6]在支持向量機上運用不同核函數(shù)組合進行決策的方法在個人信用分類上取得了良好的結(jié)果;熊正德等人[7]使用logistics模型來進行互聯(lián)網(wǎng)金融客戶的違約風(fēng)險研究,通過關(guān)注客戶的還款行為差異,將客戶分為“違約”和“不違約”。除了上述機器學(xué)習(xí)模型,還有集成學(xué)習(xí)以及決策樹模型系列等[8-9]。
隨著深度學(xué)習(xí)模型的發(fā)展,有學(xué)者開始研究將深度學(xué)習(xí)模型運用在網(wǎng)貸違約風(fēng)險預(yù)測上,Duan[10]使用深度神經(jīng)網(wǎng)絡(luò),將采用了過采樣技術(shù)的數(shù)據(jù)集用于實證分析,結(jié)果表明預(yù)測準確率為93%,驗證了該方法的可行性。熊志斌[11]也運用深度置信網(wǎng)絡(luò)對貸款用戶的信用進行評估,借鑒于Hosaka[12]的將數(shù)值型圖像化后使用CNN(convolutional neural networks,卷積神經(jīng)網(wǎng)絡(luò))進行分析的思想以及該方法在分析企業(yè)各項指標對企業(yè)破產(chǎn)風(fēng)險進行預(yù)測的有效性,劉偉江[13]也將網(wǎng)貸用戶的數(shù)據(jù)做成畫像來使用常用于圖像處理的CNN進行用戶違約風(fēng)險預(yù)測。
由上述文獻可知,目前大部分對網(wǎng)貸用戶違約風(fēng)險分析的機器學(xué)習(xí)模型的結(jié)構(gòu)是淺層結(jié)構(gòu),淺層結(jié)構(gòu)雖然效率高,但是對數(shù)據(jù)的挖掘能力有限。隨著大數(shù)據(jù)時代的發(fā)展,互聯(lián)網(wǎng)信息量呈現(xiàn)出爆炸性增長,這些機器學(xué)習(xí)模型在函數(shù)表達和信息特征的提取上就顯得越來越疲乏,此外,為了處理高維數(shù)據(jù)通常需要進行降維操作來降低數(shù)據(jù)冗雜程度,但也可能因此丟失重要的信息。而深度學(xué)習(xí)是擁有更加深層次的神經(jīng)網(wǎng)絡(luò)的機器學(xué)習(xí)模型,相比于一般機器學(xué)習(xí)模型,深度學(xué)習(xí)的模型內(nèi)部結(jié)構(gòu)更加復(fù)雜、函數(shù)表達能力更強、在數(shù)據(jù)的特征提取上有著更加明顯的優(yōu)勢[14-15],這也能夠應(yīng)對網(wǎng)貸用戶數(shù)據(jù)特征的高維多樣性問題,在盡量不丟失信息的情況下對高維數(shù)據(jù)進行更好的特征提取供機器學(xué)習(xí)并分類預(yù)測。
考慮到數(shù)值圖像化的操作可行性及其實驗結(jié)果的良好性,該文嘗試使用深度學(xué)習(xí)中經(jīng)典的圖像處理模型——CNN與一般的機器學(xué)習(xí)模型進行結(jié)合來進行網(wǎng)貸用戶違約風(fēng)險的預(yù)測。為了構(gòu)建專用于處理網(wǎng)貸數(shù)據(jù)的CNN,先通過實驗對CNN的超參數(shù)進行調(diào)整,再將CNN與一般模型結(jié)合進行訓(xùn)練,最后進行對比實驗測試CNN對一般模型預(yù)測的改良效果以及組合模型整體的預(yù)測性能。
該文采用CNN對網(wǎng)貸用戶信息進行特征提取,對應(yīng)不同問題的數(shù)據(jù)需要具有合適超參數(shù)的CNN。
CNN中有多層神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)由多個神經(jīng)元構(gòu)成,每個神經(jīng)元上都有參數(shù)w(權(quán)重)和b(偏置)來與經(jīng)過它的數(shù)據(jù)進行matmul(矩陣相乘)。在CNN中,將訓(xùn)練數(shù)據(jù)輸入模型與模型中的卷積核進行卷積操作得到特征圖,并經(jīng)過一系列的卷積、池化、dropout操作得到更加深層次的特征圖,接著經(jīng)過全連接層并使用分類器進行分類,將分類結(jié)果與真實結(jié)果進行對比得到損失函數(shù),使用優(yōu)化器以將損失函數(shù)值降到最低為目的反向傳遞函數(shù)將整個模型的w、b參數(shù)變化,最終得到能夠在無標簽數(shù)據(jù)中進行精準分類的模型[16-17]。該文涉及的模型超參數(shù)包含層數(shù)、卷積核大小、學(xué)習(xí)率和訓(xùn)練批次,具體如下。
卷積和池化是構(gòu)建CNN中卷積結(jié)構(gòu)的重要概念,也是CNN在深度神經(jīng)網(wǎng)絡(luò)中特有的結(jié)構(gòu),也是網(wǎng)絡(luò)提取網(wǎng)貸用戶數(shù)據(jù)特征的手段。在定義卷積層時需要考慮卷積核的形狀以及卷積過程中移動的步長,圖1是卷積核與數(shù)據(jù)進行卷積的過程。
圖1 卷積過程
首先以最直觀的二維矩陣去說明。假設(shè)有一個m*n的輸入,卷積核的規(guī)格為i*j(代表了機器的感受野,常用的卷積核大小為3*3和5*5),步長為n,那么:
特征圖的高:H=(n-j+1)/n。
特征圖的寬:W=(m-i+1)/m。
卷積核從左上角開始,按照步長一步一步地從左到右、從上到下與輸入圖像進行卷積操作,每一步卷積生成的數(shù)據(jù)按照順序構(gòu)成新的矩陣,也就是特征圖。在圖1中5*5的特征圖在3*3的卷積核以步長為1的卷積操作后得到了3*3的特征,特征圖上的數(shù)據(jù)則是使用卷積公式計算而來:
(1)
其中,m表示輸入的矩陣個數(shù),Xk和Wk表示第k個輸入矩陣和卷積核矩陣,矩陣中對應(yīng)元素相乘后再加上偏置b就得到了特征圖上相應(yīng)位置的值。
每個卷積層的每個卷積核通過和輸入的數(shù)據(jù)進行一次卷積得到了特征圖,經(jīng)過多層的卷積層將得到深層特征圖,特征圖也將隨著層數(shù)的增加而縮小,數(shù)量也不斷增加,因此需要考慮合適的網(wǎng)絡(luò)深度能夠提取到數(shù)據(jù)最佳的特征用于分類。
池化也是用于處理特征圖,一般在每個卷積層后面添加一層池化層對特征圖進行降維,池化方式主要有兩種,分別是平均池化和最大池化。圖2為最大池化的過程。
圖2 最大池化過程
根據(jù)最大規(guī)則保留了每個2*2矩陣的最大的元素(平均池化則是把規(guī)則改為了取平均值),也就是使用1*1的矩陣去代表2*2的矩陣,得到的池化結(jié)果矩陣中的元素在降維的情況下仍然能代表原特征圖的特征,這在圖像中提取主要特征的同時對減少參數(shù)也起到了重要作用。
訓(xùn)練批次數(shù)量和學(xué)習(xí)率屬于模型超參數(shù)中影響模型訓(xùn)練效果重要的參數(shù)。訓(xùn)練批次數(shù)量表示每一次訓(xùn)練中進入模型中的數(shù)據(jù)數(shù)量,深度學(xué)習(xí)模型訓(xùn)練過程采取的是批次訓(xùn)練模式,批次數(shù)量過小影響訓(xùn)練效率,過大則影響訓(xùn)練效果;學(xué)習(xí)率則描述CNN在進行損失函數(shù)優(yōu)化反向傳遞時參數(shù)進行變化的速度,在高學(xué)習(xí)率的情況下,參數(shù)的變化速度會非???,但是這樣的過程非常容易導(dǎo)致模型過擬合,而過低的學(xué)習(xí)率則模型訓(xùn)練時間過慢。
隨機梯度下降算法的原理為:
(2)
其中,w為模型中每個神經(jīng)元中的參數(shù),a為學(xué)習(xí)率,n為每批次訓(xùn)練的數(shù)量。在參數(shù)w更新的過程中,學(xué)習(xí)率和批次訓(xùn)練數(shù)量共同影響w沿梯度下降的進程,學(xué)習(xí)率直接影響模型的收斂,批次訓(xùn)練數(shù)量影響模型的泛化能力,因此在不同的情況下考慮以上兩個參數(shù)的設(shè)置對模型的訓(xùn)練效果很有必要。
該文采用基于CNN和一般模型結(jié)合的預(yù)測方法,對網(wǎng)貸違約風(fēng)險進行預(yù)測,針對高維的網(wǎng)貸用戶數(shù)據(jù),利用CNN在圖像處理中無需關(guān)心數(shù)據(jù)特征屬性且能處理大量信息數(shù)據(jù)的優(yōu)勢,將數(shù)值型數(shù)據(jù)圖形化通過CNN得到數(shù)據(jù)特征,再將特征作為該研究領(lǐng)域中常用的一般模型的輸入來進行違約風(fēng)險預(yù)測。
在一般機器學(xué)習(xí)模型中,挑選了三個常用模型:支持向量機(SVM)、決策樹(Tree)和Logistic(下稱Log)模型。組合模型的連接點為CNN提取圖形化數(shù)值的特征到一般機器學(xué)習(xí)模型的輸入,因此組合模型的內(nèi)部具體流程(見圖3)如下:
Step1:將網(wǎng)貸用戶數(shù)據(jù)集導(dǎo)入CNN訓(xùn)練,驗證數(shù)據(jù)集指標達到一定標準后停止訓(xùn)練,保留網(wǎng)絡(luò)參數(shù);
Step2:將網(wǎng)貸用戶數(shù)據(jù)集導(dǎo)入已訓(xùn)練好的CNN,截取輸出層前一層的數(shù)據(jù)作為特征集;
Step3:將特征集導(dǎo)入SVM中進行訓(xùn)練,驗證集達標后保留模型的參數(shù);
Step4:將特征集導(dǎo)入Log中進行訓(xùn)練,驗證集達標后保留模型的參數(shù);
Step5:將特征集導(dǎo)入Tree中進行訓(xùn)練,驗證集達標后保留模型的參數(shù);
Step6:使用訓(xùn)練好的組合模型進行網(wǎng)貸違約風(fēng)險預(yù)測。
圖3 融合CNN和3種分類模型的網(wǎng)貸 違約風(fēng)險預(yù)測流程
代碼使用python編寫,基本環(huán)境:python3.6.5、tensorflow1.4,PC配置:64位Win10操作系統(tǒng)、Inter(R)Core(TM)i5-8250UCPU@1.60 GHz處理器、8.00 GB運行內(nèi)存。
本次實驗數(shù)據(jù)來源于Lending Club官網(wǎng)的公開數(shù)據(jù)集,選取了2019年共四個季度的所有數(shù)據(jù),一個季度約有十萬條數(shù)據(jù),每條數(shù)據(jù)150個特征,先將貸款狀態(tài)中顯示為issued的數(shù)據(jù)進行刪除,剩余貸款狀態(tài)有current、charged off、fully paid、default、in grace period、late(16~30 days)和late(31~120 days),將current和fully paid視為正常用戶,其余狀態(tài)視為違約用戶[18],以此對數(shù)據(jù)中貸款狀態(tài)進行初步判斷后,發(fā)現(xiàn)違約用戶的比例大約為10%??紤]到訓(xùn)練數(shù)據(jù)中違約數(shù)據(jù)和正常數(shù)據(jù)的比例會影響分類器的分類性能,因此在數(shù)據(jù)層面上對數(shù)據(jù)進行欠抽樣和過抽樣,在正常用戶中隨機篩選25%數(shù)據(jù),對違約用戶數(shù)據(jù)進行全額選擇,以此構(gòu)成初步的數(shù)據(jù)集[19](其中共156 143條數(shù)據(jù),其中正常用戶116 268條,違約用戶39 875條,比例約為3∶1)。
接下對數(shù)據(jù)集進行篩選、歸一化等操作。首先在特征上,將用戶信息缺失度高于60%的、無關(guān)用戶違約的特征(如借款日期、客戶ID)以及數(shù)據(jù)信息重復(fù)(如purpose和title)的進行剔除,隨后對缺失少量值的特征進行分析填充,其他難以判斷的數(shù)據(jù)缺失直接刪除整行數(shù)據(jù)或者使用眾數(shù)進行填充。最終處理后的數(shù)據(jù)集有156 143條數(shù)據(jù),81條特征。
將正常用戶表示為“10”,違約用戶表示為“01”,這在python中表現(xiàn)為形狀為1*2的張量,同時模型的預(yù)測輸出為形狀1*2的張量,根據(jù)其中最大元素所在列數(shù)來判斷預(yù)測是否準確。例如,正常用戶的最大元素所在列是1,違約用戶的最大元素所在列是2,對于模型輸出的[0.83,0.34]的分類,其最大元素所在列是第1列,屬于正常用戶。
為了設(shè)計適合預(yù)測網(wǎng)貸用戶數(shù)據(jù)的CNN,接下來改變模型結(jié)構(gòu)、學(xué)習(xí)率和批次數(shù)量來對比模型訓(xùn)練效果,得到最優(yōu)模型。初始模型選擇Lenet-5模型,擁有三層結(jié)構(gòu),每層包括卷積、池化和dropout,初始學(xué)習(xí)率為0.001,默認訓(xùn)練批次數(shù)量為100,數(shù)據(jù)集中訓(xùn)練集130 000條、驗證集5 000條、測試集20 000條。
CNN多用于圖像識別,使用的網(wǎng)貸用戶特征數(shù)據(jù)經(jīng)過處理后為81條,全部作為像素點構(gòu)成的圖片是9*9像素的圖像,如此小的圖片經(jīng)過多個卷積層和池化層可能會嚴重地丟失信息,因此先確定池化層對于模型來說是否是需要的,訓(xùn)練樣本為13萬條,每批100條數(shù)據(jù),總共進行1 300次步數(shù)訓(xùn)練,驗證數(shù)據(jù)為五千條,模型之間除了池化層差異,其余參數(shù)均一致。有無池化層的模型準確率對比如圖4所示。
圖4 有無池化層的模型準確率對比
首先可以看到,有池化層的模型在訓(xùn)練起步的前200步訓(xùn)練幾乎沒有變化,無池化層的模型則在第100步開始變化,池化層使得模型在前期的訓(xùn)練收效甚微,然后隨著訓(xùn)練步數(shù)的增加,最終無池化層的波動上升到了約94%精度,而有池化層的模型精度一直低于無池化層的。因此可以得知在這種大小的圖片下,添加池化層將使得數(shù)據(jù)的信息丟失,降低分類效果,在模型結(jié)構(gòu)上應(yīng)當首先將池化層去掉。
接下來將不斷改變模型層數(shù)來對比模型的訓(xùn)練效果,結(jié)果如圖5所示。
圖5 不同層數(shù)的模型準確率對比
首先收斂速度是一層結(jié)構(gòu)最快,但是直到迭代次數(shù)達到上限時一層、二層和三層的最終準確率的差別從圖像難以看出差距,因此,還需要對這四種模型進行訓(xùn)練和測試準確率。下面以驗證集的分類效果來對比不同層數(shù)模型之間的訓(xùn)練效果,每批次100條數(shù)據(jù),每50步輸出一個驗證集分類準確率,以準確率前五位的平均數(shù)來代表本次訓(xùn)練效果。實驗結(jié)果中,一層到四層的平均準確率分別為93.99%、93.96%、94.08%和92.62%,四層結(jié)構(gòu)在層數(shù)增加的情況下反而降低了準確率,因此首先排除四層結(jié)構(gòu),再比較其余三種層結(jié)構(gòu),可以發(fā)現(xiàn)兩項指標均是三層結(jié)構(gòu)的模型更加具有優(yōu)勢,盡管優(yōu)勢微小,但是考慮到層數(shù)的增加能提取到數(shù)據(jù)更深層次的特征,在四層模型結(jié)構(gòu)不合適的、而一二層略微弱于三層結(jié)構(gòu)的情況下,該文選擇了三層結(jié)構(gòu)的CNN。
確定模型的層數(shù)后,主要設(shè)置卷積層中卷積核大小,因其規(guī)格類型多樣,選擇當前CNN最常用的3*3和5*5大小的卷積核,并且三層卷積層都使用同樣大小的卷積核,對比訓(xùn)練效果如圖6所示。
圖6 不同卷積核的模型準確率對比
訓(xùn)練效果區(qū)別非常明顯,在300步后使用5*5卷積核的CNN的訓(xùn)練效果就要好于使用3*3卷積核的CNN,所以模型結(jié)構(gòu)上確定了三層5*5卷積核的卷積層,無池化層。
CNN中的批次數(shù)量在訓(xùn)練過程中一般不做改變,模型參數(shù)反向傳遞優(yōu)化使用的優(yōu)化器為adam,是屬于自適應(yīng)學(xué)習(xí)率的優(yōu)化方式,與之相關(guān)的參數(shù)為初始的學(xué)習(xí)率,對兩個參數(shù)分別做控制變量實驗,分析參數(shù)對模型收斂速度和預(yù)測準確率的影響。
首先進行批次數(shù)量的控制變量實驗,樣本總量仍然不變,為13萬條數(shù)據(jù),考慮到公約數(shù),因此選擇了五個層次的批次數(shù)量,分別是5、10、20、50和100。對每個批次數(shù)量的進行模型訓(xùn)練,觀察模型訓(xùn)練的精準度上升趨勢是否正常,對于訓(xùn)練正常的模型使用迭代中的最高準確率來代表本次訓(xùn)練效果。實驗結(jié)果中,5、10、25、50和100批次數(shù)量的模型平均準確率為95.34%、95.316%、95.07%、94.47%和94.08%,表明模型平均準確率隨著批次數(shù)量的減少而增大,同時實驗中模型訓(xùn)練時間也是隨著批次數(shù)量的減少而增加,這在樣本量更加龐大的樣本中會更加明顯,因此不能單純地減少批次數(shù)量來增加模型準確率,還要考慮實際應(yīng)用的模型訓(xùn)練時間。
接下來進行不同學(xué)習(xí)率之間的模型性能的比較,保持其余參數(shù)不變,訓(xùn)練批次數(shù)量選擇20,雖然CNN中的初始學(xué)習(xí)率通常根據(jù)經(jīng)驗選擇0.1、0.01、0.001這樣的值,但是為了更好地描述初始學(xué)習(xí)率與模型訓(xùn)練效果的關(guān)系,將以初始學(xué)習(xí)率0.001為中心,從大到小選擇了0.01、0.005、0.003、0.001 5、0.001、0.000 5、0.000 2、0.000 1分別做對比實驗。實驗結(jié)果中學(xué)習(xí)率為0.01的模型訓(xùn)練不擬合,其余按學(xué)習(xí)率從大到小的模型平均準確率為94.16%、94.79%、95.21%、94.96%、94.66%、92.28%、90.19%,訓(xùn)練中不同學(xué)習(xí)率對模型訓(xùn)練時間沒有影響,模型平均準確率與學(xué)習(xí)率不屬于正向或反向關(guān)系,學(xué)習(xí)率和準確率的關(guān)系曲線如圖7所示。
圖7 不同學(xué)習(xí)率模型的準確率對比
觀察折線圖可以發(fā)現(xiàn)學(xué)習(xí)率和準確率的圖像呈現(xiàn)上凸特點,也就是說學(xué)習(xí)率存在一個最優(yōu)解,結(jié)合數(shù)據(jù)和圖可以得知平均準確率上學(xué)習(xí)率為0.001的95.21%是表現(xiàn)最佳的,因此選擇最佳的學(xué)習(xí)率為0.001。
最終確定CNN的超參數(shù),模型為三層擁有5*5卷積核的卷積層并且無池化層,訓(xùn)練批次20,學(xué)習(xí)率0.001。
根據(jù)網(wǎng)貸相關(guān)平臺對網(wǎng)貸風(fēng)險預(yù)測要求方面的特點,該文選擇準確率、靈敏度和特異度三個指標來衡量網(wǎng)貸違約風(fēng)險模型的分類預(yù)測性能。
準確率:也就是模型分類預(yù)測的總體準確率,表示所有用戶中被分類預(yù)測正確的用戶數(shù)量占全體用戶數(shù)量的比例。該指標能夠直觀地看出模型總體的分類預(yù)測性能。
靈敏度:表示在原本均為正常用戶的樣本中,被分類預(yù)測正確的用戶數(shù)量占全體正常用戶數(shù)量的比例。該指標能夠反映模型在處理正常用戶數(shù)據(jù)的準確率,靈敏度越高,表示模型對正常用戶的預(yù)測準確率越高,網(wǎng)貸平臺獲得的收益也越高。
特異度:表示在原本均為違約用戶的樣本中,被分類預(yù)測正確的用戶數(shù)量占全體違約用戶數(shù)量的比例。該指標能夠反映模型在處理違約用戶數(shù)據(jù)的準確率,特異度越高,表示模型對違約用戶的預(yù)測準確率越高,網(wǎng)貸平臺因用戶違約導(dǎo)致的損失越低。
(1)不同模型性能對比。
接下來將CNN和一般的機器學(xué)習(xí)模型結(jié)合,測試CNN對一般機器學(xué)習(xí)模型的改良效果。先使用訓(xùn)練集進行模型訓(xùn)練,然后再將訓(xùn)練集和測試集導(dǎo)入模型得到全連接層的特征,最后使用訓(xùn)練集特征訓(xùn)練一般的機器學(xué)習(xí)模型并使用測試集特征進行測試。以準確率為指標,使用K折交叉驗證法來描述模型測試效果,導(dǎo)入130 000條數(shù)據(jù),對比對象為一般的機器學(xué)習(xí)模型和CNN與一般機器學(xué)習(xí)模型的結(jié)合,準確率對比如圖8所示。
圖8 CNN與組合模型對比實驗結(jié)果
K折交叉驗證法將數(shù)據(jù)集隨機分為訓(xùn)練集和測試集,然后從小到大按照比例分多次選擇訓(xùn)練集進行訓(xùn)練并測試模型效果,根據(jù)圖8結(jié)果,首先是對比三個一般的機器學(xué)習(xí)模型和與CNN結(jié)合的模型的效果,可以發(fā)現(xiàn)與CNN結(jié)合的一般機器學(xué)習(xí)模型要比組合模型的預(yù)測性更好,雖然在不同的一般機器學(xué)習(xí)模型中CNN對其測試效果的影響幅度不同,但是基本都有增加;其次觀察一般機器學(xué)習(xí)模型和組合模型的曲線形狀,一般機器學(xué)習(xí)模型的曲線是有向上增加的趨勢,而組合模型的曲線幾乎沒有上升和下降的趨勢,圖8中的訓(xùn)練集是隨著次數(shù)增加而越大,也就是說一般的機器學(xué)習(xí)模型為了達到優(yōu)秀的訓(xùn)練效果需要更加龐大的訓(xùn)練數(shù)據(jù),而使用CNN提取的數(shù)據(jù)特征做訓(xùn)練的一般機器學(xué)習(xí)模型只需要少量數(shù)據(jù)就能夠使模型訓(xùn)練。上述結(jié)果表明:CNN與一般的機器學(xué)習(xí)模型結(jié)合能提升其預(yù)測準確率并減少所需的訓(xùn)練數(shù)據(jù)。
(2)網(wǎng)貸風(fēng)險預(yù)測。
最后將Lending club網(wǎng)上提供的2020年第一季度貸款用戶數(shù)據(jù)處理為測試數(shù)據(jù)進行模型性能對比,首先是三個一般機器學(xué)習(xí)模型:Log、SVM和Tree,其次是CNN與上述三個一般模型分別結(jié)合的模型,最后是使用sigmoid分類器的CNN和經(jīng)典的Lenet-5模型(參數(shù)根據(jù)文獻[13]設(shè)置)。
一般的機器學(xué)習(xí)模型從python中sklearn庫調(diào)用,其余模型均用python編寫代碼。使用準確率作為一個評價模型效果的指標,即分類正確的樣本數(shù)量占總樣本數(shù)量的比例,然后考慮到網(wǎng)貸平臺對待兩種類別的用戶的預(yù)測分類成本各自不同,拒絕了正常用戶的貸款會減少平臺收益,而接受了違約用戶的貸款申請則會給平臺帶來負面影響,顯然二者的預(yù)測失誤成本是不同的,因此再選取能夠區(qū)分正負樣本分類效果的靈敏度和特異度作為模型對比指標,每個模型分別做十次實驗,結(jié)果取平均值,對比數(shù)據(jù)如表1所示。
表1 不同模型實驗結(jié)果對比 %
首先,從準確率指標出發(fā),一般的機器學(xué)習(xí)模型準確率為90.38%、95.4%和94.1%,經(jīng)典的Lenet-5模型準確率為95.8%,與它們相比Lenet-5模型具有一定的優(yōu)勢,同時該文使用的沒有池化層的CNN的準確率則達到了96.92%,這表明了對池化層作用的分析后依據(jù)網(wǎng)貸用戶數(shù)據(jù)維度較低的特點而取消池化層的可行性;再看使用了CNN提取特征的一般機器學(xué)習(xí)模型的準確率達到了96.68%、95.42%和97.26%,相比于原模型也有了不小的改善,這表明了CNN在特征提取上確實存在優(yōu)勢,利用其提取的特征來分類的結(jié)果比起原始的數(shù)據(jù)要更加優(yōu)秀。
在靈敏度方面,所有模型都表現(xiàn)出非常好的效果,個別模型能達到幾乎百分之百的準確率,從數(shù)據(jù)上看很難看出CNN在其中的作用;而特異度表現(xiàn)上(也就是對違約用戶識別正確的比例),SVM在使用了CNN提取特征后其特異度從63.78%提高到了87.90%,Log從80.93%提高到了91.73%,Tree也有少量的提升,這表明了使用CNN提取特征能夠提升一般的機器學(xué)習(xí)模型對違約用戶的預(yù)測準確率。
綜上對比結(jié)果,所構(gòu)建的CNN在解決網(wǎng)貸用戶違約風(fēng)險預(yù)測問題上相比其他一般機器學(xué)習(xí)模型以及經(jīng)典的Lenet-5模型總體效果要更好;同時,搭建的CNN對數(shù)據(jù)進行特征提取后供其他一般學(xué)習(xí)模型進行分類預(yù)測能夠提升其預(yù)測性能,主要表現(xiàn)在總體的預(yù)測準確率和對違約用戶的預(yù)測準確率;最后,在三項評價指標上,CNN-Log模型的總體準確率和特異度都要優(yōu)于其他模型,特別是對違約用戶的預(yù)測準確率,違約帶來的損失要比正常用戶帶來的收益大得多,因此在多模型對比實驗中,CNN-Log模型在網(wǎng)貸用戶違約風(fēng)險預(yù)測上有較優(yōu)的預(yù)測性能。
為了對網(wǎng)貸違約風(fēng)險進行準確的預(yù)測,采用CNN提取網(wǎng)貸數(shù)據(jù)的深度特征,提出了CNN和一般模型結(jié)合的組合模型。首先,使用數(shù)值圖形化的策略,在超參數(shù)上通過實驗確定適合該研究問題的CNN;然后再與一般模型結(jié)合測試CNN的改良效果以及整體的預(yù)測性能;最后將組合模型應(yīng)用于網(wǎng)貸用戶違約風(fēng)險預(yù)測。實驗結(jié)果表明CNN在處理目前的網(wǎng)貸用戶數(shù)據(jù)上表現(xiàn)突出,和一般模型結(jié)合后能有效提升其預(yù)測性能,因此組合模型能夠?qū)W(wǎng)貸違約風(fēng)險進行更加科學(xué)、準確地預(yù)測,網(wǎng)貸平臺可以考慮該CNN-Log模型或者利用CNN來改良自身的原有模型。下一步的工作將是利用CNN特征提取的優(yōu)勢結(jié)合性能優(yōu)異的模型來進行網(wǎng)貸風(fēng)險預(yù)測。