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