王 妍,陸云峰
(江蘇商貿職業學院,江蘇 南通 226011)
支持向量機(SVM)可分為線性支持向量機和非線性支持向量機。對于非線性問題,可以通過定義一種映射來把原空間中的非線性問題轉化為新空間中的(C,g)線性問題,然后求解最優分類面,這個新空間通常是高維的。從理論上來說,用這種轉化可以把相對比較復雜的問題用簡單的線性判別函數來解決。但轉化后新空間的維度通常比較高,經常會出現“維數災難”的問題,為問題處理帶來了新的困難,因此SVM需要一種能夠避免在高維空間中直接求解的方法[1]。
如今,大部分建立的SVM模型中都采用了RBF核函數,因為其參數較少且分類正確率高而成為了首選的核函數。本研究建立SVM模型所采用的核函數也是RBF核函數,RBF的徑向作用范圍是被其寬度參數g所控制的。懲罰參數C是用來調節SVM建立的最優分類超平面對樣本進行分類時的間隔大小與分類準確度之間的妥協偏好權重。對此,選取適合的 RBF核函數參數g和SVM懲罰參數C就變成了目前需要解決的關鍵性問題[2]。
混合蛙跳算法進行超參數尋優的具體過程:步驟1:青蛙種群初始化,設置青蛙個數、子蛙群數目、混合迭代次數和子蛙群中局部迭代次數。步驟2:計算每一個青蛙個體的適應度值,運用3折交叉驗證(3-CV)方法計算出每一個個體的平均分類準確率(CVA)即為適應度值,CVA越高,適應度值越高。步驟3:把所有青蛙個體按適應度大小從優到劣排序,按一定規則把青蛙個體分配到各個子蛙群中。步驟4:運用更新策略對子蛙群中適應度最差的個體進行更新,以得到一個較好的解。步驟5:對子蛙群中的個體再按適應度大小進行排序,并轉到步驟4,重復這一操作,直至達到事先設定的局部迭代次數。步驟6:當所有子蛙群都完成了局部搜索后,若滿足混合迭代次數,則算法結束,輸出最優目標值和最優超參數組(C,g),否則返回步驟2。
本研究數據來源于第五屆“泰迪杯”數據挖掘挑戰賽。該數據為某銀行的個人信貸數據,包含了1 000條樣本數據,每條樣本數據有16個特征,前15個特征是有關貸款人的各種信用特征,如銀行賬戶狀態、個人居住情況、年齡等。最后一個特征是貸款人的違約情況,主要分為兩類,0為正常,1為違約。
選取年齡、信用歷史、婚姻關系、是否為外籍人士、個人居住情況、在這家銀行現有的信貸數量等15個信用評估特征作為輸入變量。其中,銀行賬戶狀態的持續月份、信用保證金、年齡為連續變量,其余12個皆為名義變量。對于名義變量需要進行量化處理。為解決上述問題,本研究采用了One-Hot編碼。
因為本研究的重點是評估貸款人是否存在違約風險,所以將貸款用戶是否具有違約風險的結果作為信用風險評估模型的輸出變量,記為y。將存在違約風險的客戶記為1,將不存在違約風險的客戶記為0。在建立個人信用風險評估模型之前,要先利用分層抽樣和隨機抽樣來確定訓練樣本集和測試樣本集。
本研究實驗平臺為Intel(R) Core(TM) i5-4460 CPU, 8GB RAM, Windows 7操作系統,開發環境為Matlab R2012a,支持向量機軟件LIBSVM。先進行參數設置。青蛙個體數為20,子蛙群數為2,子蛙群中局部迭代次數為2,混合迭代次數為50,允許青蛙更新的最大步長Dmax為1.2,懲罰參數C的搜索范圍為[0.01,100],核函數參數搜索范圍為[0.01,100]。
實驗目標函數為尋找最優分類準確率(CVA),CVA越高,最佳適應度越大。圖1為SFLA迭代曲線圖,當SFLA進化到第10代時,此時誤差達到最小,為8.6,CVA最高,蛙群中最佳適應度已經穩定在最大值。此時取得SVM最優C和g參數為47.596 5和23.925 0,其對應最優CVA為91.4%。由此可見,SFLA能夠有效搜索SVM模型的C和g參數,尋優用時為30.073 6 s。

圖1 SFLA迭代曲線Fig.1 SFLA iterative curve

圖2 SFLA優化(C,g)的搜索位置圖Fig.2 Search location map of SFLA optimization (C,g)
圖2為SFLA優化(C,g)搜索位置圖。其中X軸為青蛙個體對超參數C進行的搜索范圍,Y軸為青蛙個體對超參數g搜索范圍。由圖可見,歷代青蛙個體對超參數C的搜索優化位置大都分布在[35,65]區域中,對超參數g的搜索優化位置大都分布在[10,40]內。
運用SFLA對SVM超參數進行尋優,取得了最優超參數組(C,g),并與訓練樣本建立了基于SFLA-SVM的個人信用風險評估模型。為了檢驗該模型的性能,用該模型對測試樣本進行了測試,測試準確率為90%。為了驗證SFLA-SVM模型的優越性,保持實驗數據不變,分別采用網格搜索法(Grid Search,GS)和遺傳算法(Genetic Algorithm,GA)對SVM超參數C和g進行優化,并建立了GS-SVM模型和GA-SVM模型,進而對個人信用風險進行評估,得到的實驗數據如表1所示。

表1 SFLA-SVM、GS-SVM和GA-SVM模型實驗數據對比Tab.1 Comparison of experimental data of SFLA-SVM, GS-SVM and GA-SVM
由表1可知,SFLA-SVM和GA-SVM模型在最優CVA、尋優時間和預測準確率三個方面都優于GS-SVM模型。混合蛙跳算法和遺傳算法找到的最優CVA都為91.4%,對于測試集的預測準確率也都為90%。但從尋優速度來看,混合蛙跳算法比遺傳算法要快,故基于SFLA-SVM模型的個人信用風險評估效果最好。
本研究運用SVM模型對個人信用風險進行評估。因為SVM模型性能與其相關超參數的選取有著很大的關聯,所以將SFLA引入到了SVM中來進行超參數的尋優,從而建立信用風險評估模型。為了驗證該模型的性能,與在相同數據下建立的GS-SVM模型和GA-SVM模型進行信用風險評估的效果對比。結果表明,SFLA-SVM模型擁有更好的信用評估效果。