李保安, 張雨祺,李培巒
(1.河南科技大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 河南 洛陽 471023;2.洛陽職業(yè)技術(shù)學(xué)院,河南 洛陽 471000)
作為互聯(lián)網(wǎng)信息技術(shù)所衍生的新興產(chǎn)物,移動(dòng)支付具有高效、快捷、便攜、便利等優(yōu)勢,給人們的生活帶來了便捷,也推動(dòng)著社會(huì)經(jīng)濟(jì)和其他行業(yè)的進(jìn)步。但同時(shí),移動(dòng)支付的發(fā)展過程也產(chǎn)生了政策風(fēng)險(xiǎn)、法律風(fēng)險(xiǎn)、資金安全風(fēng)險(xiǎn)等諸多問題,這些問題均可能對用戶造成資金損失,因此,尋找一種能夠?qū)σ苿?dòng)支付交易記錄進(jìn)行風(fēng)險(xiǎn)偵測的方法至關(guān)重要。
由于移動(dòng)支付仍屬于較新事物,故相應(yīng)研究文獻(xiàn)相對較少。文獻(xiàn)[1]基于粒子群算法優(yōu)化對支持向量機(jī)(support vector machine,SVM)進(jìn)行改進(jìn),用于對電子商務(wù)移動(dòng)支付風(fēng)險(xiǎn)進(jìn)行預(yù)測。文獻(xiàn)[2]使用層次分析法對農(nóng)村移動(dòng)支付風(fēng)險(xiǎn)因素進(jìn)行了研究分析。文獻(xiàn)[3]提出使用數(shù)據(jù)挖掘相關(guān)技術(shù),對多維電子商務(wù)移動(dòng)支付風(fēng)險(xiǎn)的時(shí)間序列進(jìn)行分析,構(gòu)建了預(yù)測模型。文獻(xiàn)[4]先使用威脅模型(spoofing tampering repudiation information disclosure denial of service elevation of privilege,STRIDE)建立指標(biāo)體系,再使用模糊綜合評價(jià)法對移動(dòng)支付交易進(jìn)行風(fēng)險(xiǎn)評估。文獻(xiàn)[5]對移動(dòng)支付存在的風(fēng)險(xiǎn)進(jìn)行分類并確定權(quán)重后,使用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)對移動(dòng)支付的整體風(fēng)險(xiǎn)評價(jià)程度進(jìn)行了預(yù)測。文獻(xiàn)[6]以銀聯(lián)手機(jī)閃付為例,將各種風(fēng)險(xiǎn)分類后,使用層次分析法建立各級指標(biāo)體系,并使用內(nèi)容效度比進(jìn)行指標(biāo)檢驗(yàn),最后建立了神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練驗(yàn)證和風(fēng)險(xiǎn)預(yù)測。以上對于移動(dòng)支付風(fēng)險(xiǎn)研究多是從移動(dòng)支付本身存在的風(fēng)險(xiǎn)因素進(jìn)行研究分析,而對于移動(dòng)支付交易記錄存在的風(fēng)險(xiǎn)偵測相關(guān)研究較少。
極端梯度提升樹(extreme gradient boosting,Xgboost)算法屬于Boosting集成,是基于傳統(tǒng)梯度提升算法的改進(jìn),具有防止過擬合效果好、運(yùn)算速度快、效率高等優(yōu)勢,近年來應(yīng)用廣泛,發(fā)展良好,不少學(xué)者對其進(jìn)行了改進(jìn)。文獻(xiàn)[7-8]使用隨機(jī)森林對Xgboost算法進(jìn)行了改進(jìn),使其在回歸預(yù)測上的精度得到了提升。文獻(xiàn)[9]使用改進(jìn)網(wǎng)格搜索調(diào)參改進(jìn)Xgboost算法用于個(gè)人信用評估。文獻(xiàn)[10]使用粒子群優(yōu)化改進(jìn)Xgboost模型用于高速公路服務(wù)區(qū)交通量的預(yù)測,預(yù)測性能得到提升。文獻(xiàn)[11-12]使用代價(jià)敏感激活函數(shù)改進(jìn)Xgboost算法用于處理不平衡數(shù)據(jù)分類方法,增強(qiáng)了Xgboost算法對不平衡數(shù)據(jù)的處理能力。文獻(xiàn)[13-15]利用貝斯優(yōu)化Xgboost調(diào)參提高其預(yù)測性能。綜上,大部分對于Xgboost算法的改進(jìn)是使用不同的優(yōu)化算法對其尋參調(diào)整的改進(jìn),且仍存在一定的不足,如在利用遺傳算法和隨機(jī)森林對Xgboost算法改進(jìn)時(shí),使用遺傳算法對兩模型權(quán)重進(jìn)行優(yōu)化的過程中。以均方誤差為目標(biāo)函數(shù),未兼顧到其他評價(jià)指標(biāo)[7];使用代價(jià)敏感激活函數(shù)對Xgboost算法進(jìn)行改進(jìn)用于處理不平衡數(shù)據(jù)分類方法時(shí),對誤分類代價(jià)的設(shè)置過程進(jìn)行了簡化,但導(dǎo)致了模型性能的下降[11]。
SVM作為傳統(tǒng)的機(jī)器學(xué)習(xí)算法,已有相當(dāng)多的研究和改進(jìn),文獻(xiàn)[16-18]均是對SVM進(jìn)行參數(shù)尋優(yōu)等改進(jìn),提高其預(yù)測準(zhǔn)確率后應(yīng)用于解決各種問題。另外,貝葉斯優(yōu)化是機(jī)器學(xué)習(xí)中常用且較好的調(diào)參方法,具有比傳統(tǒng)網(wǎng)格搜索更快的運(yùn)行速度及性能,已有研究使用貝葉斯優(yōu)化對Xgboost[13-15]、極限學(xué)習(xí)機(jī)[19]、LightGBM[20]模型調(diào)參優(yōu)化,優(yōu)化后的模型預(yù)測準(zhǔn)確率都有較大幅度的提升。
為了解決現(xiàn)有技術(shù)的不足,綜合上述模型及算法的優(yōu)勢,本文提出一種基于貝葉斯優(yōu)化的SVM-Xgboost組合模型,用于移動(dòng)支付交易記錄風(fēng)險(xiǎn)偵測方法。該模型使用貝葉斯優(yōu)化分別對SVM和Xgboost的參數(shù)組合進(jìn)行尋優(yōu),再將優(yōu)化后的兩模型使用堆疊法進(jìn)行組合。經(jīng)驗(yàn)證,該組合模型預(yù)測性能較改進(jìn)前的模型性能均有所提升,能夠準(zhǔn)確地對移動(dòng)支付交易記錄進(jìn)行風(fēng)險(xiǎn)偵測。
本文利用貝葉斯優(yōu)化,將SVM算法與Xgboost算法進(jìn)行組合,將兩種不同的學(xué)習(xí)方法進(jìn)行組合,可以結(jié)合兩種方法的優(yōu)點(diǎn)。
SVM是一種基于統(tǒng)計(jì)學(xué)習(xí)理論的通用算法,根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理進(jìn)行建模,主要原理是根據(jù)數(shù)據(jù)分布,選擇最大邊緣化的超平面將數(shù)據(jù)分開,即兩類數(shù)據(jù)中距離該平面最近的點(diǎn)到該平面距離最遠(yuǎn)的超平面。
具體過程如下:
步驟1:將數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。
步驟2:訓(xùn)練數(shù)據(jù)樣本為(xi,yi),共m個(gè)樣本,其中,xi為第i個(gè)樣本的屬性集,yi為類別標(biāo)號。設(shè)存在一個(gè)超平面可將樣本分開,該平面可表示為:w·x+b=0,其中,w和b為模型參數(shù)。使用特征空間的φ(x)代替x,則可表示為w·φ(x)+b=0。
(1)
其中:σ為徑向基寬度參數(shù)。
其對偶優(yōu)化問題為:
(2)
(3)
步驟4:對該對偶優(yōu)化問題求解,得最優(yōu)超平面的w和b,即可得到SVM決策函數(shù)為:
f(x)=w·φ(x)+b。
(4)
貝葉斯優(yōu)化算法[21]利用貝葉斯優(yōu)化原理,選擇概率代理模型對目標(biāo)函數(shù)進(jìn)行擬合。
隨機(jī)選擇一組參數(shù),將訓(xùn)練數(shù)據(jù)集代入該模型進(jìn)行訓(xùn)練,并使用貝葉斯優(yōu)化算法進(jìn)行參數(shù)調(diào)整,得到基于貝葉斯優(yōu)化的SVM模型,具體過程如下:
步驟1:本文選擇樹結(jié)構(gòu)概率密度估計(jì)(tree structure probability density estimation,TPE)作為概率代理模型進(jìn)行貝葉斯優(yōu)化。
定義
(5)
p(c|q)即模型損失函數(shù)為q時(shí)超參數(shù)為c的條件概率,即后驗(yàn)概率。
首先,根據(jù)已有的數(shù)據(jù)選取一個(gè)損失函數(shù)的閾值c*;然后,對大于閾值和小于閾值的數(shù)據(jù),分別學(xué)習(xí)兩個(gè)概率密度估計(jì)t(c) 和u(c)。
步驟2:本文選擇預(yù)期改進(jìn)(expected improvement,EI)作為采樣函數(shù)進(jìn)行概率密度估計(jì),并計(jì)算先驗(yàn)數(shù)據(jù)集中每個(gè)超參數(shù)的后驗(yàn)分布:
(6)
其中:q*=min{(c1,f(c1)),…,(ci,f(ci))};p(c)為c的先驗(yàn)概率;p(q|c)為c的似然概率。
(7)
最大化采集函數(shù),則u(c)/t(c)最小時(shí),得到一個(gè)新的超參數(shù)值c**,將該值重新代入SVM模型中,再次擬合t(c)和u(c),選出最大EI值對應(yīng)的超參數(shù)值,直到迭代結(jié)束,這里設(shè)置迭代次數(shù)為100次,最終選擇100次迭代中SVM準(zhǔn)確率最高的參數(shù)組合。
步驟4:將尋找到的最優(yōu)參數(shù)組合記錄下來,代入SVM模型中,可得到基于貝葉斯優(yōu)化的SVM模型。
Xgboost算法是由文獻(xiàn)[22]設(shè)計(jì)的,是基于傳統(tǒng)梯度提升算法的改進(jìn)。傳統(tǒng)梯度提升算法基本原理是根據(jù)當(dāng)前模型損失函數(shù)的負(fù)梯度信息來訓(xùn)練新加入的弱分類器,然后將訓(xùn)練好的弱分類器以累加的形式結(jié)合到現(xiàn)有模型中,得到最終預(yù)測模型。
具體過程如下:
步驟1:確定Xgboost模型迭代訓(xùn)練的目標(biāo)函數(shù)為:
(8)
(9)
(10)
其中:Ω(fk)為第k棵樹的模型復(fù)雜度;T為所建決策樹的葉子數(shù)量;ω為所建決策樹第j個(gè)葉子節(jié)點(diǎn)上的預(yù)測分?jǐn)?shù),也稱作葉子權(quán)重;γ、λ為懲罰系數(shù),默認(rèn)γ=0、λ=1。
步驟2:訓(xùn)練模型,每一次迭代,就在目標(biāo)函數(shù)中加入一個(gè)新函數(shù),第t輪,則加入新函數(shù)ft(xi),使得目標(biāo)函數(shù)降低最多,故第t輪的目標(biāo)函數(shù)為:
(11)
用泰勒公式展開取前3項(xiàng),進(jìn)行化簡,最終化簡結(jié)果為
(12)
步驟3:求目標(biāo)函數(shù)最小值,即對目標(biāo)函數(shù)求偏導(dǎo)使其等于0,求出ωj表達(dá)式,并將其代入目標(biāo)函數(shù)中,得目標(biāo)函數(shù)表達(dá)式為:
(13)
根據(jù)表達(dá)式直接探索到最優(yōu)樹結(jié)構(gòu),即能夠使目標(biāo)函數(shù)降低最多的函數(shù)ft(xi),并可求出最小值。
步驟4:最后,求得最終樣本數(shù)據(jù)的預(yù)測值:
(14)
即每次迭代所得預(yù)測結(jié)果之和,由于采用邏輯回歸的損失函數(shù),故最終預(yù)測結(jié)果表示分類概率,為[0,1]的任意一個(gè)數(shù)。
隨機(jī)選擇1組參數(shù),將訓(xùn)練數(shù)據(jù)集代入該模型進(jìn)行訓(xùn)練,并使用貝葉斯優(yōu)化算法進(jìn)行參數(shù)調(diào)整,得到基于貝葉斯優(yōu)化的Xgboost模型,具體步驟與貝葉斯優(yōu)化SVM相似,詳細(xì)過程見1.2。
采用堆疊法將兩模型進(jìn)行融合,建立基于SVM-Xgboost的組合模型,將訓(xùn)練數(shù)據(jù)集代入模型進(jìn)行訓(xùn)練后,代入測試數(shù)據(jù)集,得到最終預(yù)測結(jié)果,具體模型融合過程如下:
步驟1:將上述兩個(gè)模型在訓(xùn)練數(shù)據(jù)集上所產(chǎn)生的結(jié)果作為新的訓(xùn)練集,使用邏輯回歸模型對其進(jìn)行訓(xùn)練,也就是將上述兩模型的答案作為輸入,通過邏輯回歸給上述兩個(gè)模型的答案分配權(quán)重。
步驟2:將測試數(shù)據(jù)集導(dǎo)入上述兩個(gè)模型,分別得到預(yù)測類別概率值,作為新的測試集。
步驟3:使用步驟1訓(xùn)練好的邏輯回歸模型,將步驟2得到的特征值代入該邏輯回歸模型,進(jìn)行預(yù)測,得出最終測試集上的預(yù)測類別或概率。
算法具體流程圖如圖1所示。
圖1 算法流程圖
實(shí)證數(shù)據(jù)集來源于kaggle平臺(tái),共有1 048 575條數(shù)據(jù),其中1 142條數(shù)據(jù)有風(fēng)險(xiǎn),類別標(biāo)簽為1,其余為無風(fēng)險(xiǎn)數(shù)據(jù),類別標(biāo)簽為0。由此可知,該數(shù)據(jù)集比例極不平衡,但這與現(xiàn)實(shí)生活相符,因?yàn)橐苿?dòng)支付風(fēng)險(xiǎn)交易為一類“小概率大風(fēng)險(xiǎn)”的事件。該數(shù)據(jù)集包含10個(gè)屬性列,1個(gè)標(biāo)簽列,屬性列包括時(shí)間、交易類型(X1)、交易金額(X2)、交易發(fā)起方姓名、交易前本金(X3)、交易后本金(X4)、交易接收方身份、交易前接收方本金(X5)、交易后接收方本金(X6)、單次交易是否超過20萬(X7)、標(biāo)簽列為交易風(fēng)險(xiǎn)(Y),具體類別變量及含義如表 1 所示。
表1 類別變量及含義
該數(shù)據(jù)集不存在缺失值和重復(fù)值,刪除無關(guān)變量如時(shí)間、交易發(fā)起方姓名、交易接收方身份。由于該數(shù)據(jù)集中數(shù)據(jù)量充足,但出現(xiàn)風(fēng)險(xiǎn)的數(shù)據(jù)過少,數(shù)據(jù)極不平衡,故采用隨機(jī)欠采樣的方式對數(shù)據(jù)進(jìn)行采樣預(yù)處理,即隨機(jī)刪除大樣本數(shù)據(jù)量,保留小樣本數(shù)據(jù),使得兩類數(shù)據(jù)達(dá)到平衡,并將數(shù)據(jù)集的70%作為訓(xùn)練集,30%作為測試集。
將測試數(shù)據(jù)集代入建立好的基于貝葉斯優(yōu)化的SVM-Xgboost組合模型中,進(jìn)行檢驗(yàn),檢驗(yàn)指標(biāo)包括準(zhǔn)確率、召回率、接受者操作特性(receiver operating characteristic,ROC)曲線及ROC曲線下的面積(area under curve,AUC)值。準(zhǔn)確率表示預(yù)測正確的樣本數(shù)占總樣本數(shù)中的比例,召回率表示模型正確預(yù)測的交易記錄存在風(fēng)險(xiǎn)的樣本數(shù)占所有實(shí)際交易記錄存在風(fēng)險(xiǎn)的樣本數(shù),AUC值為ROC曲線與X軸和Y軸在右下方圍成的面積,該值越大則模型預(yù)測性能越好。具體計(jì)算如下:
(15)
(16)
ROC曲線及AUC值。
其中:TP是實(shí)際為正樣本且預(yù)測為正樣本的樣本數(shù);TN是實(shí)際為正樣本且預(yù)測為負(fù)樣本的樣本數(shù);FP是實(shí)際為負(fù)樣本但預(yù)測為正樣本的樣本數(shù);FN是實(shí)際為正樣本但預(yù)測為負(fù)樣本的樣本數(shù)。
分別運(yùn)用訓(xùn)練好的未改進(jìn)的SVM、貝葉斯優(yōu)化的SVM、未改進(jìn)的Xgboost、貝葉斯優(yōu)化的Xgboost和貝葉斯優(yōu)化的SVM-Xgboost對測試數(shù)據(jù)集進(jìn)行預(yù)測,預(yù)測結(jié)果如表2所示,ROC曲線如圖2所示。
表2 模型結(jié)果
由表2可知:基于貝葉斯優(yōu)化的SVM-Xgboost組合模型的準(zhǔn)確率為97.3%,該模型較單個(gè)模型在準(zhǔn)確率上分別提升17.4%、0.8%,即模型分類預(yù)測的準(zhǔn)確性有較大提升;召回率分別提升40.7%、3.0%,即樣本中有風(fēng)險(xiǎn)的記錄被預(yù)測正確的比率有較大提升;AUC值分別提升16.4%、0.8%,可見基于貝葉斯優(yōu)化的SVM-Xgboost模型對于移動(dòng)支付風(fēng)險(xiǎn)偵測具有良好性能。
圖2 ROC曲線
ROC曲線如圖2所示,圖2中,橫坐標(biāo)為假正率,即預(yù)測為正的負(fù)樣本數(shù)與負(fù)樣本實(shí)際數(shù)之比;縱坐標(biāo)為真正率,與召回率計(jì)算公式相同,表示模型預(yù)測正樣本數(shù)占所有實(shí)際正樣本數(shù)的比例。該曲線越靠近左上角則模型性能越好。由圖2可知:基于貝葉斯優(yōu)化的SVM-Xgboost模型ROC曲線更靠近左上角,性能更好。
本文通過建立基于貝葉斯優(yōu)化的SVM-Xgboost模型對移動(dòng)支付交易記錄是否存在風(fēng)險(xiǎn)進(jìn)行偵測,其中所使用的貝葉斯優(yōu)化相較于傳統(tǒng)的網(wǎng)格搜索和隨機(jī)搜索效率更高,且具有不容易陷入局部最優(yōu)的特點(diǎn)。Xgboost算法運(yùn)行效率更高,泛化能力更強(qiáng),且具有良好的防止過擬合效果。SVM是基于統(tǒng)計(jì)學(xué)習(xí)理論的通用算法,使用核技術(shù),使其處理非線性問題功能強(qiáng)大,其算法結(jié)構(gòu)簡單,易于操作,3者進(jìn)行結(jié)合,建立基于貝葉斯優(yōu)化的SVM-Xgboost組合模型能夠使三者的優(yōu)勢進(jìn)行融合,得到更好的移動(dòng)支付風(fēng)險(xiǎn)偵測模型,可以進(jìn)一步改善預(yù)測效果。
該模型可用于移動(dòng)支付領(lǐng)域交易風(fēng)險(xiǎn)的偵測,可以根據(jù)交易類型、交易金額、交易前本金、交易后本金等變量來推測出該筆交易是否存在風(fēng)險(xiǎn),可以及時(shí)給予用戶反饋提醒,提高用戶警惕,及時(shí)追回支付金額,減少用戶經(jīng)濟(jì)損失。