田紅鵬,韋 甜
西安科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,西安 710600
區(qū)塊鏈技術(shù)的快速發(fā)展引起了政府部門、金融機構(gòu)、科技企業(yè)和資本市場的廣泛關(guān)注,相應(yīng)的虛擬貨幣金融欺詐現(xiàn)象也層出不窮[1],主要包括賬戶資金被盜[2]、一幣多用[3]、可追溯性差[4]等。由于虛擬貨幣的匿名性和隱私性,執(zhí)法部門在追蹤可疑交易時遇到額外障礙[5-6]。神經(jīng)網(wǎng)絡(luò)及機器學(xué)習(xí)在復(fù)雜多變量系統(tǒng)的處理能力[7]和預(yù)測[8]等領(lǐng)域取得了良好的效果,因而利用神經(jīng)網(wǎng)絡(luò)及機器學(xué)習(xí)技術(shù)檢測金融欺詐是未來的趨勢。
傳統(tǒng)區(qū)塊鏈欺詐檢測方法通過人工規(guī)則和靜態(tài)閾值來標(biāo)記可疑交易地址[9],但由于欺詐者不斷調(diào)整欺詐規(guī)則,混淆靜態(tài)規(guī)則從而繞過審查,因此人工靜態(tài)規(guī)則存在一定的局限性[10]。喻文強等人[11]通過機器學(xué)習(xí)的方法來檢測匿名化實體欺詐行為和龐氏騙局等問題。Weber 等人[12]發(fā)布由20 萬組比特幣交易樣本所構(gòu)成的數(shù)據(jù)集,并評估多種有監(jiān)督機器學(xué)習(xí)模型,實驗結(jié)果表明機器學(xué)習(xí)模型具有收斂速度快優(yōu)點。Monamo等人[13]研究裁剪k-均值聚類在無監(jiān)督犯罪檢測中的準(zhǔn)確率。林偉寧等人[14]提出基于PCA 和隨機森林分類的入侵檢測算法,提高了欺詐檢測的準(zhǔn)確性。雖然機器學(xué)習(xí)收斂速度很快,但由于虛擬貨幣交易系統(tǒng)復(fù)雜、欺詐手段多變影響了機器學(xué)習(xí)模型對欺詐網(wǎng)絡(luò)的有效判斷,導(dǎo)致假陽性過高,檢測準(zhǔn)確率較低等問題。神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)能力,能夠充分提取時間和空間的有效信息,所以在欺詐檢測領(lǐng)域具有發(fā)展前景。Kurshan等人[15]提出使用圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)空間交易拓?fù)浣Y(jié)構(gòu)的有效信息,提高金融欺詐檢測的準(zhǔn)確率。Qian 等人[16]結(jié)合比特幣網(wǎng)絡(luò)交易節(jié)點的自身特征和鄰域特征,提出無監(jiān)督特征融合異常交易檢測的方法,提高了異常交易的檢測能力。張昊等人[17]對比現(xiàn)有的基于深度學(xué)習(xí)的入侵檢測模型,指出在數(shù)據(jù)集時效、普適性、模型等方面依然存在準(zhǔn)確和實時性較低的問題。文獻(xiàn)[18]模擬人腦處理信息方式,設(shè)計了多層自適應(yīng)模塊化神經(jīng)網(wǎng)絡(luò),以自適應(yīng)確定模塊及神經(jīng)元的數(shù)量,且學(xué)習(xí)精度高泛化能力強。相對于機器學(xué)習(xí),雖然神經(jīng)網(wǎng)絡(luò)能夠得到更高的準(zhǔn)確率,但由于區(qū)塊鏈交易去中心化的特性,缺乏大量非法交易數(shù)據(jù),導(dǎo)致上述依賴大量學(xué)習(xí)樣本的神經(jīng)網(wǎng)絡(luò)難以有效檢測區(qū)塊鏈的欺詐行為。
針對數(shù)據(jù)特征多的問題,本文采用改進(jìn)的稀疏去噪自編碼器(sparse denoising autoencoder,DAE)將高維空間的輸入數(shù)據(jù)映射到低維空間,以實現(xiàn)數(shù)據(jù)降維。其次對于交易復(fù)雜的問題,本文根據(jù)欺詐交易節(jié)點呈現(xiàn)出一定關(guān)聯(lián)的事實,提出一種模塊化決策森林(modular decision forest,MDF)算法,采用一種數(shù)據(jù)概率密度峰值以確定聚類中心個數(shù)[19],再結(jié)合模糊C均值(fuzzy Cmeans,F(xiàn)CM)聚類算法將數(shù)據(jù)分解為多組子數(shù)據(jù)。每個子數(shù)據(jù)將會采用多個決策樹模型進(jìn)行學(xué)習(xí),邊緣分界明確的樣本將會在一組決策樹中學(xué)習(xí),而對于模糊邊界樣本,則會由多個不同類別的決策樹集成學(xué)習(xí)。最后,本文分別對Elliptic 和Ethereum 欺詐交易數(shù)據(jù)集分類,驗證所提模型的性能。
基于MDF 的交易欺詐檢測模型包括數(shù)據(jù)集預(yù)處理、特征提取網(wǎng)絡(luò)和模塊化決策森林分類三大部分。首先預(yù)處理虛擬貨幣交易數(shù)據(jù)。然后訓(xùn)練特征提取網(wǎng)絡(luò),訓(xùn)練過程為改進(jìn)的DAE 降低數(shù)據(jù)維度并提取數(shù)據(jù)特征。在建立特征庫后,使用快速聚類算法結(jié)合FCM 將數(shù)據(jù)分成不同的子模塊,然后由不同的分類器構(gòu)建分類集,最后通過投票得出分類結(jié)果。交易欺詐檢測流程如圖1所示。

圖1 交易欺詐檢測結(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)的編碼器不同之處在于去噪自編碼器的隱層特征表示是對輸入數(shù)據(jù)“損壞”。為了更好地顯示數(shù)據(jù)的原始特征,因此加入KL(Kullback Leibler)散度[21]以此來優(yōu)化稀疏編碼過程。如圖2表示去噪散度特征提取網(wǎng)絡(luò),其結(jié)構(gòu)包括噪聲輸入、稀疏散度計算、編碼器和解碼器。去噪自編碼器就是向輸入數(shù)據(jù)引入高斯噪聲,通過學(xué)習(xí)去除高斯噪聲以盡可能獲得原始輸入,使提取到的特征更能反映原始輸入的特點,減少噪聲干擾。去噪稀疏自編碼器的訓(xùn)練主要流程分為以下兩個過程:

圖2 去噪散度特征提取網(wǎng)絡(luò)Fig.2 Denoising dispersion feature extraction network
(1)加入噪聲
首先對原始信號x輸入高斯噪聲,得到受損信息x?,編碼后映射到隱含層,最后經(jīng)過解碼函數(shù)將處理后的信息映射到輸出層獲得重構(gòu)信號x?。公式如下:
對于給定的n個訓(xùn)練樣本x={x1,x2,…,xn}的每個樣本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)高度還原真實特征
去噪自編碼器的訓(xùn)練目標(biāo)是通過不斷優(yōu)化模型參數(shù)θ={w(1),b(1),w(2),b(2)}以使得重構(gòu)誤差最小。當(dāng)x為實數(shù)時,選擇均方誤差(MSE)用作標(biāo)準(zhǔn)的自動編碼器損失函數(shù)較為合理。
數(shù)據(jù)特征對欺詐檢測結(jié)果至關(guān)重要。為了更好地將表達(dá)數(shù)據(jù)特征,本文引入代價函數(shù)增加KL 散度以此來優(yōu)化稀疏編碼過程。通過二者的結(jié)合,可擁有接近先驗分布(自然統(tǒng)計概率)并可以描述輸入特征。
KL散度計算公式為:
其中,DKL為度量兩個概率分布函數(shù)之間的“距離”,p(x)為期望數(shù)據(jù)分布,q(x)為初始數(shù)據(jù)特征分布。以上兩種分布的匹配程度與KL散度輸出值呈正相關(guān)。代價函數(shù)通過重構(gòu)誤差結(jié)合期望分布與樣本分布KL散度計算得來,公式為:
式中,為第i個訓(xùn)練樣本:xi為第i個解碼輸出:n為特征樣本總數(shù);β為權(quán)值系數(shù);p為常數(shù),用于代表期望的稀疏分布;qj表示編碼器輸出值中第j個特征的平均激活度,訓(xùn)練階段通過反向傳播迭代更新權(quán)值矩陣。
自編碼器網(wǎng)絡(luò)中的輸入集加入不同的噪聲且散度處理,然后通過學(xué)習(xí)去除噪聲可以獲得沒有被噪聲污染的輸入,這樣編碼器能更好地學(xué)習(xí)特征表達(dá)。
虛擬貨幣以及金融交易往往存在維度高、數(shù)據(jù)大的特征,而大數(shù)據(jù)的分類算法存在計算時間長,效率低等問題。數(shù)據(jù)需要通過聚類劃分訓(xùn)練樣本,故本文采用基于數(shù)據(jù)點概率密度峰值的快速聚類算法用來確定模塊化隨機森林中子模塊的數(shù)量,其中ρi表示數(shù)據(jù)點i的局部概率密度,δi表示數(shù)據(jù)點i與其他具有更高局部密度數(shù)據(jù)點之間的最小距離。S={(xk,yk)|xk∈R,yk∈R,k=1,2,…,N}為訓(xùn)練樣本集,對于S中的任意一個訓(xùn)練樣本xi,ρi和δi的定義為:
其中,dij=dist(xi,xj)表示樣本xi和xj之間的歐氏距離,dc>0 表示截斷距離。本文根據(jù)式(10),可以確定聚類中心的個數(shù),顯然γ值越大,越有可能是聚類中心。因此,只需降序排列,就可以生成數(shù)據(jù)點作為聚類中心。
設(shè)上述聚類算法共構(gòu)建k個聚類中心,c={c1,c2,…,ck},通過所構(gòu)建聚類中心將訓(xùn)練樣本集劃分k組訓(xùn)練樣本。
確定子模塊的數(shù)量后,本文提出一種數(shù)據(jù)點概率密度峰值結(jié)合FCM 算法,用來確定模塊化神經(jīng)網(wǎng)絡(luò)中子模塊的聚類集合。該算法的核心一是保證同一簇對象的相似度最大;二是增加模糊集合的概念,使得簇的隸屬度為[0,1]。該算法是一個迭代過程,分別使用兩個參數(shù)ci和dij描述模糊組的聚類中心和第i個聚類中心與第j個數(shù)據(jù)點間的歐式距離。模糊集群的輸入和輸出變量都有一個隸屬函數(shù),根據(jù)式(11)計算并更新隸屬度:
其中,m(m>1)是模糊分區(qū)矩陣指數(shù),用于控制模糊重疊的程度。模糊重疊是指聚類之間邊界的模糊程度,即在多個聚類中具有重要成員身份的數(shù)據(jù)點數(shù)。xi是第i個數(shù)據(jù)點;cj是第j個聚類的中心;μij是xi在第j個集群中的隸屬度函數(shù),對于給定的數(shù)據(jù)點xi,所有聚類的集群隸屬度之和為1。具體算法描述如算法1,展示數(shù)據(jù)模塊化算法流程。
算法1模塊化聚類算法
輸入:訓(xùn)練數(shù)據(jù)集S
輸出:聚類矩陣U
1.初始化:隨機初始化對象的各個屬性值,并計算樣本xi和xj之間的歐氏距離dij;
2.通過公式(8)計算ρ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)確定聚類中心以及聚類個數(shù);
12.fori=1,2,…,ndo
13.根據(jù)公式(11)計算隸屬度,并根據(jù)隸屬度構(gòu)建聚類矩陣U;
14.end for
綜上所述,上述算法可以分出N個聚類中心以及針對N個中心建立模糊集,然后可以劃分出N個功能模塊。在存在大量特征的數(shù)據(jù)集中,該方法使得每個聚類集群特征更為高效、分類性能更優(yōu)。
模塊化決策森林是一種集成學(xué)習(xí)方法,其通過聚集多個“弱學(xué)習(xí)器”,形成一個“強學(xué)習(xí)器”,作用是將復(fù)雜問題分解成多個相對簡單的子問題由不同子模塊處理,最后將學(xué)習(xí)結(jié)果集成以完成對整個復(fù)雜問題的求解。本文首先利用改進(jìn)DAE 降低特征維度,然后采用聚類方法劃分訓(xùn)練樣本,最終采用多個決策樹進(jìn)行學(xué)習(xí)。
如圖3所示為數(shù)據(jù)聚類結(jié)果,其中紅色圓圈表示屬性a,藍(lán)色圓圈表示屬性b,紅色×表示屬性a的聚類中心,藍(lán)色×表示屬性b的聚類中心,黑色帶圓圈的×表示邊界分類不清晰數(shù)據(jù)。隨著模糊分區(qū)矩陣指數(shù)M的增長,存在部分?jǐn)?shù)據(jù)集模糊重疊的現(xiàn)象。而重疊部分往往是決策樹難以劃分的區(qū)域,導(dǎo)致分類結(jié)果準(zhǔn)確率下降。為了解決重疊數(shù)據(jù)聚類不清晰的情況,本文采用MDF分別學(xué)習(xí)劃分后的整體數(shù)據(jù)和邊界數(shù)據(jù),以達(dá)到強化重疊數(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 包含強分類器和弱分類器,分類結(jié)果由多個弱分類器與強分類器集成學(xué)習(xí)得到。每個聚類矩陣至少擁有一個強分類器,而弱分類器則根據(jù)學(xué)習(xí)策略來自適應(yīng)添加。分類器最優(yōu)結(jié)果采用信息增益與增益率來共同選擇特征集中的最優(yōu)劃分屬性,如式(12)~(15)所示。首先根據(jù)式(13)從劃分屬性中尋找信息增益高于平均值的屬性,再根據(jù)式(14)從中選擇最高增益率的屬性。決策樹算法如算法2所示。
算法2構(gòu)建決策樹
輸入:訓(xùn)練集S;特征集N
輸出:以node為根節(jié)點的決策樹
1.生成節(jié)點node;
2.if當(dāng)前節(jié)點樣本集中樣本屬于同一類別kthen
3.node標(biāo)記為k類葉節(jié)點;return
4.end if
5.if 特征集合N=? OR 所有樣本的特征相同無法劃分then;return
6.end if
7.根據(jù)式(13)和(14)選擇特征集中的最優(yōu)化分屬性a;
8.for生成a對應(yīng)的值a* do
9.生成node節(jié)點的分支;并獲得a*的樣本子集;
10.if樣本子集為空then
11.將分支記為葉節(jié)點,這類標(biāo)記為樣本最多的類;return
12.else
13.以此節(jié)點作為分支節(jié)點;
14.end if
15.end for
信息熵定義:
計算信息增益:
計算增益率:
其中,S為樣本集合,Pk為S中第k類樣本所占比例;Sv為第v個節(jié)點在屬性a上的取值為av的樣本集合;IV(a)是屬性a的固有值,屬性a的種類越多,則IV(a)越大,增益率變小。
模塊化數(shù)據(jù)集經(jīng)過初步分割得到訓(xùn)練樣本,但對于訓(xùn)練樣本數(shù)量大、樣本種類多的問題,分配給不同決策樹仍然存在復(fù)雜度高的問題。為了進(jìn)一步提升模塊化決策樹(modular decision tree,MDT)的學(xué)習(xí)性能,對基于算法1建立的模塊化數(shù)據(jù)集中部分模塊進(jìn)一步劃分,劃分策略及模塊化決策森林如算法3所示。
算法3再劃分策略及模塊化決策森林
輸入:訓(xùn)練集S;特征集N
輸出:分類結(jié)果
1.根據(jù)算法1得k個聚類中心與聚類矩陣U
2.case1:if所包含的訓(xùn)練樣本類別數(shù)>Q,then
3.采用算法1進(jìn)一步劃分,設(shè)子聚類中心為km個;return
4.case2:if單個模塊訓(xùn)練樣本個數(shù)>N/k,then
5.采用算法1進(jìn)一步劃分,設(shè)子聚類中心為km個;
6.kall=k+km;//計算總的聚類中心個數(shù)
7.fori≤kalldo
8.對每一組聚類矩陣采用算法2進(jìn)行學(xué)習(xí);
9.if 最大隸屬度<0.6 then
/*認(rèn)為該點屬于模糊重疊區(qū)*/
10.對每一組聚類矩陣的模糊重疊區(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個數(shù)據(jù)模塊,每個需劃分的數(shù)據(jù)模塊中又可劃分出數(shù)量不等的子模塊。以此降低每個決策樹劃分的難度,提高整體分類的性能。與隨機森林不同的是,本文所提模塊化決策森林,采用聚類算法與劃分策略來確定決策樹數(shù)量,且針對學(xué)習(xí)不同的數(shù)據(jù)特征,實現(xiàn)了“按需分配”“分而治之”的思想。
通過MDF 已實現(xiàn)各模塊的分類結(jié)果,在眾多分類任務(wù)中,學(xué)習(xí)器C需要從類別集合{N1,N2,…,Nn}中預(yù)測一個標(biāo)記,本文使用加權(quán)投票法(weighted voting)實現(xiàn)結(jié)果集成,如公式(16):
其中,H(x)是最終的預(yù)測輸出結(jié)果,hij(x)是hi在類別標(biāo)記cj上的輸出;wi是hi的權(quán)重,通常
實驗設(shè)置:操作系統(tǒng)為Windows10,CPU 主頻為2.5 GHz,內(nèi)存8 GB,仿真軟件Matlab2021a。其中實驗所用數(shù)據(jù)集為UCⅠ真實數(shù)據(jù)集和kaggle數(shù)據(jù)集,數(shù)據(jù)集Optdigits 有7 500 個訓(xùn)練樣本和3 500 個測試樣本。數(shù)據(jù)集Ethereum 和數(shù)據(jù)集Elliptic,訓(xùn)練集和測試集拆分的比例均為4∶1。
(1)為驗證本文所提模塊化決策森林的處理能力,選用數(shù)據(jù)集Optdigits,其中包含16個維度,7 500個訓(xùn)練樣本和3 500個測試樣本,屬于10個類[22]。
(2)數(shù)據(jù)集Ethereum 是以太坊非法賬戶數(shù)據(jù)集,其中包括2 179 個非法賬戶和2 502 個合法賬戶。一共有42個特征,主要反映特定賬戶的交易細(xì)則[23]。
(3)數(shù)據(jù)集Elliptic 是比特幣交易數(shù)據(jù)集,其包含交易關(guān)聯(lián)網(wǎng)絡(luò)、交易特征信息、時間信息,如表1所示。其中交易關(guān)聯(lián)網(wǎng)絡(luò)存在203 769 個交易節(jié)點和234 355 比特幣交易流向流程。數(shù)據(jù)標(biāo)簽信息包含2%的Ⅰ類(非法),21%的ⅠⅠ類(合法)以及77%具有特征未標(biāo)注的數(shù)據(jù)。每一個節(jié)點均包含166個關(guān)聯(lián)特征,前94個表示基本交易信息,其中包括時間戳、輸入輸出數(shù)據(jù)、交易費、輸出數(shù)量和合計值等。后72 個特征為聚合特征,是通過從中心節(jié)點向后或向前聚合而得,給出了包含信息數(shù)據(jù)(輸入/輸出數(shù)量、交易費等)的相鄰事務(wù)的最大值、最小值、標(biāo)準(zhǔn)差和相關(guān)系數(shù)等。時間信息包括比特幣網(wǎng)絡(luò)中各個節(jié)點交易確認(rèn)的瞬時時間,數(shù)據(jù)集將其劃分為49個間隔為兩周的時間步長,各個周期內(nèi)的節(jié)點交易時間少于3小時。從交易數(shù)據(jù)來看,特定步長的每一個節(jié)點都具備相關(guān)性。

表1 部分交易特征描述Table 1 Description of transaction characteristics
選用Optdigits 數(shù)據(jù)集的原因在于維數(shù)高、類別多。該數(shù)據(jù)集沒有缺失的特征值,在訓(xùn)練集和測試集中類別樣本分布得非常平均規(guī)整,可用于驗證數(shù)據(jù)劃分、模糊邊界處理的有效性。而Optdigits 數(shù)據(jù)相較于區(qū)塊鏈數(shù)據(jù),能使實驗數(shù)據(jù)更容易理解模糊邊界以及劃分有效性。而區(qū)塊鏈數(shù)據(jù)更多是Hash 值,從劃分過程中難以理解模塊化決策森林的劃分效果。為了驗證區(qū)塊鏈欺詐應(yīng)用的有效性,本文采用Ellipitic和Ethereum數(shù)據(jù)集,分別為非平衡和平衡數(shù)據(jù)集用于進(jìn)一步檢驗?zāi)P偷男阅堋6鳨lliptic 實驗中可以看出,雖然隨機森林能夠達(dá)到類似的精確度,但召回率很低,容易對正常交易進(jìn)行誤判。
虛擬貨幣的交易行為異常檢測本質(zhì)上是一個二分類問題,且由于異常交易行為的數(shù)量在實際中比正常行為的數(shù)量小得多,因此這里的異常檢測是一個不平衡的二分類問題,故采用適合不平衡二分類的評價指標(biāo)F1值。本文使用度量定義為:(1)真陽性(TP)正確識別欺詐交易;(2)假陽性(FP)錯誤識別正常交易為欺詐交易;(3)真陰性(TN)正確識別交易為正常;(4)假陰性(FN)將欺詐交易識別為正常交易。
精確度(precision)的定義為:欺詐交易中正確檢測數(shù)量的占比。
召回率(recall)的定義為:數(shù)據(jù)集中正確檢測的數(shù)量占比。
F1-score 為精度和召回率的調(diào)和平均值,作為有效性衍生度量。
宏平均值(MacroAVG):宏平均是每一個類的性能指標(biāo)的算術(shù)平均值,可以評估整個數(shù)據(jù)集的性能。
為了檢測MDF 的有效性和準(zhǔn)確性,本文采用Optdigits數(shù)據(jù)集驗證。此訓(xùn)練樣本中存在10個類,如圖5所示,有10個訓(xùn)練樣本的局部概率密度與最小距離乘積的值γ最為突出。尤為重要的是,本文所提算法可以準(zhǔn)確劃分出數(shù)據(jù)集中的9個類別,表明該算法確實能夠根據(jù)空間分布來識別聚類中心。由于類別1、2、5、7 本身局部概率密度與最小距離并不顯著,將會導(dǎo)致傳統(tǒng)算法對這些類別的劃分難度提升,降低分類的準(zhǔn)確率。

圖5 確定聚類中心的結(jié)果Fig.5 Results of determining clustering centers
圖6~8 均是通過混淆矩陣對所提模型性能的可視化表達(dá),每一個小方格內(nèi)的數(shù)值是不同類的預(yù)測結(jié)果,主要的評價參數(shù)是TP、FP、TN和FN。每一個決策樹代表不同的模塊化數(shù)據(jù)組。圖6 為初步劃分時模塊化決策樹的分類效果。聚類算法能夠在訓(xùn)練決策樹之前降低每個訓(xùn)練樣本的復(fù)雜度,圖6(a)、(c)所包含的類別均小于等于4,此時決策樹往往具備不錯的分類效果。但當(dāng)劃分類別大于4 時,會導(dǎo)致決策樹分類錯誤率增大,如圖6(b)、(d)、(f)所示。圖6(e)雖然劃分類別較多,但數(shù)據(jù)不存在聚類邊界數(shù)據(jù)重疊現(xiàn)象,所以單個決策樹仍然能夠具備不錯的預(yù)測效果。若數(shù)據(jù)劃分類別多,存在過多邊界重疊現(xiàn)象的問題,采用算法3中策略對模塊數(shù)據(jù)集再劃分。

圖6 模塊化劃分?jǐn)?shù)據(jù)集有效性驗證結(jié)果Fig.6 Validation results of modular partition datasets validity
如圖7 表示將模塊數(shù)據(jù)4 進(jìn)一步地劃分,分別采用兩個決策樹學(xué)習(xí),最后將學(xué)習(xí)結(jié)果集成,實驗結(jié)果表明,單決策樹4 中類別1 和2 的分類存在錯誤識別的問題,經(jīng)過算法3 的再劃分策略,得到的集成學(xué)習(xí)決策樹4 的錯誤率為0,可以證明相對于初次劃分能夠進(jìn)一步提升準(zhǔn)確率,驗證所提算法的有效性。

圖7 子模塊多次劃分結(jié)果Fig.7 Multiple division results of sub modular
如圖8 為傳統(tǒng)決策樹與模塊化決策森林分類對比結(jié)果,其正確率明顯提高。如表2 所示,模塊化決策森林的精確度、召回率、F1-score 分別提高了6.37、6.59、6.52個百分點。

表2 傳統(tǒng)決策樹與模塊化決策森林對比Table 2 Comparison of traditional decision tree and modular decision forest 單位:%

圖8 傳統(tǒng)決策樹與模塊化決策森林分類對比圖Fig.8 Comparison diagram of traditional decision tree and modular decision forest classification
綜上所述,模塊化決策森林具有一定的有效性和準(zhǔn)確性,該方法不僅保證兩樹之間的獨立性,而且保證了邊緣節(jié)點的分類準(zhǔn)確性,進(jìn)而可以提高模塊化決策的準(zhǔn)確性,提高決策樹的泛化能力。
采用真實交易數(shù)據(jù)驗證改進(jìn)的DAE,結(jié)果如圖9所示。圖9為抽取不同時間周期的交易拓?fù)鋱D,圖中紅點表示非法交易,藍(lán)點表示正常交易,紅線表示具有關(guān)聯(lián)的欺詐交易。第1~2 時間段的欺詐節(jié)點具備小范圍分散特點,第11時間段的欺詐節(jié)點,出現(xiàn)大范圍聚集且遠(yuǎn)點具備一定的關(guān)聯(lián)性,時間段12則呈現(xiàn)小范圍分散,但較遠(yuǎn)點具備一定關(guān)聯(lián)性。上述特征說明在欺詐交易的節(jié)點附近會出現(xiàn)大概率的聚集性。而本文所提MDF則是針對不同的特點,選用不同的子模塊,以提高特征篩選的泛化性。

圖9 不同時間段的交易拓?fù)鋱DFig.9 Transaction topology view of different time periods
為了檢測出真實區(qū)塊鏈交易中存在的可疑欺詐行為,以及測試DAE-MDF 對實際交易數(shù)據(jù)的處理能力。采用改進(jìn)DAE 將數(shù)據(jù)集Ellipitic 和數(shù)據(jù)集Ethereum 分別降維至13維和30維,保證數(shù)據(jù)特征的原屬性,而且對其進(jìn)行歸一化處理。本文所提的模塊化決策森林欺詐檢測模型(DAE-MDF)是在機器學(xué)習(xí)基礎(chǔ)上的改進(jìn),因此通過常規(guī)隨機森林(random forest,RF)算法作為消融實驗,并與MLP(multi-layer perception)、XGB(eXtreme gradient boosting)、LGBM(light gradient boosting machine)模型對照,用于進(jìn)一步驗證本文所提模型的有效性,并在評估中采用RF 分類器作為基準(zhǔn)進(jìn)行比較。具體實驗數(shù)據(jù)如表3和表4所示。

表3 Ethereum數(shù)據(jù)集模型對比Table 3 Comparison of models for Ethereum dataset

表4 Ellipitic數(shù)據(jù)集模型對比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個百分點。由于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 個百分點,因此本文所提去噪稀疏自編碼模塊化決策森林表現(xiàn)出良好的性能。而GCN 使用邏輯回歸作為最終的輸出層,導(dǎo)致其預(yù)測結(jié)果并不理想。
綜上所述,改進(jìn)DAE-MDF是通過劃分?jǐn)?shù)據(jù)集構(gòu)建針對不同特征的模塊化決策樹,從最終預(yù)測精度、召回率、F1-score均具有不錯的性能,準(zhǔn)確率方面也大幅提升。其原因在于MDF采用投票機制集成眾多決策樹的預(yù)測結(jié)果,每個決策樹均通過使用數(shù)據(jù)集的子樣本進(jìn)行訓(xùn)練。
本文提出了一種基于模塊化決策森林的區(qū)塊鏈交易欺詐檢測模型。該模型首先采用改進(jìn)DAE提取數(shù)據(jù)特征,然后采用數(shù)據(jù)點概率密度峰值結(jié)合FCM算法,將大數(shù)據(jù)分解為多組數(shù)據(jù),具有關(guān)聯(lián)明確的樣本會在一組決策樹中學(xué)習(xí),而對于分類不明確的邊界樣本則會有多個不同的決策樹共同完成學(xué)習(xí)任務(wù),最后通過集成學(xué)習(xí)得出最后分類結(jié)果。
為驗證本文所提模型的有效性和準(zhǔn)確性,首先選用數(shù)據(jù)集Optdigits 驗證MDF 的有效性,為后續(xù)真實交易數(shù)據(jù)模塊化處理提供理論基礎(chǔ)。為了測試此模型在真實交易環(huán)節(jié)的穩(wěn)定性和準(zhǔn)確率,進(jìn)而選用交易數(shù)據(jù)集Ellipitic,其主要特點是維度高,數(shù)據(jù)量大。從不同時段的交易拓?fù)鋱D可以得出欺詐網(wǎng)絡(luò)中存在一定關(guān)聯(lián)的事實。最后通過三部分實驗驗證改進(jìn)DAE 的穩(wěn)定性、MDF 在準(zhǔn)確率方面取得更好的性能和穩(wěn)定性,準(zhǔn)確率可達(dá)97.84%;第三部分在真實交易環(huán)境中對各類算法進(jìn)行對比,本文所提改進(jìn)的DAE-MDF 方法準(zhǔn)確高達(dá)98.3%,說明此算法性能更優(yōu)。