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