趙 峰,李妞妞
(安徽工業(yè)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 馬鞍山 243032)
隨著互聯(lián)網(wǎng)和電子商務(wù)的發(fā)展,人們逐漸使用信用卡進(jìn)行無現(xiàn)金交易,信用卡交易的普遍化,雖然極大程度地使用戶與商家間的交易更為便利和快捷,但在優(yōu)勢(shì)顯著的同時(shí),也帶來了一些潛在性的危害.信用卡使用率的增長,使得信用卡欺詐現(xiàn)象愈發(fā)嚴(yán)重,全世界每年的損失金額達(dá)數(shù)百億美元[1].根據(jù)尼爾森報(bào)告,2018年全球各國家的信用卡欺詐總額損失將超過 310 億美元.由于信用卡交易數(shù)據(jù)量大、功能多、不平衡性高(正常樣本數(shù)量遠(yuǎn)高于欺詐樣本數(shù)量),為了避免信用卡欺詐帶來的巨大經(jīng)濟(jì)損失,金融機(jī)構(gòu)迫切地需要一個(gè)能夠良好有效地阻止欺詐交易的欺詐檢測(cè)系統(tǒng),很多專家、學(xué)者都在致力于欺詐檢測(cè)方法的研究.面對(duì)當(dāng)前現(xiàn)狀,如何快速準(zhǔn)確地實(shí)現(xiàn)信用卡欺詐行為的檢測(cè)具有重要意義.當(dāng)前如隨機(jī)森林、邏輯回歸、極端梯度提升、決策樹等機(jī)器學(xué)習(xí)方法及神經(jīng)網(wǎng)絡(luò)與集成學(xué)習(xí)的深度學(xué)習(xí)方法的結(jié)合使用是當(dāng)前研究信用卡欺詐檢測(cè)主要方法.如Zhang等利用支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、梯度增強(qiáng)決策樹、隨機(jī)森林和邏輯回歸,提出了一種訓(xùn)練后利用遺傳算法選擇分類器的新方法[2].Bhatia等將LDA、邏輯回歸、隨機(jī)森林和XGBoost進(jìn)行組合來實(shí)現(xiàn)信用評(píng)估模型[3].黃鏡霖通過集成隨機(jī)森林(RF)、極端梯度提升算法(XGBoost)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)三種較為先進(jìn)的分類模型,結(jié)合多元特征的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)多個(gè)維度的融合[4].
信用卡欺詐檢測(cè)屬于不平衡分類問題,其中正常交易的樣本數(shù)量遠(yuǎn)多于欺詐交易樣本數(shù)量,研究的重點(diǎn)是能否正確識(shí)別屬于欺詐行為的交易樣本,數(shù)據(jù)分布不對(duì)稱問題極大地影響欺詐檢測(cè)方法的有效性.目前樣本分布不對(duì)稱問題可從數(shù)據(jù)、算法及評(píng)價(jià)指標(biāo)三個(gè)方面進(jìn)行改善,本文將從數(shù)據(jù)層面解決.數(shù)據(jù)方面上主要是采樣方法的選擇,單獨(dú)的過采樣[5]、欠采樣以及在此基礎(chǔ)上改進(jìn)的合成少數(shù)類過采樣技術(shù)[6]在對(duì)不平衡數(shù)據(jù)的處理上雖然都有各自的優(yōu)缺點(diǎn),但是總體上沒有混合采樣的效果好,混合采樣在提高分類結(jié)果的同時(shí)還可以去除重疊樣本,因此本文將采用混合采樣處理數(shù)據(jù).此外在實(shí)際應(yīng)用中,信用卡欺詐數(shù)據(jù)集一般有大容量、高維度、不平衡等問題,本文將從數(shù)據(jù)分布不均衡和特征選擇方面處理: 一方面使用混合采樣改善數(shù)據(jù)分類偏向問題; 另一方面采用編碼器進(jìn)行特征提取分類.即混合采樣平衡數(shù)據(jù)后,在通過自編碼器自動(dòng)提取隱含的信用卡用戶消費(fèi)行為特征,將自編碼器提取的特征通過隨機(jī)森林算法判斷信用卡用戶是否存在欺詐,最終將自編碼器和隨機(jī)森林分類器組合起來構(gòu)建完整的信用卡欺詐模型.隨機(jī)森林能并行化計(jì)算和處理高維特征數(shù)據(jù)集的優(yōu)點(diǎn)使其在該領(lǐng)域相比其他算法具有更大的優(yōu)勢(shì),本文采用隨機(jī)森林和自編碼器結(jié)合進(jìn)行信用卡欺詐檢測(cè).
本文提出的信用卡欺詐檢測(cè)方法主要包括以下三方面內(nèi)容:1)Smote-Enn算法平衡數(shù)據(jù);2)自編碼提取特征表示;3)RF欺詐分類檢測(cè);4)本文欺詐檢測(cè)算法流程.
混合采樣就是結(jié)合過采樣和欠采樣對(duì)數(shù)據(jù)進(jìn)行平衡化處理,欠采樣對(duì)多數(shù)類刪減來使數(shù)據(jù)達(dá)到平衡,而過采樣通過增加少數(shù)類使數(shù)據(jù)達(dá)到平衡.應(yīng)用Smote-Enn混合采樣算法平衡信用卡數(shù)據(jù)集.作為一種運(yùn)用近鄰的思想解決數(shù)據(jù)集分布不均衡的方法[7],SMOTE算法主要利用插值原理通過增加隨機(jī)噪聲的方式來改善過擬合問題.先尋找每一個(gè)離少數(shù)類樣本x最近的k個(gè)少數(shù)類樣本,然后指定采樣倍率N,在k個(gè)最近鄰樣本中隨機(jī)選出N個(gè)樣本,記為y1,y2,yN,在原始數(shù)據(jù)基礎(chǔ)上,通過算法產(chǎn)生新樣本zi,實(shí)現(xiàn)現(xiàn)有數(shù)據(jù)集的擴(kuò)展.公式和算法合成示意圖(圖1)如下:
zi=x+random(0.1)×(yi-x)
(1)
其中:i=1,2...,N,random(0,1)表示0~1之間的隨機(jī)數(shù);欠采樣(Edited Nearest Neighbor, ENN):一種啟發(fā)式的下采樣方法,ENN 首先取整個(gè)數(shù)據(jù)集作為要"編輯"的數(shù)據(jù)集,對(duì)于集合中的每一個(gè)多數(shù)類樣本,考察它的k個(gè)近鄰,如果其K個(gè)近鄰點(diǎn)有過半不屬于該類,則刪除該樣本,也可以描述為在三個(gè)最近鄰樣本中,如果有兩個(gè)或者兩個(gè)以上類別不同的樣本,就將它們刪去.針對(duì)信用卡用戶數(shù)據(jù)中欺詐數(shù)據(jù)和正常數(shù)據(jù)不平衡問題,本文使用混合采樣Smote-Enn算法平衡數(shù)據(jù),對(duì)不平衡數(shù)據(jù)重新構(gòu)建.
圖1 Smote算法合成示意圖
在信用卡欺詐數(shù)據(jù)的分類檢測(cè)任務(wù)中,特征選擇和處理對(duì)最終的檢測(cè)效果來說十分重要,各個(gè)特征是分類器獲得信息的主要來源,選擇有用的特征可幫助分類器更好地掌握訓(xùn)練集的信息,本文選擇無監(jiān)督深度學(xué)習(xí)模型—自編碼器進(jìn)行特征選擇.
自編碼模型經(jīng)過訓(xùn)練,可學(xué)習(xí)到數(shù)據(jù)中有效的新特征.結(jié)構(gòu)包括輸入層、隱藏層、輸出層,主要工作由編碼和解碼兩部分完成,如圖2所示.其中, 輸入層映射到隱藏層進(jìn)行維度壓縮構(gòu)成編碼, 隱藏層到輸出層的映射構(gòu)成解碼部分.自編碼器的原理就是一種嘗試更新網(wǎng)絡(luò)參數(shù)使得輸出值等于輸入值的神經(jīng)網(wǎng)絡(luò),它先將輸入壓縮成潛在空間表征,然后通過這種表征來重構(gòu)輸出.
圖2 自編碼器網(wǎng)絡(luò)結(jié)構(gòu)圖
本文首先在對(duì)數(shù)據(jù)混合采樣預(yù)處理平衡后,在使用自編碼器獲取原數(shù)據(jù)的自編碼特征,在將提取到的特征與原特征結(jié)合,進(jìn)一步強(qiáng)化數(shù)據(jù)特征表示效果,文獻(xiàn)[1]表明自編碼特征可以有效加強(qiáng)對(duì)數(shù)據(jù)特征的表示效果.
對(duì)構(gòu)建后的平衡數(shù)據(jù)集D={x1,x2,…,xn}訓(xùn)練自編碼網(wǎng)絡(luò):
編碼過程:Z=s(wx+b)解碼過程:x′=s(w′x+b′)
其中:w、w′為權(quán)重矩陣,b、b′為偏置項(xiàng),s(x)為激活函數(shù),通常取線性函數(shù)或者Sigmoid函數(shù),即
(2)
自編碼器先對(duì)輸入向量x編碼得到編碼結(jié)果z, 再對(duì)z解碼得到重構(gòu)向量.其過程是無監(jiān)督學(xué)習(xí), 目標(biāo)是實(shí)現(xiàn)輸出數(shù)據(jù)與輸入數(shù)據(jù)表達(dá)一致, 使重構(gòu)誤差最小化.重構(gòu)誤差用H(x,y)表示:
(3)
損失函數(shù)用J(Ω)表示:
(4)
其中:Ω為網(wǎng)絡(luò)參數(shù),Ω=w,w′,b,b′,采用梯度下降法訓(xùn)練.迭代更新至參數(shù)Ω收斂.自動(dòng)編碼器是一種數(shù)據(jù)壓縮算法,訓(xùn)練過程旨在優(yōu)化重構(gòu)誤差,所以使用MSE損失函數(shù)進(jìn)行優(yōu)化:
(5)
編碼階段對(duì)特征提取通過將高維數(shù)據(jù)映射成低維來實(shí)現(xiàn), 解碼則是對(duì)編碼結(jié)構(gòu)的互換, 二者結(jié)合實(shí)現(xiàn)對(duì)輸入數(shù)據(jù)的重現(xiàn)[9].
Leo Breiman結(jié)合Bagging 算法和Random Subspace 算法在2001年首次提出隨機(jī)森林的概念,隨機(jī)森林是將獨(dú)立的多棵決策樹組織起來進(jìn)行集成學(xué)習(xí)的一種方法.主要采用bootstrap重采樣技術(shù),先對(duì)輸入數(shù)據(jù)進(jìn)行部分隨機(jī)抽取,再對(duì)特征向量進(jìn)行部分隨機(jī)抽取[10].本文將自編碼器提取的信用卡用戶信息特征作為輸入,運(yùn)用隨機(jī)森林分類器判斷信用卡用戶是否存在欺詐嫌疑.隨機(jī)森林決策樹可處理分類問題和回歸問題,類型可分為ID3表示為信息增益、C4.5指信息增益率和CART基尼系數(shù)三種.本文采用分類與回歸隨機(jī)森林決策樹.
CART 分類樹根據(jù)每個(gè)節(jié)點(diǎn)在給定特征條件下的基尼系數(shù)大小來選擇特征.基尼系數(shù)用來衡量隨機(jī)變量的不確定度大小,其值越小代表數(shù)據(jù)集的不確定度越小.給定樣本集C,其中樣本集可分為類,則樣本集的基尼系數(shù)為:
(6)
其中:|Ck|為屬于k類的樣本數(shù)量.設(shè)D是樣本集的一個(gè)特征屬性,d為特征D的一個(gè)可能取值,則根據(jù)樣本的特征屬性D是否可取,可將樣本集劃分為C1和C2.在特征D條件下,樣本的基尼系數(shù)為:
(7)
隨機(jī)森林是一個(gè)組合分類器,基本原理主要是利用Bootstrapping中的Bagging將一些決策樹組合在一起,當(dāng)對(duì)一個(gè)樣本進(jìn)行分類時(shí),在分裂而成的每一棵決策樹上都進(jìn)行投票,最后綜合所有投票,將對(duì)應(yīng)得票數(shù)最高的那一個(gè)類別輸出,并且以該類別作為最終的預(yù)測(cè)結(jié)果.
基于混合采樣和自編碼器的欺詐用戶檢測(cè)方法和流程圖如圖3.
圖3 基于混合采樣和自編碼器的信用卡欺詐檢測(cè)模型總體框架
1)獲取用戶的歷史消費(fèi)數(shù)據(jù),采用Smote算法對(duì)欺詐類樣本進(jìn)行過采樣,采用Enn方法對(duì)非欺詐樣本數(shù)據(jù)進(jìn)行清洗去除重疊樣本,對(duì)數(shù)據(jù)進(jìn)行清洗.
2)運(yùn)用式(1)對(duì)原始數(shù)據(jù)進(jìn)行歸一化預(yù)處理.并將隨機(jī)處理后的數(shù)據(jù)80%分為訓(xùn)練集,20%分為測(cè)試集.
3)確定自編碼器的結(jié)構(gòu),如網(wǎng)絡(luò)層數(shù)、神經(jīng)元數(shù)和輸入輸出向量個(gè)數(shù)等,確定激活函數(shù)和優(yōu)化器,對(duì)自編碼器運(yùn)用反向傳播算法進(jìn)行訓(xùn)練,采用自編碼器方法分別對(duì)訓(xùn)練集和測(cè)試集進(jìn)行特征提取,獲取信用卡用戶欺詐行為特征.
4)訓(xùn)練結(jié)束保存結(jié)果,得到特征向量后運(yùn)用自編碼器提取的特征構(gòu)造N棵決策樹,用集成學(xué)習(xí)的方法將N棵決策樹集成為隨機(jī)森林,保存模型.
5)將測(cè)試集輸入到訓(xùn)練好的模型進(jìn)行預(yù)測(cè),計(jì)算相關(guān)的準(zhǔn)確率、召回率并、F1值并與其他方法對(duì)比評(píng)價(jià)模型的有效性.
在分類過程中不平衡數(shù)據(jù)很容易被錯(cuò)分,因此評(píng)價(jià)準(zhǔn)則對(duì)分類器的性能好壞和最終結(jié)果評(píng)判起著重要作用,為了對(duì)數(shù)據(jù)集檢測(cè)效果有一定的評(píng)價(jià)標(biāo)準(zhǔn),本文將采用 3個(gè)評(píng)價(jià)指標(biāo),分別是召回率(Recall)即表示被正確檢測(cè)為欺詐的數(shù)據(jù)樣本占所有欺詐數(shù)據(jù)樣本的比例,F(xiàn)1得分(F1-Score)是衡量精確率和召回率的調(diào)和均值,能夠綜合衡量欺詐檢測(cè)模型的性能,精確率(Precision)即表示所有被檢測(cè)為欺詐的樣本中實(shí)際為欺詐的比例.我們通過混淆矩陣的方式對(duì)這些指標(biāo)的計(jì)算進(jìn)行說明,混淆矩陣見表1.
1)精確率的計(jì)算為:
2)召回率的計(jì)算為:
3)F1-Score的計(jì)算為:
表1 信用卡欺詐檢測(cè)的混淆矩陣
本文在實(shí)驗(yàn)階段采用ULB公開的信用卡欺詐數(shù)據(jù)集,如表2所示.數(shù)據(jù)集使用CSV文件存儲(chǔ),數(shù)據(jù)樣本中類別0表示正常數(shù)據(jù),1代表欺詐數(shù)據(jù).欺詐檢測(cè)數(shù)據(jù)集中每條樣本數(shù)據(jù)由經(jīng)過PCA主成分分析處理后的30個(gè)數(shù)值型特征屬性組成,共有284 807條數(shù)據(jù)樣本,其中標(biāo)簽為1的欺詐數(shù)據(jù)樣本僅492條,欺詐數(shù)據(jù)比例為0.172%,數(shù)據(jù)集嚴(yán)重不平衡如圖4所示.
表2 信用卡交易數(shù)據(jù)描述
圖4 非欺詐和欺詐交易樣本分布圖
表3 實(shí)驗(yàn)數(shù)據(jù)集統(tǒng)計(jì)信息
表4 模型評(píng)估指標(biāo)值
本文采用不同的采樣方法平衡數(shù)據(jù),召回率,精確率,F(xiàn)1得分三個(gè)指標(biāo)衡量數(shù)據(jù),隨機(jī)森林分類器訓(xùn)練比較,由表5可知RUS方法的召回率0.89最高,但是其F1得分和精確率太低使得模型誤差較大;Smote_Enn的混合采樣在召回率和F1得分上雖然和單獨(dú)Smote采樣方法得到的結(jié)果一樣,但是混合采樣下的精確率稍高于單獨(dú)Smote過采樣,因此我們認(rèn)為基于混合采樣的隨機(jī)森林在欺詐檢測(cè)上表現(xiàn)較好.
表5 使用不同采樣方法時(shí)隨機(jī)森林的實(shí)驗(yàn)結(jié)果
為了驗(yàn)證自編碼在信用卡欺詐檢測(cè)中的效果,在對(duì)數(shù)據(jù)平衡化處理后添加自編碼器進(jìn)行提取特征.然后采用隨機(jī)森林模型進(jìn)行驗(yàn)證.表6為使用 Auto-Encoder對(duì)數(shù)據(jù)進(jìn)行自編碼特征表示后,使用RF方法在信用卡數(shù)據(jù)上欺詐檢測(cè)的實(shí)驗(yàn)結(jié)果.由表可知此時(shí)模型的精確率和召回率及F1得分都得到了提升,整體欺詐檢測(cè)效果也得到了改善.此外通過自編碼器提取特征,可有效降低傳統(tǒng)人工特征挑選和構(gòu)造所消耗的時(shí)間及運(yùn)行時(shí)間.
表6 使用自編碼器時(shí)隨機(jī)森林的實(shí)驗(yàn)結(jié)果
此外通過查閱相關(guān)文獻(xiàn)資料,可得到多個(gè)文獻(xiàn)中不同方法的評(píng)估結(jié)果,與本文評(píng)估模型對(duì)比結(jié)果如下:
由表7可知,文獻(xiàn)[9]方法中的召回率最高,其采用的是降噪后基于卷積神經(jīng)網(wǎng)絡(luò)探索欺詐模式的方法,該方法降噪后提升了模型訓(xùn)練效果使得其召回率較高,但是本文方法在精確率和F1值,AUC值方面的檢測(cè)結(jié)果均優(yōu)于文獻(xiàn)[9-11],說明文章方法還有待改善,接下來將特征工程與其他智能優(yōu)化算法結(jié)合進(jìn)行研究,提高分類器性能改善檢測(cè)結(jié)果.
表7 與其他方法對(duì)比結(jié)果
本文以ULB公開的信用卡交易數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),將混合采樣和自編碼器結(jié)合解決分類器檢測(cè)欺詐行為時(shí)分類性能較差的問題, 該法通過混合采樣平衡數(shù)據(jù)集,自編碼器降維提取特征,并與其他方法對(duì)比分析表明本方法在信用卡欺詐檢測(cè)方面表現(xiàn)良好.但本文提出的對(duì)信用卡欺詐行為檢測(cè)的評(píng)估模型僅在本文選用的數(shù)據(jù)集體現(xiàn)了優(yōu)良的性能和極好地泛化能力,可能具有一定的局限性,不具有廣泛性.此外雖然采用自編碼降維提取特征進(jìn)行分析提高了分類性能但是實(shí)驗(yàn)數(shù)據(jù)量還是較大使得運(yùn)算時(shí)間太長,因此下一步的工作可以從以下兩個(gè)方面進(jìn)行研究:一方面如何進(jìn)一步提高欺詐檢測(cè)模型的分類學(xué)習(xí)能力,使得模型能夠具有更強(qiáng)的適應(yīng)性和通用性,另一方面如何將該模型和其他學(xué)習(xí)方法相結(jié)合,降低模型運(yùn)行時(shí)間,后續(xù)將針對(duì)這些問題不斷探索和改進(jìn).