田紅鵬,韋 甜
西安科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,西安 710600
區(qū)塊鏈技術(shù)的快速發(fā)展引起了政府部門、金融機(jī)構(gòu)、科技企業(yè)和資本市場(chǎng)的廣泛關(guān)注,相應(yīng)的虛擬貨幣金融欺詐現(xiàn)象也層出不窮[1],主要包括賬戶資金被盜[2]、一幣多用[3]、可追溯性差[4]等。由于虛擬貨幣的匿名性和隱私性,執(zhí)法部門在追蹤可疑交易時(shí)遇到額外障礙[5-6]。神經(jīng)網(wǎng)絡(luò)及機(jī)器學(xué)習(xí)在復(fù)雜多變量系統(tǒng)的處理能力[7]和預(yù)測(cè)[8]等領(lǐng)域取得了良好的效果,因而利用神經(jīng)網(wǎng)絡(luò)及機(jī)器學(xué)習(xí)技術(shù)檢測(cè)金融欺詐是未來(lái)的趨勢(shì)。
傳統(tǒng)區(qū)塊鏈欺詐檢測(cè)方法通過人工規(guī)則和靜態(tài)閾值來(lái)標(biāo)記可疑交易地址[9],但由于欺詐者不斷調(diào)整欺詐規(guī)則,混淆靜態(tài)規(guī)則從而繞過審查,因此人工靜態(tài)規(guī)則存在一定的局限性[10]。喻文強(qiáng)等人[11]通過機(jī)器學(xué)習(xí)的方法來(lái)檢測(cè)匿名化實(shí)體欺詐行為和龐氏騙局等問題。Weber 等人[12]發(fā)布由20 萬(wàn)組比特幣交易樣本所構(gòu)成的數(shù)據(jù)集,并評(píng)估多種有監(jiān)督機(jī)器學(xué)習(xí)模型,實(shí)驗(yàn)結(jié)果表明機(jī)器學(xué)習(xí)模型具有收斂速度快優(yōu)點(diǎn)。Monamo等人[13]研究裁剪k-均值聚類在無(wú)監(jiān)督犯罪檢測(cè)中的準(zhǔn)確率。林偉寧等人[14]提出基于PCA 和隨機(jī)森林分類的入侵檢測(cè)算法,提高了欺詐檢測(cè)的準(zhǔn)確性。雖然機(jī)器學(xué)習(xí)收斂速度很快,但由于虛擬貨幣交易系統(tǒng)復(fù)雜、欺詐手段多變影響了機(jī)器學(xué)習(xí)模型對(duì)欺詐網(wǎng)絡(luò)的有效判斷,導(dǎo)致假陽(yáng)性過高,檢測(cè)準(zhǔn)確率較低等問題。神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)能力,能夠充分提取時(shí)間和空間的有效信息,所以在欺詐檢測(cè)領(lǐng)域具有發(fā)展前景。Kurshan等人[15]提出使用圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)空間交易拓?fù)浣Y(jié)構(gòu)的有效信息,提高金融欺詐檢測(cè)的準(zhǔn)確率。Qian 等人[16]結(jié)合比特幣網(wǎng)絡(luò)交易節(jié)點(diǎn)的自身特征和鄰域特征,提出無(wú)監(jiān)督特征融合異常交易檢測(cè)的方法,提高了異常交易的檢測(cè)能力。張昊等人[17]對(duì)比現(xiàn)有的基于深度學(xué)習(xí)的入侵檢測(cè)模型,指出在數(shù)據(jù)集時(shí)效、普適性、模型等方面依然存在準(zhǔn)確和實(shí)時(shí)性較低的問題。文獻(xiàn)[18]模擬人腦處理信息方式,設(shè)計(jì)了多層自適應(yīng)模塊化神經(jīng)網(wǎng)絡(luò),以自適應(yīng)確定模塊及神經(jīng)元的數(shù)量,且學(xué)習(xí)精度高泛化能力強(qiáng)。相對(duì)于機(jī)器學(xué)習(xí),雖然神經(jīng)網(wǎng)絡(luò)能夠得到更高的準(zhǔn)確率,但由于區(qū)塊鏈交易去中心化的特性,缺乏大量非法交易數(shù)據(jù),導(dǎo)致上述依賴大量學(xué)習(xí)樣本的神經(jīng)網(wǎng)絡(luò)難以有效檢測(cè)區(qū)塊鏈的欺詐行為。
針對(duì)數(shù)據(jù)特征多的問題,本文采用改進(jìn)的稀疏去噪自編碼器(sparse denoising autoencoder,DAE)將高維空間的輸入數(shù)據(jù)映射到低維空間,以實(shí)現(xiàn)數(shù)據(jù)降維。其次對(duì)于交易復(fù)雜的問題,本文根據(jù)欺詐交易節(jié)點(diǎn)呈現(xiàn)出一定關(guān)聯(lián)的事實(shí),提出一種模塊化決策森林(modular decision forest,MDF)算法,采用一種數(shù)據(jù)概率密度峰值以確定聚類中心個(gè)數(shù)[19],再結(jié)合模糊C均值(fuzzy Cmeans,F(xiàn)CM)聚類算法將數(shù)據(jù)分解為多組子數(shù)據(jù)。每個(gè)子數(shù)據(jù)將會(huì)采用多個(gè)決策樹模型進(jìn)行學(xué)習(xí),邊緣分界明確的樣本將會(huì)在一組決策樹中學(xué)習(xí),而對(duì)于模糊邊界樣本,則會(huì)由多個(gè)不同類別的決策樹集成學(xué)習(xí)。最后,本文分別對(duì)Elliptic 和Ethereum 欺詐交易數(shù)據(jù)集分類,驗(yàn)證所提模型的性能。
基于MDF 的交易欺詐檢測(cè)模型包括數(shù)據(jù)集預(yù)處理、特征提取網(wǎng)絡(luò)和模塊化決策森林分類三大部分。首先預(yù)處理虛擬貨幣交易數(shù)據(jù)。然后訓(xùn)練特征提取網(wǎng)絡(luò),訓(xùn)練過程為改進(jìn)的DAE 降低數(shù)據(jù)維度并提取數(shù)據(jù)特征。在建立特征庫(kù)后,使用快速聚類算法結(jié)合FCM 將數(shù)據(jù)分成不同的子模塊,然后由不同的分類器構(gòu)建分類集,最后通過投票得出分類結(jié)果。交易欺詐檢測(cè)流程如圖1所示。
圖1 交易欺詐檢測(cè)結(jié)構(gòu)示意圖Fig.1 General diagram of transaction fraud detection process
稀疏去噪自編碼網(wǎng)絡(luò)的出現(xiàn)是在標(biāo)準(zhǔn)自編碼網(wǎng)絡(luò)的基礎(chǔ)上做了進(jìn)一步的改進(jìn),其基本原理[20]:DAE 與傳統(tǒng)的編碼器不同之處在于去噪自編碼器的隱層特征表示是對(duì)輸入數(shù)據(jù)“損壞”。為了更好地顯示數(shù)據(jù)的原始特征,因此加入KL(Kullback Leibler)散度[21]以此來(lái)優(yōu)化稀疏編碼過程。如圖2表示去噪散度特征提取網(wǎng)絡(luò),其結(jié)構(gòu)包括噪聲輸入、稀疏散度計(jì)算、編碼器和解碼器。去噪自編碼器就是向輸入數(shù)據(jù)引入高斯噪聲,通過學(xué)習(xí)去除高斯噪聲以盡可能獲得原始輸入,使提取到的特征更能反映原始輸入的特點(diǎn),減少噪聲干擾。去噪稀疏自編碼器的訓(xùn)練主要流程分為以下兩個(gè)過程:
圖2 去噪散度特征提取網(wǎng)絡(luò)Fig.2 Denoising dispersion feature extraction network
(1)加入噪聲
首先對(duì)原始信號(hào)x輸入高斯噪聲,得到受損信息x?,編碼后映射到隱含層,最后經(jīng)過解碼函數(shù)將處理后的信息映射到輸出層獲得重構(gòu)信號(hào)x?。公式如下:
對(duì)于給定的n個(gè)訓(xùn)練樣本x={x1,x2,…,xn}的每個(gè)樣本xi,xi=[x1,x2,…,xn]T,編碼器將輸入向量x經(jīng)過Sigmoid激活函數(shù)轉(zhuǎn)換為隱藏層編碼表示h={h1,h2,…,hn},其中表達(dá)式為:
其中,x和h分別是D維和d維向量;W(1)為d×D維的權(quán)重矩陣;b(1)為d維偏置向量;Sf是激活函數(shù)。隱藏層編碼向量h被解碼器轉(zhuǎn)換為重構(gòu)向量?,?=
其中,?是D維向量;W(2)為D×d維的權(quán)重矩陣;b(2)為D維偏置向量。
(2)高度還原真實(shí)特征
去噪自編碼器的訓(xùn)練目標(biāo)是通過不斷優(yōu)化模型參數(shù)θ={w(1),b(1),w(2),b(2)}以使得重構(gòu)誤差最小。當(dāng)x為實(shí)數(shù)時(shí),選擇均方誤差(MSE)用作標(biāo)準(zhǔn)的自動(dòng)編碼器損失函數(shù)較為合理。
數(shù)據(jù)特征對(duì)欺詐檢測(cè)結(jié)果至關(guān)重要。為了更好地將表達(dá)數(shù)據(jù)特征,本文引入代價(jià)函數(shù)增加KL 散度以此來(lái)優(yōu)化稀疏編碼過程。通過二者的結(jié)合,可擁有接近先驗(yàn)分布(自然統(tǒng)計(jì)概率)并可以描述輸入特征。
KL散度計(jì)算公式為:
其中,DKL為度量?jī)蓚€(gè)概率分布函數(shù)之間的“距離”,p(x)為期望數(shù)據(jù)分布,q(x)為初始數(shù)據(jù)特征分布。以上兩種分布的匹配程度與KL散度輸出值呈正相關(guān)。代價(jià)函數(shù)通過重構(gòu)誤差結(jié)合期望分布與樣本分布KL散度計(jì)算得來(lái),公式為:
式中,為第i個(gè)訓(xùn)練樣本:xi為第i個(gè)解碼輸出:n為特征樣本總數(shù);β為權(quán)值系數(shù);p為常數(shù),用于代表期望的稀疏分布;qj表示編碼器輸出值中第j個(gè)特征的平均激活度,訓(xùn)練階段通過反向傳播迭代更新權(quán)值矩陣。
自編碼器網(wǎng)絡(luò)中的輸入集加入不同的噪聲且散度處理,然后通過學(xué)習(xí)去除噪聲可以獲得沒有被噪聲污染的輸入,這樣編碼器能更好地學(xué)習(xí)特征表達(dá)。
虛擬貨幣以及金融交易往往存在維度高、數(shù)據(jù)大的特征,而大數(shù)據(jù)的分類算法存在計(jì)算時(shí)間長(zhǎng),效率低等問題。數(shù)據(jù)需要通過聚類劃分訓(xùn)練樣本,故本文采用基于數(shù)據(jù)點(diǎn)概率密度峰值的快速聚類算法用來(lái)確定模塊化隨機(jī)森林中子模塊的數(shù)量,其中ρi表示數(shù)據(jù)點(diǎn)i的局部概率密度,δi表示數(shù)據(jù)點(diǎn)i與其他具有更高局部密度數(shù)據(jù)點(diǎn)之間的最小距離。S={(xk,yk)|xk∈R,yk∈R,k=1,2,…,N}為訓(xùn)練樣本集,對(duì)于S中的任意一個(gè)訓(xùn)練樣本xi,ρi和δi的定義為:
其中,dij=dist(xi,xj)表示樣本xi和xj之間的歐氏距離,dc>0 表示截?cái)嗑嚯x。本文根據(jù)式(10),可以確定聚類中心的個(gè)數(shù),顯然γ值越大,越有可能是聚類中心。因此,只需降序排列,就可以生成數(shù)據(jù)點(diǎn)作為聚類中心。
設(shè)上述聚類算法共構(gòu)建k個(gè)聚類中心,c={c1,c2,…,ck},通過所構(gòu)建聚類中心將訓(xùn)練樣本集劃分k組訓(xùn)練樣本。
確定子模塊的數(shù)量后,本文提出一種數(shù)據(jù)點(diǎn)概率密度峰值結(jié)合FCM 算法,用來(lái)確定模塊化神經(jīng)網(wǎng)絡(luò)中子模塊的聚類集合。該算法的核心一是保證同一簇對(duì)象的相似度最大;二是增加模糊集合的概念,使得簇的隸屬度為[0,1]。該算法是一個(gè)迭代過程,分別使用兩個(gè)參數(shù)ci和dij描述模糊組的聚類中心和第i個(gè)聚類中心與第j個(gè)數(shù)據(jù)點(diǎn)間的歐式距離。模糊集群的輸入和輸出變量都有一個(gè)隸屬函數(shù),根據(jù)式(11)計(jì)算并更新隸屬度:
其中,m(m>1)是模糊分區(qū)矩陣指數(shù),用于控制模糊重疊的程度。模糊重疊是指聚類之間邊界的模糊程度,即在多個(gè)聚類中具有重要成員身份的數(shù)據(jù)點(diǎn)數(shù)。xi是第i個(gè)數(shù)據(jù)點(diǎn);cj是第j個(gè)聚類的中心;μij是xi在第j個(gè)集群中的隸屬度函數(shù),對(duì)于給定的數(shù)據(jù)點(diǎn)xi,所有聚類的集群隸屬度之和為1。具體算法描述如算法1,展示數(shù)據(jù)模塊化算法流程。
算法1模塊化聚類算法
輸入:訓(xùn)練數(shù)據(jù)集S
輸出:聚類矩陣U
1.初始化:隨機(jī)初始化對(duì)象的各個(gè)屬性值,并計(jì)算樣本xi和xj之間的歐氏距離dij;
2.通過公式(8)計(jì)算ρi降序排列,并保存原始索引順序至矩陣P;
3.fori=1:ndo
4.δ(P(i))=max(dij);
5.forj=1:k-1 do
6.ifd(P(i),P(j))<δ(P(i)) then
7.δ(P(i))=d(P(i),P(j));
8.end if
9.end for
10.end for
11.根據(jù)公式(10)確定聚類中心以及聚類個(gè)數(shù);
12.fori=1,2,…,ndo
13.根據(jù)公式(11)計(jì)算隸屬度,并根據(jù)隸屬度構(gòu)建聚類矩陣U;
14.end for
綜上所述,上述算法可以分出N個(gè)聚類中心以及針對(duì)N個(gè)中心建立模糊集,然后可以劃分出N個(gè)功能模塊。在存在大量特征的數(shù)據(jù)集中,該方法使得每個(gè)聚類集群特征更為高效、分類性能更優(yōu)。
模塊化決策森林是一種集成學(xué)習(xí)方法,其通過聚集多個(gè)“弱學(xué)習(xí)器”,形成一個(gè)“強(qiáng)學(xué)習(xí)器”,作用是將復(fù)雜問題分解成多個(gè)相對(duì)簡(jiǎn)單的子問題由不同子模塊處理,最后將學(xué)習(xí)結(jié)果集成以完成對(duì)整個(gè)復(fù)雜問題的求解。本文首先利用改進(jìn)DAE 降低特征維度,然后采用聚類方法劃分訓(xùn)練樣本,最終采用多個(gè)決策樹進(jìn)行學(xué)習(xí)。
如圖3所示為數(shù)據(jù)聚類結(jié)果,其中紅色圓圈表示屬性a,藍(lán)色圓圈表示屬性b,紅色×表示屬性a的聚類中心,藍(lán)色×表示屬性b的聚類中心,黑色帶圓圈的×表示邊界分類不清晰數(shù)據(jù)。隨著模糊分區(qū)矩陣指數(shù)M的增長(zhǎng),存在部分?jǐn)?shù)據(jù)集模糊重疊的現(xiàn)象。而重疊部分往往是決策樹難以劃分的區(qū)域,導(dǎo)致分類結(jié)果準(zhǔn)確率下降。為了解決重疊數(shù)據(jù)聚類不清晰的情況,本文采用MDF分別學(xué)習(xí)劃分后的整體數(shù)據(jù)和邊界數(shù)據(jù),以達(dá)到強(qiáng)化重疊數(shù)據(jù)學(xué)習(xí)的效果。且由于聚類過程中可以歸納數(shù)據(jù)特征,降低決策樹處理的復(fù)雜程度,從而使決策結(jié)果更易于理解。模塊化決策森林模型如圖4所示。
圖3 數(shù)據(jù)聚類結(jié)果Fig.3 Results of data clustering
圖4 模塊化決策森林Fig.4 Modular decision forest
MDF 包含強(qiáng)分類器和弱分類器,分類結(jié)果由多個(gè)弱分類器與強(qiáng)分類器集成學(xué)習(xí)得到。每個(gè)聚類矩陣至少擁有一個(gè)強(qiáng)分類器,而弱分類器則根據(jù)學(xué)習(xí)策略來(lái)自適應(yīng)添加。分類器最優(yōu)結(jié)果采用信息增益與增益率來(lái)共同選擇特征集中的最優(yōu)劃分屬性,如式(12)~(15)所示。首先根據(jù)式(13)從劃分屬性中尋找信息增益高于平均值的屬性,再根據(jù)式(14)從中選擇最高增益率的屬性。決策樹算法如算法2所示。
算法2構(gòu)建決策樹
輸入:訓(xùn)練集S;特征集N
輸出:以node為根節(jié)點(diǎn)的決策樹
1.生成節(jié)點(diǎn)node;
2.if當(dāng)前節(jié)點(diǎn)樣本集中樣本屬于同一類別kthen
3.node標(biāo)記為k類葉節(jié)點(diǎn);return
4.end if
5.if 特征集合N=? OR 所有樣本的特征相同無(wú)法劃分then;return
6.end if
7.根據(jù)式(13)和(14)選擇特征集中的最優(yōu)化分屬性a;
8.for生成a對(duì)應(yīng)的值a* do
9.生成node節(jié)點(diǎn)的分支;并獲得a*的樣本子集;
10.if樣本子集為空then
11.將分支記為葉節(jié)點(diǎn),這類標(biāo)記為樣本最多的類;return
12.else
13.以此節(jié)點(diǎn)作為分支節(jié)點(diǎn);
14.end if
15.end for
信息熵定義:
計(jì)算信息增益:
計(jì)算增益率:
其中,S為樣本集合,Pk為S中第k類樣本所占比例;Sv為第v個(gè)節(jié)點(diǎn)在屬性a上的取值為av的樣本集合;IV(a)是屬性a的固有值,屬性a的種類越多,則IV(a)越大,增益率變小。
模塊化數(shù)據(jù)集經(jīng)過初步分割得到訓(xùn)練樣本,但對(duì)于訓(xùn)練樣本數(shù)量大、樣本種類多的問題,分配給不同決策樹仍然存在復(fù)雜度高的問題。為了進(jìn)一步提升模塊化決策樹(modular decision tree,MDT)的學(xué)習(xí)性能,對(duì)基于算法1建立的模塊化數(shù)據(jù)集中部分模塊進(jìn)一步劃分,劃分策略及模塊化決策森林如算法3所示。
算法3再劃分策略及模塊化決策森林
輸入:訓(xùn)練集S;特征集N
輸出:分類結(jié)果
1.根據(jù)算法1得k個(gè)聚類中心與聚類矩陣U
2.case1:if所包含的訓(xùn)練樣本類別數(shù)>Q,then
3.采用算法1進(jìn)一步劃分,設(shè)子聚類中心為km個(gè);return
4.case2:if單個(gè)模塊訓(xùn)練樣本個(gè)數(shù)>N/k,then
5.采用算法1進(jìn)一步劃分,設(shè)子聚類中心為km個(gè);
6.kall=k+km;//計(jì)算總的聚類中心個(gè)數(shù)
7.fori≤kalldo
8.對(duì)每一組聚類矩陣采用算法2進(jìn)行學(xué)習(xí);
9.if 最大隸屬度<0.6 then
/*認(rèn)為該點(diǎn)屬于模糊重疊區(qū)*/
10.對(duì)每一組聚類矩陣的模糊重疊區(qū)域采用算法2 進(jìn)行學(xué)習(xí);
11.同一學(xué)習(xí)樣本采用多組決策樹學(xué)習(xí)的,通過式(16)集成學(xué)習(xí);
12.i++;
13.end if
14.end for
經(jīng)過上述算法多次劃分訓(xùn)練樣本,可將數(shù)據(jù)集先劃分出K個(gè)數(shù)據(jù)模塊,每個(gè)需劃分的數(shù)據(jù)模塊中又可劃分出數(shù)量不等的子模塊。以此降低每個(gè)決策樹劃分的難度,提高整體分類的性能。與隨機(jī)森林不同的是,本文所提模塊化決策森林,采用聚類算法與劃分策略來(lái)確定決策樹數(shù)量,且針對(duì)學(xué)習(xí)不同的數(shù)據(jù)特征,實(shí)現(xiàn)了“按需分配”“分而治之”的思想。
通過MDF 已實(shí)現(xiàn)各模塊的分類結(jié)果,在眾多分類任務(wù)中,學(xué)習(xí)器C需要從類別集合{N1,N2,…,Nn}中預(yù)測(cè)一個(gè)標(biāo)記,本文使用加權(quán)投票法(weighted voting)實(shí)現(xiàn)結(jié)果集成,如公式(16):
其中,H(x)是最終的預(yù)測(cè)輸出結(jié)果,hij(x)是hi在類別標(biāo)記cj上的輸出;wi是hi的權(quán)重,通常
實(shí)驗(yàn)設(shè)置:操作系統(tǒng)為Windows10,CPU 主頻為2.5 GHz,內(nèi)存8 GB,仿真軟件Matlab2021a。其中實(shí)驗(yàn)所用數(shù)據(jù)集為UCⅠ真實(shí)數(shù)據(jù)集和kaggle數(shù)據(jù)集,數(shù)據(jù)集Optdigits 有7 500 個(gè)訓(xùn)練樣本和3 500 個(gè)測(cè)試樣本。數(shù)據(jù)集Ethereum 和數(shù)據(jù)集Elliptic,訓(xùn)練集和測(cè)試集拆分的比例均為4∶1。
(1)為驗(yàn)證本文所提模塊化決策森林的處理能力,選用數(shù)據(jù)集Optdigits,其中包含16個(gè)維度,7 500個(gè)訓(xùn)練樣本和3 500個(gè)測(cè)試樣本,屬于10個(gè)類[22]。
(2)數(shù)據(jù)集Ethereum 是以太坊非法賬戶數(shù)據(jù)集,其中包括2 179 個(gè)非法賬戶和2 502 個(gè)合法賬戶。一共有42個(gè)特征,主要反映特定賬戶的交易細(xì)則[23]。
(3)數(shù)據(jù)集Elliptic 是比特幣交易數(shù)據(jù)集,其包含交易關(guān)聯(lián)網(wǎng)絡(luò)、交易特征信息、時(shí)間信息,如表1所示。其中交易關(guān)聯(lián)網(wǎng)絡(luò)存在203 769 個(gè)交易節(jié)點(diǎn)和234 355 比特幣交易流向流程。數(shù)據(jù)標(biāo)簽信息包含2%的Ⅰ類(非法),21%的ⅠⅠ類(合法)以及77%具有特征未標(biāo)注的數(shù)據(jù)。每一個(gè)節(jié)點(diǎn)均包含166個(gè)關(guān)聯(lián)特征,前94個(gè)表示基本交易信息,其中包括時(shí)間戳、輸入輸出數(shù)據(jù)、交易費(fèi)、輸出數(shù)量和合計(jì)值等。后72 個(gè)特征為聚合特征,是通過從中心節(jié)點(diǎn)向后或向前聚合而得,給出了包含信息數(shù)據(jù)(輸入/輸出數(shù)量、交易費(fèi)等)的相鄰事務(wù)的最大值、最小值、標(biāo)準(zhǔn)差和相關(guān)系數(shù)等。時(shí)間信息包括比特幣網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)交易確認(rèn)的瞬時(shí)時(shí)間,數(shù)據(jù)集將其劃分為49個(gè)間隔為兩周的時(shí)間步長(zhǎng),各個(gè)周期內(nèi)的節(jié)點(diǎn)交易時(shí)間少于3小時(shí)。從交易數(shù)據(jù)來(lái)看,特定步長(zhǎng)的每一個(gè)節(jié)點(diǎn)都具備相關(guān)性。
表1 部分交易特征描述Table 1 Description of transaction characteristics
選用Optdigits 數(shù)據(jù)集的原因在于維數(shù)高、類別多。該數(shù)據(jù)集沒有缺失的特征值,在訓(xùn)練集和測(cè)試集中類別樣本分布得非常平均規(guī)整,可用于驗(yàn)證數(shù)據(jù)劃分、模糊邊界處理的有效性。而Optdigits 數(shù)據(jù)相較于區(qū)塊鏈數(shù)據(jù),能使實(shí)驗(yàn)數(shù)據(jù)更容易理解模糊邊界以及劃分有效性。而區(qū)塊鏈數(shù)據(jù)更多是Hash 值,從劃分過程中難以理解模塊化決策森林的劃分效果。為了驗(yàn)證區(qū)塊鏈欺詐應(yīng)用的有效性,本文采用Ellipitic和Ethereum數(shù)據(jù)集,分別為非平衡和平衡數(shù)據(jù)集用于進(jìn)一步檢驗(yàn)?zāi)P偷男阅?。而Elliptic 實(shí)驗(yàn)中可以看出,雖然隨機(jī)森林能夠達(dá)到類似的精確度,但召回率很低,容易對(duì)正常交易進(jìn)行誤判。
虛擬貨幣的交易行為異常檢測(cè)本質(zhì)上是一個(gè)二分類問題,且由于異常交易行為的數(shù)量在實(shí)際中比正常行為的數(shù)量小得多,因此這里的異常檢測(cè)是一個(gè)不平衡的二分類問題,故采用適合不平衡二分類的評(píng)價(jià)指標(biāo)F1值。本文使用度量定義為:(1)真陽(yáng)性(TP)正確識(shí)別欺詐交易;(2)假陽(yáng)性(FP)錯(cuò)誤識(shí)別正常交易為欺詐交易;(3)真陰性(TN)正確識(shí)別交易為正常;(4)假陰性(FN)將欺詐交易識(shí)別為正常交易。
精確度(precision)的定義為:欺詐交易中正確檢測(cè)數(shù)量的占比。
召回率(recall)的定義為:數(shù)據(jù)集中正確檢測(cè)的數(shù)量占比。
F1-score 為精度和召回率的調(diào)和平均值,作為有效性衍生度量。
宏平均值(MacroAVG):宏平均是每一個(gè)類的性能指標(biāo)的算術(shù)平均值,可以評(píng)估整個(gè)數(shù)據(jù)集的性能。
為了檢測(cè)MDF 的有效性和準(zhǔn)確性,本文采用Optdigits數(shù)據(jù)集驗(yàn)證。此訓(xùn)練樣本中存在10個(gè)類,如圖5所示,有10個(gè)訓(xùn)練樣本的局部概率密度與最小距離乘積的值γ最為突出。尤為重要的是,本文所提算法可以準(zhǔn)確劃分出數(shù)據(jù)集中的9個(gè)類別,表明該算法確實(shí)能夠根據(jù)空間分布來(lái)識(shí)別聚類中心。由于類別1、2、5、7 本身局部概率密度與最小距離并不顯著,將會(huì)導(dǎo)致傳統(tǒng)算法對(duì)這些類別的劃分難度提升,降低分類的準(zhǔn)確率。
圖5 確定聚類中心的結(jié)果Fig.5 Results of determining clustering centers
圖6~8 均是通過混淆矩陣對(duì)所提模型性能的可視化表達(dá),每一個(gè)小方格內(nèi)的數(shù)值是不同類的預(yù)測(cè)結(jié)果,主要的評(píng)價(jià)參數(shù)是TP、FP、TN和FN。每一個(gè)決策樹代表不同的模塊化數(shù)據(jù)組。圖6 為初步劃分時(shí)模塊化決策樹的分類效果。聚類算法能夠在訓(xùn)練決策樹之前降低每個(gè)訓(xùn)練樣本的復(fù)雜度,圖6(a)、(c)所包含的類別均小于等于4,此時(shí)決策樹往往具備不錯(cuò)的分類效果。但當(dāng)劃分類別大于4 時(shí),會(huì)導(dǎo)致決策樹分類錯(cuò)誤率增大,如圖6(b)、(d)、(f)所示。圖6(e)雖然劃分類別較多,但數(shù)據(jù)不存在聚類邊界數(shù)據(jù)重疊現(xiàn)象,所以單個(gè)決策樹仍然能夠具備不錯(cuò)的預(yù)測(cè)效果。若數(shù)據(jù)劃分類別多,存在過多邊界重疊現(xiàn)象的問題,采用算法3中策略對(duì)模塊數(shù)據(jù)集再劃分。
圖6 模塊化劃分?jǐn)?shù)據(jù)集有效性驗(yàn)證結(jié)果Fig.6 Validation results of modular partition datasets validity
如圖7 表示將模塊數(shù)據(jù)4 進(jìn)一步地劃分,分別采用兩個(gè)決策樹學(xué)習(xí),最后將學(xué)習(xí)結(jié)果集成,實(shí)驗(yàn)結(jié)果表明,單決策樹4 中類別1 和2 的分類存在錯(cuò)誤識(shí)別的問題,經(jīng)過算法3 的再劃分策略,得到的集成學(xué)習(xí)決策樹4 的錯(cuò)誤率為0,可以證明相對(duì)于初次劃分能夠進(jìn)一步提升準(zhǔn)確率,驗(yàn)證所提算法的有效性。
圖7 子模塊多次劃分結(jié)果Fig.7 Multiple division results of sub modular
如圖8 為傳統(tǒng)決策樹與模塊化決策森林分類對(duì)比結(jié)果,其正確率明顯提高。如表2 所示,模塊化決策森林的精確度、召回率、F1-score 分別提高了6.37、6.59、6.52個(gè)百分點(diǎn)。
表2 傳統(tǒng)決策樹與模塊化決策森林對(duì)比Table 2 Comparison of traditional decision tree and modular decision forest 單位:%
圖8 傳統(tǒng)決策樹與模塊化決策森林分類對(duì)比圖Fig.8 Comparison diagram of traditional decision tree and modular decision forest classification
綜上所述,模塊化決策森林具有一定的有效性和準(zhǔn)確性,該方法不僅保證兩樹之間的獨(dú)立性,而且保證了邊緣節(jié)點(diǎn)的分類準(zhǔn)確性,進(jìn)而可以提高模塊化決策的準(zhǔn)確性,提高決策樹的泛化能力。
采用真實(shí)交易數(shù)據(jù)驗(yàn)證改進(jìn)的DAE,結(jié)果如圖9所示。圖9為抽取不同時(shí)間周期的交易拓?fù)鋱D,圖中紅點(diǎn)表示非法交易,藍(lán)點(diǎn)表示正常交易,紅線表示具有關(guān)聯(lián)的欺詐交易。第1~2 時(shí)間段的欺詐節(jié)點(diǎn)具備小范圍分散特點(diǎn),第11時(shí)間段的欺詐節(jié)點(diǎn),出現(xiàn)大范圍聚集且遠(yuǎn)點(diǎn)具備一定的關(guān)聯(lián)性,時(shí)間段12則呈現(xiàn)小范圍分散,但較遠(yuǎn)點(diǎn)具備一定關(guān)聯(lián)性。上述特征說明在欺詐交易的節(jié)點(diǎn)附近會(huì)出現(xiàn)大概率的聚集性。而本文所提MDF則是針對(duì)不同的特點(diǎn),選用不同的子模塊,以提高特征篩選的泛化性。
圖9 不同時(shí)間段的交易拓?fù)鋱DFig.9 Transaction topology view of different time periods
為了檢測(cè)出真實(shí)區(qū)塊鏈交易中存在的可疑欺詐行為,以及測(cè)試DAE-MDF 對(duì)實(shí)際交易數(shù)據(jù)的處理能力。采用改進(jìn)DAE 將數(shù)據(jù)集Ellipitic 和數(shù)據(jù)集Ethereum 分別降維至13維和30維,保證數(shù)據(jù)特征的原屬性,而且對(duì)其進(jìn)行歸一化處理。本文所提的模塊化決策森林欺詐檢測(cè)模型(DAE-MDF)是在機(jī)器學(xué)習(xí)基礎(chǔ)上的改進(jìn),因此通過常規(guī)隨機(jī)森林(random forest,RF)算法作為消融實(shí)驗(yàn),并與MLP(multi-layer perception)、XGB(eXtreme gradient boosting)、LGBM(light gradient boosting machine)模型對(duì)照,用于進(jìn)一步驗(yàn)證本文所提模型的有效性,并在評(píng)估中采用RF 分類器作為基準(zhǔn)進(jìn)行比較。具體實(shí)驗(yàn)數(shù)據(jù)如表3和表4所示。
表3 Ethereum數(shù)據(jù)集模型對(duì)比Table 3 Comparison of models for Ethereum dataset
表4 Ellipitic數(shù)據(jù)集模型對(duì)比Table 4 Comparison of models for Ellipitic dataset
如表3體現(xiàn)各分類算法在不同指標(biāo)下的性能,DAEMDF明顯優(yōu)于RF、XGB和LGBM分類器,相比較RF在精確度、召回率和F1-score方面分別增加1.2、3.6、2.6個(gè)百分點(diǎn)。由于Ellipitic數(shù)據(jù)集數(shù)據(jù)量大,特征表達(dá)不同,因此將數(shù)據(jù)集劃分為所有特征(all feature,AF)、局部特征(local feature,LF)和圖特征(node embedding,NE)[11]便于比較。具體情況如表4 所示,由表4 可以看出聚合信息具有更高的準(zhǔn)確率,表明信息特征的重要性。相比較AF,本文DAE-MDF 方法在精確度、召回率和F1-score 方面分別提升7.0、26.2、17.5 個(gè)百分點(diǎn),因此本文所提去噪稀疏自編碼模塊化決策森林表現(xiàn)出良好的性能。而GCN 使用邏輯回歸作為最終的輸出層,導(dǎo)致其預(yù)測(cè)結(jié)果并不理想。
綜上所述,改進(jìn)DAE-MDF是通過劃分?jǐn)?shù)據(jù)集構(gòu)建針對(duì)不同特征的模塊化決策樹,從最終預(yù)測(cè)精度、召回率、F1-score均具有不錯(cuò)的性能,準(zhǔn)確率方面也大幅提升。其原因在于MDF采用投票機(jī)制集成眾多決策樹的預(yù)測(cè)結(jié)果,每個(gè)決策樹均通過使用數(shù)據(jù)集的子樣本進(jìn)行訓(xùn)練。
本文提出了一種基于模塊化決策森林的區(qū)塊鏈交易欺詐檢測(cè)模型。該模型首先采用改進(jìn)DAE提取數(shù)據(jù)特征,然后采用數(shù)據(jù)點(diǎn)概率密度峰值結(jié)合FCM算法,將大數(shù)據(jù)分解為多組數(shù)據(jù),具有關(guān)聯(lián)明確的樣本會(huì)在一組決策樹中學(xué)習(xí),而對(duì)于分類不明確的邊界樣本則會(huì)有多個(gè)不同的決策樹共同完成學(xué)習(xí)任務(wù),最后通過集成學(xué)習(xí)得出最后分類結(jié)果。
為驗(yàn)證本文所提模型的有效性和準(zhǔn)確性,首先選用數(shù)據(jù)集Optdigits 驗(yàn)證MDF 的有效性,為后續(xù)真實(shí)交易數(shù)據(jù)模塊化處理提供理論基礎(chǔ)。為了測(cè)試此模型在真實(shí)交易環(huán)節(jié)的穩(wěn)定性和準(zhǔn)確率,進(jìn)而選用交易數(shù)據(jù)集Ellipitic,其主要特點(diǎn)是維度高,數(shù)據(jù)量大。從不同時(shí)段的交易拓?fù)鋱D可以得出欺詐網(wǎng)絡(luò)中存在一定關(guān)聯(lián)的事實(shí)。最后通過三部分實(shí)驗(yàn)驗(yàn)證改進(jìn)DAE 的穩(wěn)定性、MDF 在準(zhǔn)確率方面取得更好的性能和穩(wěn)定性,準(zhǔn)確率可達(dá)97.84%;第三部分在真實(shí)交易環(huán)境中對(duì)各類算法進(jìn)行對(duì)比,本文所提改進(jìn)的DAE-MDF 方法準(zhǔn)確高達(dá)98.3%,說明此算法性能更優(yōu)。