楊冰清,趙金虎
(阜陽師范大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,安徽 阜陽 236037)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)金融已經(jīng)成為金融行業(yè)迅速發(fā)展的必要途徑和趨勢。縱觀整個互聯(lián)網(wǎng)金融行業(yè),網(wǎng)絡(luò)借貸是互聯(lián)網(wǎng)金融的一個形式,以網(wǎng)絡(luò)為媒介,給投資人和借款人搭建橋梁,簡化銀行等金融機(jī)構(gòu)的借貸平臺,實現(xiàn)更快、更易、更便捷的借貸活動。其中網(wǎng)絡(luò)借貸可以細(xì)化為五種類型:P2P 網(wǎng)絡(luò)平臺、網(wǎng)絡(luò)小額貸款、網(wǎng)絡(luò)現(xiàn)金貸、網(wǎng)絡(luò)消費貸款和網(wǎng)絡(luò)套路貸款。其中,網(wǎng)絡(luò)現(xiàn)金貸作為一種特殊的形式具有如下特點:線上申請、線上放款、金額小、周期短、無資產(chǎn)證明、無征信報告、無抵押物、操作便捷且迅速但利率高等特點[1]。由于現(xiàn)金貸不要求場景依托,貸款會以現(xiàn)金的形式發(fā)放到借貸人指定賬戶,這一方式有別于受限的消費貸款。但是由于借貸過程中不存在對于借貸人的信用、還款能力和還款金額的審核,這會導(dǎo)致借貸人違約率較高,從而削弱平臺風(fēng)險管控能力。因此,建立能適用于網(wǎng)絡(luò)現(xiàn)金貸場景下且具有高精度的違約模型對我國金融風(fēng)險預(yù)警具有重大意義[2]。
近年來,機(jī)器學(xué)習(xí)由于具有強(qiáng)大的學(xué)習(xí)能力在信貸違約預(yù)測中應(yīng)用十分廣泛。但面對一些現(xiàn)實問題,機(jī)器學(xué)習(xí)并不能很好的解決,且效果也并不能保證,例如:1)各金融機(jī)構(gòu)之間數(shù)據(jù)不共享,數(shù)據(jù)積累量不足,尤其是對初創(chuàng)金融機(jī)構(gòu),小樣本數(shù)據(jù)訓(xùn)練出來的模型精度較差;2)第三方風(fēng)控機(jī)構(gòu)需要為每個金融機(jī)構(gòu)單獨建模,工作重復(fù)且精度無法保證。而遷移學(xué)習(xí)能利用基于大樣本數(shù)據(jù)量上已經(jīng)訓(xùn)練的精準(zhǔn)模型,遷移到小樣本數(shù)據(jù)中,構(gòu)建該問題下的模型,提高該問題中構(gòu)建模型的預(yù)測精確度和模型泛化能力。
近年來,在違約預(yù)測問題上,更多的學(xué)者利用機(jī)器學(xué)習(xí)算法對數(shù)據(jù)的違約進(jìn)行定量研究[3-12]。方匡南等人[13]構(gòu)建lasso-logistic 模型,將兩種方法結(jié)合,從而實現(xiàn)模型變量選擇和違約估計,然后對比lasso-logistic 模型、全變量logistic 模型、逐步回歸logistic 模型,發(fā)現(xiàn)該模型預(yù)測準(zhǔn)確率更高。涂艷等[7]基于拍拍貸真實交易數(shù)據(jù)建立logistic 模型、BP 神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和隨機(jī)森林模型,結(jié)果表明在違約準(zhǔn)確率方面機(jī)器學(xué)習(xí)方法普遍高于傳統(tǒng)回歸模型。朱兵等人[8]通過對歷史違數(shù)據(jù)的1 141 個違約樣本的學(xué)習(xí),提出將這1 141 個樣本的“信息遷移”,幫助解決不平衡問題。但是上述這些機(jī)器學(xué)習(xí)方法都不能解決現(xiàn)實存在的跨平臺、跨知識的大樣本信息預(yù)測新問題。而遷移學(xué)習(xí)具有跨任務(wù)傳輸知識的能力,能夠做到聚焦解決數(shù)據(jù)量和模型的遷移[14]。由于神經(jīng)網(wǎng)絡(luò)算法在圖像識別、語音識別、文本挖掘等多方面都取得了顯著的改進(jìn)和提升。本文將神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)結(jié)合在一起,目的是為了構(gòu)建能夠跨任務(wù)利用知識的遷移模型。
在違約預(yù)測問題上,目前已有的方法大多是單獨運用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法。這些算法被訓(xùn)練來解決特定的任務(wù),不能夠進(jìn)行跨平臺、跨知識學(xué)習(xí),且一旦特征空間分布發(fā)生變化,就必須從新開始構(gòu)建模型。而遷移學(xué)習(xí)能夠克服孤立的學(xué)習(xí)范式,其利用從一個任務(wù)中對于大量數(shù)據(jù)的學(xué)習(xí),幫助解決類似的小批量數(shù)據(jù)由于樣本不足導(dǎo)致的模型擬合效果差的問題。從而實現(xiàn)跨平臺、跨知識對當(dāng)前特定平臺違約數(shù)據(jù)進(jìn)行預(yù)測。
Pan 等人[15]用領(lǐng)域、任務(wù)和邊際概率來描述遷移學(xué)習(xí)的框架。Cheriyadat[16]和Newsam[17]對遷移學(xué)習(xí)的歷史、分類和挑戰(zhàn)進(jìn)行了詳細(xì)的解釋。遷移學(xué)習(xí)可以定義:利用DS領(lǐng)域和源任務(wù)TS的知識,提升目標(biāo)領(lǐng)域DT中的目標(biāo)函數(shù)fT(或者目標(biāo)任務(wù)TT)。一種常用且非常高效的方法是使用預(yù)訓(xùn)練網(wǎng)路,其中預(yù)訓(xùn)練網(wǎng)絡(luò)是一個保存好的網(wǎng)絡(luò),已經(jīng)在大數(shù)據(jù)訓(xùn)練集上訓(xùn)練好的網(wǎng)絡(luò)。使用預(yù)訓(xùn)練網(wǎng)絡(luò)有兩種方法:特征提取和微調(diào)模型。
2.2.1 特征提取
特征提取是使用之前網(wǎng)絡(luò)學(xué)到的表示,來從新樣本中提取出有用的特征,然后將這些特征輸入一個新的分類器,從頭開始訓(xùn)練。再進(jìn)一步解釋,由于神經(jīng)網(wǎng)絡(luò)系統(tǒng)具有層級結(jié)構(gòu),不同層會學(xué)習(xí)不同的特征,這些層最終連接到一個最終層,從而獲得分類的輸出結(jié)果。這樣的層級結(jié)構(gòu)可以對預(yù)先訓(xùn)練好的網(wǎng)絡(luò)的最終層進(jìn)行刪除,將其輸出作為其他任務(wù)的特征提取器。
2.2.2 微調(diào)模型
一種廣泛使用的模型復(fù)用方法是模型微調(diào),可以僅對預(yù)訓(xùn)練模型的最終層進(jìn)行替換,也可以選擇性的將前面一些層和最終層一起進(jìn)行重訓(xùn)練,并且在重訓(xùn)練過程中凍結(jié)一些初始層,將這種形式稱之為微調(diào)。其中初始層是通過大量先前知識獲取的一般特征,后面的層則遷移到特定任務(wù)中,這樣可以用更少的訓(xùn)練時間來獲得更好的預(yù)測性能。
2.2.1 數(shù)據(jù)
本文的數(shù)據(jù)來自科賽官網(wǎng)中借貸風(fēng)險評估項目,A 數(shù)據(jù)中包含4 萬條數(shù)據(jù),貸款期限為1-3年,平均貸款金額為幾千到幾萬的信用貸款業(yè)務(wù)。B 數(shù)據(jù)包含4 千條數(shù)據(jù),貸款期限為7-30 天,平均貸款金額為一千的小額短期網(wǎng)絡(luò)現(xiàn)金貸款業(yè)務(wù)。
由于網(wǎng)絡(luò)現(xiàn)金貸款業(yè)務(wù)屬于初期階段,數(shù)據(jù)量少,平臺評價體系不完善,通過利用業(yè)務(wù)A 的4萬條數(shù)據(jù)和業(yè)務(wù)B 的4 千條數(shù)據(jù),建立業(yè)務(wù)B 的信用評分模型。其中業(yè)務(wù)A 為信用貸款,其特征是債務(wù)人無需提供抵押品,僅憑自己的信譽(yù)取得貸款,以借款人信用程度作為還款保證;業(yè)務(wù)B 為現(xiàn)金貸,現(xiàn)金貸主要具有以下五個特點:額度小、周期短、無抵押、流程快、利率高。由于業(yè)務(wù)A、B存在關(guān)聯(lián)性,可以將業(yè)務(wù)A 的知識遷移到業(yè)務(wù)B上,以增強(qiáng)業(yè)務(wù)B 的信用評分模型。
2.2.2 預(yù)處理
對于A 數(shù)據(jù)是40 000 個樣本,480 個特征。由于數(shù)據(jù)的項目并沒有給出具體每個特征的含義,以及每個特征是連續(xù)變量還是定性變量,將每列特征中,特征取值少于10 個取值的作為定性變量,特征取值大于10 個取值的屬于定量變量。由于數(shù)據(jù)中存在缺失值,對于上述假定后,屬于定量特征的,用平均值作為缺失值進(jìn)行填充,屬于定性特征,用眾數(shù)作為缺失值進(jìn)行填充。然后對上述數(shù)據(jù)進(jìn)行降維,將特征從原來480 維度降維到400維特征。
由于原始數(shù)據(jù)中存在某些超大的特征,數(shù)值超過10 萬,也存在一些小特征,小于1。為使不同量綱之間的特征具有可比性,消除量綱的差異導(dǎo)致的收斂優(yōu)化速度緩慢等問題。采用歸一化來去除數(shù)據(jù)單位不統(tǒng)一問題,將所有特征轉(zhuǎn)換到一個特定區(qū)間內(nèi),公式如下所示:
預(yù)訓(xùn)練網(wǎng)絡(luò)有兩種方法:特征提取和微調(diào)模型。特征提取是使用之前網(wǎng)絡(luò)學(xué)到的表示,從新任務(wù)中提取有用的特征,然后將這些特征輸入一個分類器開始訓(xùn)練。微調(diào)模型指的是對于特征提取的凍結(jié)基模型,微調(diào)其頂部的幾層“解凍”,并將解凍的幾層與新增加的部分聯(lián)合訓(xùn)練。
實驗采用的基網(wǎng)絡(luò)如圖1 所示,該網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,其中輸入層包含d 個輸入神經(jīng)單元,隱藏層包含k個神經(jīng)單元,輸出層使用的是sigmoid 函數(shù)輸出0-1 之間的概率大小。輸入數(shù)據(jù)表示為(x(i),y(i)),表示輸入第i 個樣本的自變量和因變量,其中x(i)為d 維輸入向量,y(i)表示第i 個輸入向量對應(yīng)的類別。模型訓(xùn)練包括正向傳播和反向傳播兩個過程,若用xl表示當(dāng)前層的輸出特征向量,則xl-1是第l層的輸入特征向量,該層是通過權(quán)值向量wl和偏置bl進(jìn)行線性變換后,又作為激活函數(shù)的自變量進(jìn)行計算,如下所示:
圖1 神經(jīng)網(wǎng)絡(luò)圖
為了防止模型出現(xiàn)過擬合,通過觀察每層的單元個數(shù)的不同,以及對模型損失產(chǎn)生的影響。下圖中左圖是單元個數(shù)是32 時,損失和epoch 之間的關(guān)系,從圖中可知當(dāng)epoch 大于25 后開始出現(xiàn)過擬合。而右圖是單元個數(shù)是128 時,損失和epoch 之間的關(guān)系,圖中可知當(dāng)網(wǎng)絡(luò)單元個數(shù)更大時,模型只經(jīng)過了一輪就開始出現(xiàn)過擬合,于是選取32 作為預(yù)訓(xùn)練模型的單元個數(shù)。
預(yù)訓(xùn)練模型中傳入Dense 層參數(shù)為32 作為隱藏層,中間層使用relu 激活函數(shù),最后一層使用sigmoid 激活輸出一個0-1 范圍內(nèi)的概率值。由于面對的是二分類問題,使用binary_crossentropy損失,使用rmsprop 優(yōu)化器,為防止過擬合,在兩個隱藏層后使用dropout 層,減少過擬合的存在。
為了避免預(yù)訓(xùn)練模型出現(xiàn)過擬合,需要確定合適的epoch。通過下圖可知,當(dāng)epoch 大于100時,精確度和AUC 呈現(xiàn)減少趨勢,即出現(xiàn)過擬合顯現(xiàn),設(shè)置最大的epoch 為100。
圖2 loss 和epochs
圖3 precision 和auc
預(yù)訓(xùn)練網(wǎng)絡(luò)是一個已經(jīng)在大數(shù)據(jù)上訓(xùn)練好的網(wǎng)絡(luò)。當(dāng)原始的數(shù)據(jù)量足夠大,那么預(yù)訓(xùn)練網(wǎng)絡(luò)借助學(xué)習(xí)到的只是訓(xùn)練的模型可以作為有效的通用模型,然后將該通用模型遷移到新問題中,即使新問題涉及的類別和原始任務(wù)并不相同。
本文構(gòu)建了基于特征提取的遷移模型,如圖4所示。在模型遷移過程中,使用之前網(wǎng)絡(luò)學(xué)習(xí)到的表示作為特征提取的有用特征,然后將這些特征輸入一個新的分類器開始訓(xùn)練。
圖4 特征提取神經(jīng)網(wǎng)絡(luò)
另一種遷移方法是利用微調(diào)網(wǎng)絡(luò)進(jìn)行構(gòu)建模型的,如圖5 所示。在模型遷移過程中將微調(diào)后面的全連接層,也就是全連接層1 和全連接層2都被凍結(jié),而全連接層3 可以被訓(xùn)練。模型靠底部的層可以學(xué)到更加通用的知識,而靠頂部的層則是能學(xué)到更加專業(yè)的知識。微調(diào)這些更加專業(yè)的層,而凍結(jié)相對通用的層,可以讓模型既能利用到以往大數(shù)據(jù)的知識,也能適用于新問題。
圖5 微調(diào)網(wǎng)絡(luò)
實驗在python3.8、keras2.4.2 軟件環(huán)境下完成。硬件環(huán)境中CPUAMD Ryzen9 3900X,主頻3.8GHz.
由于該數(shù)據(jù)存在類別不平衡問題,將下列實驗設(shè)計在原始數(shù)據(jù)集上訓(xùn)練,也在綜合采樣SMOTETomk 算法下獲得的數(shù)據(jù)上訓(xùn)練??紤]計算機(jī)性能和數(shù)據(jù)集整體大小,實驗的batch size 設(shè)置為1 000。為防止模型過擬合,采用回調(diào)函數(shù),patience 設(shè)置為5,觀測驗證損失保指標(biāo)在多于5輪的時間內(nèi)不再改善就中斷訓(xùn)練,將模型保存用于后續(xù)使用,設(shè)置驗證AUC(Area Under Curve)作為驗證指標(biāo),優(yōu)化器采用RMSprop 函數(shù),并且學(xué)習(xí)率設(shè)置為0.001。
原始訓(xùn)練數(shù)據(jù)包含40 000 個樣本,經(jīng)過SMOTETomek 算法后綜合采樣的數(shù)據(jù)包含68 140 個樣本。為避免過擬合各組實驗采用callbacks 函數(shù),使得模型在剛開始過擬合的時候就中斷訓(xùn)練。對于各組實驗訓(xùn)練出來的模型在驗證數(shù)據(jù)集上進(jìn)行評估的結(jié)果如表1 所示。
表1 不同因素下模型評估結(jié)果
3.3.1 數(shù)據(jù)采樣對模型的影響
違約預(yù)測數(shù)據(jù)具有數(shù)據(jù)類別不平衡的特征,針對該現(xiàn)象采用SMOTETomek 算法進(jìn)行綜合采樣,發(fā)現(xiàn)無論是在logistic 方法上,還是在遷移學(xué)習(xí)的兩種方法上,綜合采樣都得到相比原始數(shù)據(jù)更好的結(jié)果。其中l(wèi)ogistic 方法中,綜合采樣得到的AUC 相比原始數(shù)據(jù)提升4.17%,特征提取遷移學(xué)習(xí)方法中綜合采樣方法的AUC 相比原始數(shù)據(jù)的AUC 提高36.6%。微調(diào)遷移學(xué)習(xí)方法中綜合采樣的AUC 相比原始數(shù)據(jù)的AUC 提高4.6%。
3.3.2 遷移學(xué)習(xí)對模型的影響
對于遷移學(xué)習(xí)思想兩種方法,通過表1 可知,無論對于原始數(shù)據(jù)還是綜合采樣后的數(shù)據(jù),利用遷移學(xué)習(xí)思想比傳統(tǒng)機(jī)器學(xué)習(xí)方法如logistic 方法得到更高的AUC 值。對于原始數(shù)據(jù),基于特征提取的遷移學(xué)習(xí)得到的AUC 相比logistic 方法提升11.79%,基于微調(diào)的遷移學(xué)習(xí)方法得到的AUC相比logistic 方法提升15.87%。對于經(jīng)過綜合采樣后的數(shù)據(jù),基于特征提取的遷移學(xué)習(xí)得到的AUC 相比logistic 方法提升46.59%,基于微調(diào)的遷移學(xué)習(xí)得到的AUC 相比logistc 方法也提升了16.34%,遷移學(xué)習(xí)的兩種方法相比傳統(tǒng)機(jī)器學(xué)習(xí)有更高的AUC。
(1)對于類別不平衡數(shù)據(jù),對數(shù)據(jù)進(jìn)行合適的綜合采樣可以從數(shù)據(jù)角度提升模型的性能,無論是對于傳統(tǒng)機(jī)器學(xué)習(xí)方法還是遷移學(xué)習(xí)的方法。
(2)遷移學(xué)習(xí)弱化了模型對于數(shù)據(jù)量的需求??梢酝ㄟ^對相似的大數(shù)據(jù)訓(xùn)練基模型,利用基模型學(xué)習(xí)到的知識遷移到特定的小數(shù)據(jù)中,從而弱化模型對于數(shù)據(jù)量的需求,使得小樣本也能得到較好的效果。
(3)對于違約預(yù)測問題,目前有很多基于機(jī)器學(xué)習(xí)的方法,但很少將該問題用遷移學(xué)習(xí)的方法解決。由于遷移學(xué)習(xí)的優(yōu)點,對于特定個性化的場景下可以利用已知的知識來提升模型效果。且基于遷移學(xué)習(xí)方法的模型最終在測試數(shù)據(jù)集上確實得到相比傳統(tǒng)機(jī)器學(xué)習(xí)logistic 算法更高的AUC。