李博敏 夏春蒙



摘要:在大數據時代,“數據”的作用不可估量,被廣泛應用到各個領域,提高了各行各業的生產效率,繼而促進了經濟的高速發展。同時,由于數據的高效使用,我們的生活方式也在不斷改變,其中最值得重視的是我們的消費模式發生了很大的變化,信用消費模式越來越普遍,所以對消費個體進行信用評估也就越來越重要。對個人進行信用評估指的就是對個人的歷史信貸數據進行綜合分析,判斷其是否能夠按期還款。文章采用機器學習的方法,先用支持向量機(SVM)算法對個人的信用進行評估,然后再采用遺傳算法對支持向量機進行優化(GA-SVM),并進行實證分析。實證結果顯示,采用GA-SVM模型對個人信用進行評估的效果比SVM的效果更好。
關鍵詞:支持向量機;遺傳算法;GA-SVM;優化算法。
中圖分類號:F832.4
1? 引言
隨著大數據時代的不斷發展,數據共享已經成為了一種趨勢,這也滲透到各行各業的發展中去了。我們的生活方式在逐步改變,就拿消費行為來說,人類社會已經從以物換物的時代走進了貨幣時代,現在正朝著數字時代大步向前。新興的信用消費模式越來越受歡迎,當然,任何一個新興事物的發展必然會帶來新的難題,信用消費模式的產生帶來的一個最重要的難題就是信用是如何產生的,即如何去評估一個人的信用狀況。個人信用評估是指通過分析個人的信貸信息,從而判斷他的信用水平,供貸款發放者參考能不能向其發放貸款以及發放的額度,這對商業銀行及其他金融機構來說十分重要。國外學者很早就對個人信用評估方法進行了研究,探索到了很多適合的模型及方法[1]。運用統計學的方法對個人的信用進行評估具有很強的解釋性,但是如果只用統計模型進行分析的話,必須要求我們的數據有嚴格的分布,而往往我們的個人信貸數據維度比較高、定性變量較多,分布也不是特別的嚴格,所以并不是很適合用統計學的方法來分析。支持向量機(Support Vector Machine,SVM)算法主要用于對數據進行分類,并且不用要求有嚴格的數據分布。Van Gestel對信用評估模型進行了研究,發現SVM算法能取得不錯的結果[2]。但是,SVM的參數并不好確定,基于這一點,我們首先使用SVM對個人的信用狀況進行評估,然后再采用遺傳算法(Genetic Algorithm,GA)進行優化,并進行了實例驗證。
2? 支持向量機算法(SVM)
支持向量機(SVM)是按監督學習的方式對數據進行二分類的一種人工智能方法,它對小樣本的數據集進行分類的效果比較好。并且,SVM還通過引入核函數使其成為了一種非線性的分類器,它的學習策略就是找到一個最優的分離超平面,然后將目標轉化為一個求解凸二次規劃最優化的問題。
SVM的目標是求解能夠正確劃分訓練數據集并且幾何間隔最大的分離超平面。圖1為SVM分類示意圖, 是分離超平面,如果只是單純的想要找到能夠將數據集劃分開的超平面,那么這樣的超平面有無數個,這也就是我們所說的感知機,但是想要找到幾何間隔最大的分離超平面卻沒那么容易,這樣的超平面也是唯一的[3]。
假設在特征空間上的訓練數據集為:
其中, , , , 為第 個特征向量, 為標簽值。
對于具備p個特征的數據,其特征向量為p維向量,SVM的目的就是找到能夠將兩類樣本點完全分離開的一個p-1維超平面。對于給定的數據集T和超平面 來說,這個超平面關于樣本點 的幾何間隔的計算公式為:
(1)
SVM所求解的超平面是使得間隔最大的超平面,SVM模型可進一步改進為:
s.t? ? ? ? ? ? ? ?(2)
其中, 為松弛變量; 表示懲罰因子,表示部分樣本能夠允許不完全被超平面完整劃分的約束強弱。
如果想要解決空間中的非線性分類問題,則可以通過非線性變換將它轉化為線性分類問題來求解。在高維特征空間內求解樣本的最優分類超平面是通過點積來計算的,即 ,我們需要找到一個函數 ,使得 。所以,我們只用將原來在低維空間中的 換成 ,然后計算點積 就可以了,這里的函數 則被稱為支持向量機的核函數。
支持向量機能夠有效解決小樣本數據的分類問題,其抗噪聲能力比較強,并且能夠有效解決非線性的問題。但是,當樣本的數據量太大的時候,模型訓練耗費的時間就會比較長。支持向量機主要是用于做分類的,還可以通過建模進行預測,比如對景區的人流量進行預測。
3? 遺傳算法(Genetic Algorithm,簡稱GA)
遺傳算法(GA)是基于生物學上“優勝劣汰,適者生存”的理論,通過設定一個適應度函數,對群體中的個體進行選擇、交叉、變異的遺傳操作,選出適應度高的個體,然后再將選出來的新個體組成一個新的群體,這樣,新群體的個體適應度就會不斷提高,直至找到我們需要的最優解,也就是群體中適應度最高的個體[4]。GA的最主要的特點就是不用對算法進行求導,并且它的自適應性也是很好的。
在使用GA的時候,第一步就是要進行編碼得到“染色體”,然后進行遺傳操作,通過選擇、交叉、變異進行搜索,找出問題的最優解,其中選擇和交叉是對算法進行優化搜索,變異用于提高算法尋優的速度。
選擇就是從種群的所有個體中挑選出合適個體的過程,可以通過計算適應度來挑選,適應度高的個體更可能被挑選出來產生下一代,與此同時,適應度低的個體則會被淘汰,這樣一代一代遺傳下去,得到的解也就越來越接近最優解。交叉就是將兩個個體的一段“染色體”進行替換和重組,然后再產生下一代的過程,交叉個體以及染色體片段的選擇都是隨機的。通過交叉,GA可以隨機搜索,得到更接近最優解的種群。變異就是隨機地改變個體的某個位置的“染色體”,首先按照一定概率判斷個體是否會發生變異,然后對于發生變異的個體,隨機改變其中的一段“染色體”。這樣做既能讓算法有局部隨機搜索的功能,還能夠增加種群的多樣性。
由于GA的解具有進化性,所以利用GA可以處理各種目標函數,尋找各種問題的最優解[5]。若當前最優個體的適應度滿足預定值或者迭代次數達到上限,則可以終止算法,即當前最優個體就是我們要找的全局最優解。遺傳算法的應用涉及多個領域,如函數優化、組合優化以及生產調度等等。
4? GA-SVM
參數的設置對于任何一個算法的建模過程來說都是很重要的一步,至于SVM算法,核函數以及懲罰因子是重要的參數[6]。引入GA以后,GA-SVM模型主要分為兩步,因為GA能夠進行全局搜索尋找最優解,所以我們首先通過GA自動尋找到最優的參數組合,并將其作為支持向量機的參數,然后使用優化后的參數進行建模。
利用GA尋找SVM中的最優參數流程如下圖2所示:
首先將SVM的參數編碼為GA的染色體,然后初始化“染色體”種群,劃分訓練集和測試集。接下來就是建立模型,運用SVM算法進行分類,并計算適應度值,然后通過一系列的遺傳操作,選出較優的個體組成新的群體,再次利用SVM進行分類,如此重復多次,直至適應度值達到預設的要求或者迭代次數達到上限,在得到優化后的參數組合后,就可以根據此參數進行建模了。
5? 實例分析
5.1? 數據描述
這里我們使用的數據一共有150000條,目標屬性用0和1表示,0表示貸款申請者正常還款,1表示貸款申請者逾期還款,自變量有10個。數據集描述如下表1:
5.2? 數據處理
在數據預處理的過程中,第一步就是查看是否有缺失值,我們采用均值填充的方法來填充缺失值;第二步通過繪制相關系數熱力圖查看各自變量之間是否存在相關性以及相關性大小,通過構建去共線性函數來消除共線性對結果的影響;第三步我們繪制出各變量的箱型圖查看是否存在異常值,然后根據箱型圖的結果構建異常值及明顯錯誤處理函數,避免因為存在異常值而影響模型的效果;第四步,由于數據集的標簽值不平衡,所以要對樣本進行重采樣,避免因為樣本數據不平衡而對結果造成影響。
5.3? 實驗結果與分析
我們先采用支持向量機算法對實例進行分析,并計算出SVM算法下的正確率(accuracy)、精準率(precision)以及AUC值,然后再利用遺傳算法的全局搜索能力不斷優化SVM的參數,最后計算在最優參數下該模型的正確率(accuracy)、精準率(precision)以及AUC值。實驗分析的結果如下表2所示:
6? 結論
由于我們的數據集中標簽值分布不均,我們要先對樣本進行重采樣處理,然后再經過一系列的數據清洗,實驗證明:用遺傳算法優化過后的GA-SVM算法的結果要好于單純SVM算法的結果。
參考文獻
[1] Lyn C Thomas.A Survey of Credit and Behavioral Scoring:Forecasting Financial Risk of Lending to Consumers[J].International Journal of Forecasting, 2000, 16: 149-172.
[2] Gestel Van,Baesens B.,Garcia J. et al.A support vettor machines approach to credit scoring[J].Bank en Financiewezen,2003,2,73-82.
[3] 馬志春,劉振永,吳淑花.基于支持向量機的光伏發電功率預測系統設計[J].現代電子技術,2021,44(10):91-94.
[4] 由睿鵬.計算機網絡優化設計中遺傳算法的原理及應用[J].電子技術與軟件工程,2020(20):14-15.
[5] 曹銀行,柳貢民,張龍.基于遺傳算法的分支管路系統動力學優化設計[J].振動與沖擊,2021,40(09):221-227+253.
[6] 吳修君. 基于組合核GA-SVM的惡意軟件檢測方法研究[D].武漢理工大學,2019.