李 琳,王國偉,張 杰,周 棟
(1.武漢理工大學 計算機科學與技術學院,湖北 武漢 430070;2.湖南科技大學 計算機科學與工程學院,湖南 湘潭 411201)
在線P2P(Peer-to-Peer)貸款[1],又稱為點對點貸款,為民間小額借貸,方便了小微企業的借貸。在實際生產生活中,許多小微企業經常需要小額短期資金進行周轉,但銀行借貸的過程復雜,無法滿足小微企業的需求[2,3]。
借貸行業的實際情況給模型訓練帶來了困難,導致信用預測結果的準確度偏低。首先對于訓練數據樣本的形成,僅當金融機構完成了某次借貸申請流程后,才會形成標記數據。大多小微企業無信用記錄,僅有少量小微型企業的信用被相關的金融機構評估。人工標記數據的成本過高導致訓練樣本嚴重不足。可以看到用借貸歷史記錄作為訓練數據集,不但標記數據量少,且其正負樣本比例不均衡,傳統的監督機器學習方法的預測效果會因此受到影響。
半監督學習充分利用未標記數據中的信息,提高模型在預測時的表現。簡單而言,半監督學習可將一些不含標簽的數據通過一定的機制添加到訓練數據中,用以緩解上述問題。
基于半監督支持向量機的信用評估是一種有效的預測方法[4]。由于超參數通常由經驗選取,當對不同數據集進行預測時,由于數據集間的差異,無法保證模型的穩定性。因此,本文提出基于耦合模擬退火的S3VM(CSAS3VM),采用耦合局部最優的方法來優化模擬退火過程,尋找半監督支持向量機的最優參數。實驗結果表明,本文提出的CSAS3VM,具有更高的精度和較高的F-1值,且在正負樣本比例不均衡時也表現穩定,是一種有效的信用預測方法。
對于信用評估,主流機器學習方法已有較好的表現。Malini等[5]提出了基于KNN和離群值檢測的信用卡欺詐識別模型;Save等[6]提出了一種使用決策樹(decision tree)檢測信用卡交易處理中欺詐行為的系統。支持向量機同樣被廣泛應用于信用評估。Yu等[7]試圖提出一種基于深度置信網絡的重采樣SVM集成學習范式,并將其用于信用評估;肖斌卿等[8]使用最小二乘SVM,建立了用于小微企業的信用評估模型;Hsu等[9]的研究結果表明將SVM與人工蜂群方法相結合,能夠提高信用評估的結果。
除傳統的機器學習方法外,神經網絡也同樣受到關注。Oresk等[10]提出了一種神經網絡混合遺傳算法(HGA-NN),用于提高信用評估的分類準確性和可擴展性。Fu等[11]提出了一個基于CNN的信用欺詐檢測框架,從標記數據中學習欺詐行為的內在模式。
監督學習方法中SVM在信用評估上表現突出,本文在半監督SVM中引入耦合模擬退火機制優化參數選擇,提升信用預測質量。
在21世紀初,半監督學習得到廣泛關注,主要有生成式、基于圖的半監督、協同訓練和半監督支持向量機等[12-14]。本文主要關注半監督支持向量機,其基本思想是:將未標記的信用數據加入到模型中,試圖找到劃分超平面能對數據進行分類且穿過的區域為數據稀疏區域。Chen等[14]對Lap-TSVM進行改進,提出了Lap-STSVM,將原始約束轉換為無約束最小問題;Rethishkumar等[15]利用分支定界法優化的確定性退火半監督支持向量機(DAS3VM)對節點進行分類;Huang等[16]將基于流形正則化的極限學習機擴展到半監督和無監督任務中;Dai等[17]提出了一個基于對抗生成網絡的半監督學習框架,該框架使用生成的數據來提高任務性能;Wang等[18]提出了一種基于主動學習結合TSVM的新型半監督學習算法,并在目標函數中添加流形正則項;Yang等[19]提出了一種基于圖嵌入的半監督學習框架,并與基于高斯調和函數的半監督方法進行了對比。
在信用預測和金融風控領域,考慮半監督學習方法來解決標記數據不足問題的研究偏少,Li等[20]的研究結果表明半監督支持向量機在信用預測上比邏輯回歸表現好;Lebichot等[21]提出了基于圖的半監督信用卡欺詐檢測系統。
演化算法的靈感源于自然界生物的進化,其在參數優化、模式識別和機器學習等眾多領域有較為廣泛的應用。Chen等[22]的MPSVM是一種用于半監督分類的支持向量機,并采用粒子群算法來優化模型參數的選擇;Albinati等[23]提出基于蟻群算法的半監督分類算法;Lazarova等[24]使用遺傳算法與S3VM結合,提出GS3VM來優化非凸問題,在Diabetes和Coil20數據集上表現出較好的結果;Lazarova等[25]提出了一種半監督多視圖遺傳算法,應用于回歸函數學習中。根據上述文獻,將演化算法與半監督相結合的方法能有效提高傳統半監督方法的準確性并且現有的研究工作對所采用的傳統演化算法做了進一步優化和改進。總體上,實驗中除了與傳統的半監督方法對比之外,還對比了所要改進的演化方法。
本文考慮到基于確定性退火的S3VM(DAS3VM)采用人工選擇參數[15],模型容易過擬合或欠學習,而基于模擬退火的S3VM信用預測方法[26]受初始溫度影響,低溫時容易陷入局部最優。針對該問題,本文提出了耦合模擬退火的S3VM方法,通過共享多個模擬退火過程的信息,優化模型參數的選擇。本文利用耦合模擬退火優化半監督的參數學習,今后的研究將考慮其它演化算法在實際問題中的可行性。
本文研究演化算法與二分類的S3VM結合,尋找模型的優化參數,以此來提高分類預測效果。


(1)

確定性退火半監督支持向量機(DAS3VM)[15]通過構造一個關于溫度T的自由能函數,將傳統的S3VM的最優化過程轉換為一系列溫度依賴的物理系統。其中pj∈[0,1], 是x′j在正類上的概率。將變量uj放大到概率變量pj, 并根據pj建立關于溫度T的函數,如式(2)所示

(2)
式(2)中,r為正樣本在所有樣本的占比,T控制了一系列目標函數。從式(2)的優化中得到最優解的過程轉換為溫度T的降溫過程,從高溫狀態逐漸降低,理想值為0。記錄函數最值,由此獲得最優解。溫度轉移的過程為Tk=ρTk-1,Tk模擬退火的過程中,第k次的溫度,ρ為過程中的系數。初始狀態下,溫度降低較快,隨著降溫過程的進行,退火速度逐步減慢。
2.2.1 耦合模擬退火
SVM超參數選取,對算法最終表現有較大影響[27]。確定性退火S3VM是根據經驗或實驗測試來選擇。本文提出的耦合模擬退火S3VM,將耦合模擬退火用于到S3VM的超參數選取。耦合模擬退火(coupled simulated annealing,CSA),模擬物理過程中的退火,在初始狀態下求解全局最優解[28]。耦合模擬退火(CSA)與單個退火求解和并行多個退火求解問題的差異在于其將多個退火過程中的狀態信息共享,通過耦合的方式定義接受概率,面對新狀態的到來,所有耦合信息共同決定溫度狀態是否轉移。
對于新狀態的接受概率A(s→st), 數學上有多種定義。本文在尋求最優解的過程中,采用的是Metropolis規則的變形,如式(3)所示
(3)

(4)
利用Boltzmann求解系統在第i個狀態的概率值,假設 (i=1,2), 即系統僅有兩個可選狀態,如式(5)所示
(5)
式(5)中kB為Boltzmann常數,Ei為i狀態下,當前系統的能量值,T為i狀態下的溫度。Z為當前系統所有狀態的能量和,如式(6)所示
(6)
考慮式(4)和式(5),在狀態st和溫度T已給定的情況下,狀態st被接受的概率值由式(5)近似表示。為了實現耦合模擬退火,先初始化一個多狀態系統,s為狀態的集合,si為當前的第i個狀態,sti為第i個當前狀態將要轉移的新狀態。設s∈{s1,s2,…,sm}, 式(4)轉換為式(7)
(7)

此時,當前狀態s∈{s1,s2,…,sm} 對應新狀態st∈{st1,st2,…,stm} 的接受概率為A(s→st)∈{A(s1→st1),A(s2→st2),…,A(sm→stm)}。 狀態集合s內各個狀態接受對應的轉移狀態st的概率,除了考慮自身外,還要考慮其它狀態的耦合。特殊情況下,當狀態總數m=1時,方法將退化為傳統的模擬退火求解問題。
定義Θ={s1,s2,…,sm}, Θ?Ω, Ω為所有合法狀態的集合,CSA中的狀態si轉移到新狀態sti的概率如式(8)所示
0≤AΘ(γ,si→sti)≤1
(8)
當前狀態si∈Θ, 新狀態sti∈Ω,γ為耦合項,如式(9)所示
γ=f[E(s1),E(s2),…,E(sm)]
(9)
如圖1所示,可以看到CSA與SA的主要不同點在于接受概率的定義。它使得當前狀態集合下所有SA的狀態信息共享,并對耦合項和接受概率進行組合,尋找全局最優解。

圖1 模擬退火與耦合模擬退火的區別
2.2.2 CSAS3VM方法描述
耦合模擬退火半監督支持向量(CSAS3VM)將耦合模擬退火應用于尋找半監督支持向量機的最優參數。設定初始值,由此生成當前狀態。通過擾動函數,產生新狀態。關于擾動函數的定義請參見文獻[26],擾動因子ε的分布為
(10)
將式(10)帶入擾動函數,由此新狀態st的表達式如式(11)所示
(11)
具體實現如算法1所描述,源代碼見https://github.com/WUT-IDEA/SAS3VM(含傳統模擬退火方法和耦合模擬退火方法)。
算法1:CSAS3VM
輸出:全局最優解ω

(2)對集合Θ的每個狀態si都通過擾動函數產生新的狀態sti=si+εi, ?si∈Θ。εi是通過式(10)隨機得到的變量。將轉移狀態sti和當前解ωi作為輸入,代入算法2中,計算轉移狀態的能量E(sti), ?sti∈Θ, ?i=1,2,…,m。
(3)對每個i=1,2,…,m, 如果E(sti)≤E(si), 接受新狀態sti; 否則,以AΘ(γ,si→sti) 的概率,接受轉移狀態sti。 當AΘ>δ時,接受轉移狀態sti,δ∈[0,1]。 更新每個SA對應的當前最優解ω*, 計算耦合項γ, 返回步驟(2),循環N次。

(5)如果達到預先設定好的停止條件,則算法結束,找到能量E(si),i=1,2,…,m的最小能量,輸出該能量所在狀態的最優解ω*; 否則,從步驟(2)開始,繼續循環。
CSAS3VM的時間復雜度為O(nNE),N為CSA方法內循環次數需要的次數,n為CSA方法外循環次數需要的次數,E為計算系統能量E(s) 的時間復雜度(算法2中給出計算)。
本文提出的CSAS3VM的接受概率如式(7)所示,使得接受新狀態的概率AΘ(γ,si→sti) 與轉移狀態的能量E(sti) 成反比。耦合項由當前所有狀態共享。
傳統的確定性退火半監督支持向量機中的超參數λ和λ′, 常見的做法是通過經驗判定。就不同的數據集,超參數初始化不同,會影響預測結果。針對該情況,本文在尋找實際問題中最優參數組合時,選定初始值后,第k次的超參數的擾動函數如式(12)所示
λk=λk-1+εk-1λk∈Ω
(12)
εk-1為滿足式(10)的隨機變量。
接下來討論使用確定性退火(DA)計算系統能量E(s) 的過程,見算法2。
算法2:E(s)計算
輸入:狀態s, 當前最優解ω;
輸出:當前狀態能量E(s), 最優解ω。


(3)使用拉格朗日方程,將式(2)重構為式(15),求pj的偏導,帶入到式(2)的約束后,得到用于求解拉格朗日乘子v的非線性方程,通過使用組合的牛頓-拉夫遜迭代法和二分法進行求解。計算v, 更新pj。
(4)循環執行步驟(2)和步驟(3),對ω和p進行優化,檢查是否滿足停止迭代的條件。本文采用pj的當前值p與上一次循環的值q的平均KL距離。
(5)對Tda進行降溫,將改變后的ω作為傳統監督SVM的初始值,重復步驟(2)~步驟(4),當溫度為最低或者達到最大循環次數時,停止。
(6)更新ω, 使用測試集,完成當前狀態s的能量E(s) 的計算。

(13)


(14)
步驟(3)中構造的式(2)的關于拉格朗日方程如式(15) 所示

(15)
式(15)中,v為拉格朗日pj乘子,對pj求偏導得到式(16)

(16)

pj代入到傳統監督SVM的約束條件得到式(17)
(17)
式(17)為關于v的非線性方程,通過算法2的步驟(3),帶入式(17)可以得到pj。
本文中的KL距離定義如式(18)所示
(18)
當滿足KL(p,q) 本文使用的兩類數據集分別是UCI(https://archive.ics.uci.edu/ml/datasets.html)公開的個人信用數據(德國、澳大利亞、日本)和通過網絡爬取的中國企業信用數據(credit-one、credit-two)。 表1為UCI上的3組個人信用數據集的相關信息。p+n項為數據集的樣本數,p為正類樣本,n負類樣本,feature為每個樣本的特征數量。 表1 個人信用數據集 由于UCI的信用數據集來自于90年代且數據量偏小,本文通過爬蟲從阿里巴巴(https://s.1688.com)和企業信用信息公示系統(http://www.gsxt.gov.cn)中爬取企業信用相關數據。由于數據存在缺失,還需要對數據進行篩選。 篩選后,形成兩個企業數據集credit-one和credit-two。相關字段的意義與表1相同,見表2。credit-one數據集屬于正負樣本不均衡,而credit-two數據集相對均衡,本文根據這兩種數據的實驗結果討論不同信用預測方法的性能。 表2 企業信用數據集 本文所有需要用到核函數的算法,選取的核函數為線性核。提出的CSAS3VM方法與以下7種方法進行了對比實驗:基于傳統監督學習的方法(1)和方法(2)與基于半監督學習的方法(3)~方法(7)。 (1)RLS[29]:邏輯回歸,監督學習方法。 (2)L2-SVM-MFN[30]:傳統支持向量機,監督學習方法。 (3)TSVM[18]:半監督支持向量機,半監督學習方法。 (4)HF[19]:基于高斯調和函數的半監督算法,半監督學習方法。 (5)NBEM[31]:樸素貝葉斯最大期望算法,半監督學習方法。 本文提出的CSAS3VM是在確定性退火和模擬退火S3VM上的改進。 (6)DAS3VM[15]:用確定性退火尋找最優解的半監督支持向量機,半監督學習方法。 (7)SAS3VM[26]:用模擬退火尋找最優解的半監督支持向量機,半監督學習方法。 (8)CSAS3VM:本文提出的耦合模擬退火半監督支持向量機(使用 L2-SVM-MFN 在標記數據上訓練出一個初始分類器),半監督學習方法。 為避免實驗中出現過擬合現象,本文采用反K折交叉驗證的方式,該方式為半監督學習中常用的驗證方式,使結果更加真實準確。反K折交叉驗證的過程類似于K折交叉驗證,不同點在于訓練數據和測試數據劃分的方式。反K折交叉驗證在訓練過程中一次選擇1折進行訓練,其余K-1折數據為測試數據,最后取K次實驗的平均結果。實驗中,設置K=5,10,20,30,40,50,60,70,80,90,100。 本文的評價指標包含:分類的精度(Precision)、召回率(Recall)和F-1值(F-1 scores)。F-1值對精度和召回率進行了權衡。精度(Precision)表示分類器預測為正的樣本中,預測準確的比例。召回率(Recall)表示測試集中正樣本被預測出的比例。在信用評估中,信用為負的個人或者企業若被誤分,將獲得貸款,這將帶來非常大的經濟損失。所以本文除了考慮評價指標F-1值,還關注各種方法在精度指標上的表現。 圖2(a)、圖2(b)用折線表示8種方法在企業信用數據集上精度對比的實驗結果,圖2(c)~圖2(e)則是在個人信用數據上的對比結果。橫坐標表示反K折交叉驗證中K的不同取值,K越大,則表示標記數據越少,越能體現半監督學習類方法的優勢。 圖2 精度對比實驗 在credit-one和credit-two企業信用數據集上(圖2(a)、圖2(b)),本文所提出的CSAS3VM方法精度明顯最高。以credit-one的數據為例,當K=5時,半監督方法中DAS3VM的精度為77.3,HF為83.6,本文提出的CSAS3VM為92.4;當K=100時,標記數據只有1折數據,SAS3VM的精度為74.1,HF為79.3,本文提出的CSAS3VM為92.8。在credit-one數據集上,取不同K值時,各方法的精度見表3。 表3 credit-one數據集上的Precision值/% 從企業信用數據的實驗結果總體來看,半監督學習類方法優于監督類學習方法RLS和L2-SVM-MFN。CSAS3VM方法將較少的負類樣本預測為正類樣本,具有最高的精度。當數據正負樣本不均衡時,CSAS3VM方法在精度指標上表現穩定,而其它方法的精度在credit-one上明顯低于credit-two。 圖3(a)、圖3(b)為在不同K值下,8種方法在企業信用數據集上召回率的對比結果,圖3(c)~圖3(e)為個人信用數據集上的對比結果。 圖3 召回率對比實驗 在credit-one、credit-two數據集和德國數據集上,CSAS3VM的召回率表現并不理想,這是由于CSAS3VM不只是關注預測正例的效果。而NBEM方法在德國數據集上部分K值的召回率達到了100%,這是因為數據集正負樣本不均衡,其中德國數據集的正例樣本占比為70%,算法偏向于將樣本預測為正例,忽略了在信用評估領域若負例被預測為正例會造成較大的損失。在澳大利亞和日本的個人數據集上,CSAS3VM方法在大部分K值上召回率為最高。 在信用評估中,應更加關注精度(預測信用為好的樣本中,實際信用好的樣本所占比例)。因此,僅通過召回率來評價模型并不合理,綜合了召回率和精度的F-1值能更好評價算法的表現。 圖4(a)、圖4(b)用折線表示8種方法在企業信用數據集上F-1值的對比實驗結果,圖4(c)~圖4(e)則是在個人信用數據上的對比實驗結果。 圖4 F-1值對比實驗 在credit-one和credit-two企業信用數據集上,本文提出的CSAS3VM方法的F-1值最高,其次是SAS3VM方法。 在credit-one數據集上,由于其不均衡,其它非退火類方法隨著K值的變大,性能下降明顯。在credit-two數據集上,CSAS3VM方法明顯優于其它7種方法,當K=100時,CSAS3VM方法的F-1值為65.4,比次之的SAS3VM(60.3)提高了8.5%,比監督方法中表現最好的L2-SVM-MFN(56.1)提高了16.6%。 以credit-one數據為例,當K=5時,本文提出的CSAS3VM的F-1值為83.0,次之的L2-SVM-MFN監督方法為82.4;兩者差距不大,是因為有1/5的訓練數據參與訓練。當K=100時,標記數據只有1/100份時,CSAS3VM的F-1值為81.4,而L2-SVM-MFN監督方法為76.8。可以看到隨著K值的增大,訓練數據越來越少,本文提出的CSAS3VM方法表現穩定且最優。NBEM方法表現最差,波動較大。 在個人信用數據集上,本文提出的CSAS3VM方法在F-1值上表現穩定,特別是在K取值較大的情況下,其次是SAS3VM。以澳大利亞個人信用數據集為例,當K取值小于等于20時,SAS3VM的F-1值稍微高于CSAS3VM方法,最多為1.6%;但是當K取值大于20之后,CSAS3VM方法明顯優于SAS3VM,最高提升了7.9%。總體而言,和其它方法相比,耦合模擬退火方法在參數尋優方面表現突出。 NBEM方法表現最差,雖然在德國個人信用數據集上有82左右的F-1值,其原因是NBEM方法簡單,算法傾向于預測多數類,即將數據預測為正類。由此得到了接近100%的召回率和70%左右的精度;而在澳大利亞和日本數據集上的F-1值不足50。 (1)本文提出的CSAS3VM方法在兩種共5組數據集上的總體表現最好,精度最高,F-1值較高。在正負樣本比例不均衡時,也表現穩定。可以看到耦合模擬并行地進行模擬退火過程,通過接收概率函數耦合,提高了最優參數搜索的性能,彌補了傳統模擬退火方法對初始參數選取魯棒性差的缺點。 (2)引入模擬退火機制的S3VM,比如本文提出的CSAS3VM和已有的SAS3VM,綜合來看均比其它方法表現好。較差解在滿足條件的情況下,模擬退火將接受該解,避免算法一直處于局部最優。 (3)半監督的HF和NBEM方法總體上看表現最差,大多數情況下也不如RLS和L2-SVM-MFN兩種監督學習方法。與大多數的研究結果一致,SVM分類預測能力強。 (4)監督學習方法RLS和L2-SVM-MFN隨著K的增加,訓練數據減少,精度減少,F-1值減少,預測性能呈現明顯的下降趨勢。可以看到監督學習方法在訓練數據小于測試數據的情況下,性能不理想。 本文在傳統半監督支持向量機的基礎上,提出了CSAS3VM,并在5組數據集上進行了對比實驗。綜合精度、召回率和F-1值3項評價指標,本文提出的CSAS3VM相對于SAS3VM和其它方法,具有更高的精度和較高的F-1值。因此,可以認為CSAS3VM是一種有效的信用預測方法,在正負樣本不均衡的情況下,表現穩定。 CSAS3VM在準確度和效率上都存在改進空間。耦合模擬退火雖然并行處理多個退火過程,但單個退火過程仍采用單次比較的方式。今后考慮在每一個當前狀態,采用多次搜索策略,搜索當前狀態范圍內的最優解。其次,耦合模擬退火在多個模擬退火之間進行信息共享,這一特性讓其適應于分布式環境,今后同樣可以考慮在分布式環境下,實現CSAS3VM。3 實 驗
3.1 數據集


3.2 對比方法
3.3 評價指標
3.4 精度對比實驗


3.5 召回率對比實驗

3.6 F-1值對比實驗

3.7 實驗結果分析
4 結束語