林國(guó)順 王 野
(大連海事大學(xué)航運(yùn)經(jīng)濟(jì)與管理學(xué)院 遼寧 大連 116026)
2018年中國(guó)網(wǎng)絡(luò)購(gòu)物交易規(guī)??蛇_(dá)8萬(wàn)億元,網(wǎng)絡(luò)購(gòu)物的用戶規(guī)模高達(dá)6.39億,網(wǎng)民使用率達(dá)74.8%。淘寶天貓移動(dòng)月活躍用戶就高達(dá)1.04億[1]。如此龐大的數(shù)據(jù)量的高效使用已經(jīng)成為互聯(lián)網(wǎng)公司面臨的一個(gè)關(guān)鍵性問(wèn)題。為進(jìn)一步分析網(wǎng)購(gòu)消費(fèi)者行為習(xí)慣特征,掌握網(wǎng)購(gòu)消費(fèi)者的行為意圖和真實(shí)需求,有必要對(duì)網(wǎng)購(gòu)消費(fèi)者的異常行為進(jìn)行檢測(cè)研究。
目前,在異常檢測(cè)領(lǐng)域的相關(guān)研究中,主要的檢測(cè)方法有時(shí)間序列方法、基于統(tǒng)計(jì)的方法和基于距離的方法等[2]。其中:時(shí)間序列的方法對(duì)于高度復(fù)雜非線性的數(shù)據(jù)集的分類效果不佳;基于統(tǒng)計(jì)的方法常常需要許多的先驗(yàn)條件才可以應(yīng)用,往往實(shí)際的數(shù)據(jù)集難以符合這些前提條件;基于距離的方法在數(shù)據(jù)量大、數(shù)據(jù)類別分布極為不均衡的情境下分類效果不佳。
隨著網(wǎng)絡(luò)購(gòu)物的不斷發(fā)展、網(wǎng)購(gòu)人數(shù)的不斷增長(zhǎng),網(wǎng)購(gòu)消費(fèi)者的行為信息也越來(lái)越多,越來(lái)越復(fù)雜,所得到的數(shù)據(jù)往往呈現(xiàn)出極高維度的分類id所組成的屬性特征[3],導(dǎo)致常用的檢測(cè)方法實(shí)驗(yàn)效果達(dá)不到預(yù)期,準(zhǔn)確率低、精準(zhǔn)率低,不能滿足實(shí)際應(yīng)用中需求。
孤立森林作為一種無(wú)監(jiān)督檢測(cè)算法,已經(jīng)被應(yīng)用到很多異常檢測(cè)領(lǐng)域,特別是異常用電方面[4]。國(guó)內(nèi)外學(xué)者通過(guò)分析異常用戶的歷史行為信息為電力系統(tǒng)[4]、網(wǎng)絡(luò)攻擊[5]和網(wǎng)絡(luò)安全[6]等多個(gè)領(lǐng)域建立了孤立森林異常用戶行為檢測(cè)模型,并在實(shí)驗(yàn)中取得了不錯(cuò)的效果。
自編碼器(autoencoder,AE)是一種無(wú)監(jiān)督的學(xué)習(xí)算法,主要用于數(shù)據(jù)的降維或者特征的提取[7],能夠解決多分類算法在處理高緯度數(shù)據(jù)集時(shí)分類效果差的問(wèn)題,目前已經(jīng)被國(guó)內(nèi)外許多學(xué)者應(yīng)用在了各個(gè)領(lǐng)域,尤其是圖像檢測(cè)領(lǐng)域[8],達(dá)到了不錯(cuò)的實(shí)驗(yàn)效果。
網(wǎng)購(gòu)消費(fèi)者行為數(shù)據(jù)是一種數(shù)據(jù)量龐大、數(shù)據(jù)維度很高且行為特征需要人為構(gòu)建的一類數(shù)據(jù)。本文通過(guò)人工特征構(gòu)造的方式提取了22維特征,使用主成分分析的方式對(duì)數(shù)據(jù)進(jìn)行降維得到了最佳的降維參數(shù)5,并以此為依據(jù)搭建了一個(gè)含兩個(gè)編碼器的棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)進(jìn)行特征壓縮,克服了數(shù)據(jù)維度高的問(wèn)題。以此輸出數(shù)據(jù)為訓(xùn)練數(shù)據(jù)構(gòu)建孤立森林模型對(duì)網(wǎng)購(gòu)消費(fèi)者異常行為進(jìn)行檢測(cè)研究,加入主成分降維數(shù)據(jù)以及模糊C均值方法進(jìn)行對(duì)比分析,來(lái)驗(yàn)證檢測(cè)模型的合理性和有效性。
孤立森林(Isolation Forest)[9]不需要有標(biāo)簽的數(shù)據(jù)進(jìn)行模型訓(xùn)練,屬于無(wú)監(jiān)督方法。通過(guò)孤立異常數(shù)據(jù)點(diǎn)來(lái)實(shí)現(xiàn)數(shù)據(jù)異常檢測(cè),具有線性時(shí)間復(fù)雜度和計(jì)算率高的特點(diǎn),適用于處理大數(shù)據(jù)問(wèn)題,但不適用于處理特別高維的數(shù)據(jù)問(wèn)題。孤立森林的實(shí)現(xiàn)包括構(gòu)建包含t個(gè)iTree的孤立森林和對(duì)數(shù)據(jù)進(jìn)行檢測(cè)兩個(gè)步驟。
1.1.1構(gòu)建包含t個(gè)iTree的孤立森林
孤立森林算法的目標(biāo)是對(duì)數(shù)據(jù)集進(jìn)行子采樣并構(gòu)造iTree, 然后將多個(gè)iTree集成(ensemble)為iForest用以檢測(cè)異常數(shù)據(jù), 其實(shí)現(xiàn)步驟如下。
步驟1在訓(xùn)練數(shù)據(jù)中隨機(jī)地選取Ψ個(gè)樣本點(diǎn)作為子樣本集,作為樹的根節(jié)點(diǎn)。
步驟2隨機(jī)指定一個(gè)維度(特征),在當(dāng)前節(jié)點(diǎn)數(shù)據(jù)中隨機(jī)產(chǎn)生一個(gè)切分點(diǎn)(p值產(chǎn)生于當(dāng)前節(jié)點(diǎn)數(shù)據(jù)指定維度的數(shù)據(jù)大小范圍之間,min
步驟3根據(jù)此p值生成一個(gè)超平面,切割數(shù)據(jù)空間,將當(dāng)前數(shù)據(jù)空間切分為兩個(gè)子空間,將指定維度中大于p值的數(shù)據(jù)放入左子空間,小于p值的數(shù)據(jù)放入右子空間。
步驟4在子節(jié)點(diǎn)中遞歸步驟2和步驟3,不斷構(gòu)造形成新的子節(jié)點(diǎn),直到子節(jié)點(diǎn)中只有一個(gè)數(shù)據(jù)項(xiàng)(無(wú)法進(jìn)行分割)或者本棵iTree已經(jīng)達(dá)到預(yù)先設(shè)定的高度(停止分割)。
通過(guò)上述方式構(gòu)建了n棵iTree之后,就完成了iForest的訓(xùn)練。構(gòu)建過(guò)程如圖1所示。
圖1 i Forest構(gòu)建過(guò)程
1.1.2對(duì)數(shù)據(jù)進(jìn)行檢測(cè)
利用上述構(gòu)建的iForest對(duì)測(cè)試數(shù)據(jù)集進(jìn)行測(cè)試。對(duì)于一個(gè)訓(xùn)練數(shù)據(jù)項(xiàng)x,令其遍歷每一棵iTree,然后計(jì)算x最終落在每棵樹的第幾層(樹的高度),記為h(x)。遍歷所有樹后,可以得到數(shù)據(jù)項(xiàng)x在每棵樹的平均高度值E(h(x))。獲得每個(gè)數(shù)據(jù)項(xiàng)的平均高度值后,根據(jù)預(yù)先設(shè)定的閾值,可以判斷低于此閾值的測(cè)試數(shù)據(jù)即為異常值。因?yàn)閕Tree的結(jié)構(gòu)與二叉搜索樹相似,所以設(shè)置標(biāo)準(zhǔn)平均搜索長(zhǎng)度c(Ψ),其計(jì)算式為:
c(Ψ)=2H(Ψ-1)-(2(Ψ-1)/Ψ)
(1)
H(x)=ln(x)+ζ
(2)
式中:ζ是歐拉常數(shù)。根據(jù)式(1)定義數(shù)據(jù)項(xiàng)x是異常值的評(píng)分s(x,Ψ),其計(jì)算式為:
(3)
式中:h(x)為數(shù)據(jù)項(xiàng)x在iTree中的高度;E(h(x))為數(shù)據(jù)項(xiàng)x在iForest中的平均高度。0
(1)E(h(x))越接近于0,s越接近于1,那么數(shù)據(jù)x越可能是異常值。
(2)E(h(x))越接近于n-1,s越接近于0,那么數(shù)據(jù)x越可能是正常值。
(3)E(h(x))越接近于c(Ψ),s越接近于0.5,如果所有數(shù)據(jù)的s都接近于0.5,那么整個(gè)數(shù)據(jù)集中不存在異常值[8]。
1.2.1傳統(tǒng)自編碼器
自編碼器(AE)是Rumelhart于1986年提出的一種特征表示學(xué)習(xí)方法[7],是一類典型的無(wú)監(jiān)督神經(jīng)網(wǎng)絡(luò)模型,由編碼器與解碼器共同組成,其輸入節(jié)點(diǎn)數(shù)與輸出節(jié)點(diǎn)數(shù)相同,在保持輸入與輸出的誤差盡可能小的前提下對(duì)隱含層特征進(jìn)行提取[10],其結(jié)構(gòu)如圖2所示。
圖2 自編碼器結(jié)構(gòu)
圖2是一個(gè)單隱藏層的自編碼器,這個(gè)自編碼器的輸入是一個(gè)n維向量,經(jīng)過(guò)編碼器進(jìn)行壓縮,得到一個(gè)三維向量,再經(jīng)過(guò)解碼器進(jìn)行解碼得到與輸入向量相近或相等的n維向量。
按照?qǐng)D2的結(jié)構(gòu),自編碼器的編碼解碼過(guò)程如下。
(1) 在編碼階段,編碼器將輸入數(shù)據(jù)映射到隱含層以提取輸入數(shù)據(jù)的特征:
Z=h(h)(W(h)X+b(h))
(4)
(2) 在解碼階段,解碼器將編碼器的輸出結(jié)果作為輸入數(shù)據(jù)將隱含層的特征映射到輸出層,實(shí)現(xiàn)輸入數(shù)據(jù)與輸出數(shù)據(jù)相等的結(jié)果:
Y=h(o)(W(o)Z+b(o))
(5)
式中:X是一個(gè)n維的數(shù)據(jù)項(xiàng);W(h)、b(h)是編碼階段的權(quán)重項(xiàng)與偏置項(xiàng);W(o)、b(o)是解碼階段的權(quán)重項(xiàng)與偏置項(xiàng);h(h)、h(o)分別是編碼階段和解碼階段的激活函數(shù),通常使用的函數(shù)是Sigmoid、tanh和ReLU等。
如果N表示樣本總量,n表示數(shù)據(jù)項(xiàng)的維度,那么損失函數(shù)定義如下:
(6)
為了防止模型過(guò)擬合,損失函數(shù)加入懲罰項(xiàng)后定義如下:
(7)
式中:λ為懲罰系數(shù)。
傳統(tǒng)自編碼器關(guān)于隱藏層有三種形式:壓縮結(jié)構(gòu)、稀疏結(jié)構(gòu)和等維結(jié)構(gòu)。這三種結(jié)構(gòu)是根據(jù)隱藏層中神經(jīng)元個(gè)數(shù)進(jìn)行劃分的[11]。圖2所示為壓縮結(jié)構(gòu),即原始數(shù)據(jù)維數(shù)大于隱藏層的維數(shù)。若原始數(shù)據(jù)維數(shù)小于隱藏層的維數(shù)則為系數(shù)結(jié)構(gòu)。壓縮結(jié)構(gòu)可以實(shí)現(xiàn)對(duì)原始數(shù)據(jù)進(jìn)行壓縮,即降維的效果。前提條件是原始數(shù)據(jù)各個(gè)維度之間隱含某些聯(lián)系,那么自編碼神經(jīng)網(wǎng)絡(luò)就可以識(shí)別出各個(gè)維度間的關(guān)聯(lián)性, 在輸出層重構(gòu)原始數(shù)據(jù),達(dá)到降維的效果。
1.2.2棧式堆疊自編碼器
棧式堆疊自編碼器(Stacked AutoEncoder,SAE)是Hinton對(duì)自編碼器進(jìn)一步改進(jìn)提出的一種網(wǎng)絡(luò)[7],堆疊自編碼網(wǎng)絡(luò)是一種由多個(gè)自編碼器連接而成的網(wǎng)絡(luò),其前一層自編碼器的輸出作為其后一層自編碼器的輸入。編碼過(guò)程就是逐層來(lái)執(zhí)行每一個(gè)編碼器,實(shí)現(xiàn)特征的逐層壓縮。同樣的解碼過(guò)程就是逐層執(zhí)行每一個(gè)解碼器,實(shí)現(xiàn)數(shù)據(jù)的重構(gòu),其第一層編碼結(jié)構(gòu)如圖2所示。
本文所采用的數(shù)據(jù)集是阿里巴巴天池大數(shù)據(jù)平臺(tái)提供的公開(kāi)數(shù)據(jù)集,是淘寶的商品推薦系統(tǒng)的真實(shí)流量日志中收集得到的數(shù)據(jù),數(shù)據(jù)包含從2018年9月15日到2018年9月24日共計(jì)10天832 858條記錄。存在一定量的異常數(shù)據(jù),該數(shù)據(jù)集以各種屬性的id值形式給出,原始數(shù)據(jù)包括以下10個(gè)維度:時(shí)間戳;用戶ID;是否是異常值標(biāo)簽;用戶在過(guò)去3天內(nèi)單擊的品牌ID;用戶在過(guò)去3天內(nèi)單擊的產(chǎn)品ID;用戶前一天搜索的類別ID;用戶在過(guò)去3天內(nèi)單擊的項(xiàng)目ID;用戶在過(guò)去3天內(nèi)查看但未單擊的項(xiàng)目ID;用戶在過(guò)去3天內(nèi)單擊的店鋪ID;用戶在過(guò)去3天內(nèi)查看但未單擊的店鋪ID。數(shù)據(jù)集完整不含有任何缺失值。
建立異常行為檢測(cè)模型需要對(duì)數(shù)據(jù)進(jìn)行一定的處理。為避免反復(fù)出現(xiàn)的數(shù)據(jù)干擾模型構(gòu)建,刪除統(tǒng)計(jì)數(shù)據(jù)時(shí)發(fā)現(xiàn)的冗余數(shù)據(jù),刪除之后留下6 388位用戶的610 790條記錄。
由于原始數(shù)據(jù)所提供的特征全部是各種屬性的ID值,不能用于模型的輸入數(shù)據(jù),需要將其轉(zhuǎn)化為數(shù)值型特征。具體步驟如下。
步驟1將原始數(shù)據(jù)的各種ID值轉(zhuǎn)化為ID的個(gè)數(shù)特征,記為F1-F7。
步驟2構(gòu)建隨時(shí)間變化的原紀(jì)錄中的ID在新記錄中的消失率,記為F1_old-F7_old。
步驟3構(gòu)建隨時(shí)間變化的新紀(jì)錄中的ID在原紀(jì)錄中的產(chǎn)生率,記為F1_new-F7_new。
步驟4提取用戶10天之內(nèi)的總操作次數(shù)、每天每位用戶記錄的每一項(xiàng)不重復(fù)行為的重復(fù)次數(shù)得到二者之比,記為F_ratio。
步驟5提取記錄發(fā)生在哪天的特征,記為date。
結(jié)合以上提取的所有特征以及用戶ID共計(jì)24維,在此基礎(chǔ)上對(duì)新數(shù)據(jù)集進(jìn)行去重處理,此時(shí)數(shù)據(jù)集共計(jì)179 747條記錄,24維特征。
由于孤立森林算法是一種具有線性時(shí)間復(fù)雜度、計(jì)算率高,適用于處理大數(shù)據(jù)問(wèn)題,但不適用于處理特別高維的數(shù)據(jù)問(wèn)題的算法,因此在進(jìn)行模型擬合前,需要對(duì)當(dāng)前數(shù)據(jù)集進(jìn)行降維處理。
(1) 對(duì)于數(shù)據(jù)集采用主成分分析(PCA)的方法進(jìn)行降維,經(jīng)過(guò)Kaiser-Meyer-Olkin(KMO)對(duì)數(shù)據(jù)結(jié)構(gòu)的總體分析,結(jié)果顯示為0.677,數(shù)據(jù)集符合主成分分析的基本要求,可以進(jìn)行主成分提取。經(jīng)過(guò)PCA提取主成分分析可以將數(shù)據(jù)集降維至5維,其可解釋總方差累計(jì)值達(dá)到了73%。
(2) 建立棧式堆疊自編碼器(SAE),構(gòu)建一個(gè)包含兩個(gè)編碼器的神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)集進(jìn)行降維處理。因?yàn)橐獙?duì)數(shù)據(jù)集進(jìn)行降維處理,需要對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的歸一化處理,針對(duì)F1-F7的特征做歸一化處理后建立如下網(wǎng)絡(luò),參數(shù)如表1所示。
表1 棧式堆疊編碼器網(wǎng)絡(luò)參數(shù)表
(3) 建立模糊C均值聚類模型,進(jìn)行分類。模糊C均值是Bezdek[12]提出的一種硬C均值聚類(Hard C-Means, HCM)的增廣算法,屬于無(wú)監(jiān)督學(xué)習(xí)算法。模型參數(shù)設(shè)置聚成兩類,迭代停止條件設(shè)置為誤差小于0.005,最大的迭代次數(shù)設(shè)置為1 000。
(4) 建立孤立森林模型,進(jìn)行分類。初始模型參數(shù)設(shè)置建立iTree時(shí)每次使用樣本數(shù)100,建立iTree樹100棵,數(shù)據(jù)集包含異常比率為0.2。
為了評(píng)價(jià)分類模型的好壞并且選擇最優(yōu)的分類模型,需要一些評(píng)價(jià)指標(biāo)作為衡量標(biāo)準(zhǔn)。針對(duì)相關(guān)的問(wèn)題選擇合理的評(píng)價(jià)指標(biāo)對(duì)于分類問(wèn)題有著重要的作用。
在分類問(wèn)題中最常用的分類指標(biāo)是Accuracy,用來(lái)計(jì)算模型分類準(zhǔn)確率的指標(biāo),它返回被正確分類的樣本比例。其公式如下:
(8)
式中:n為預(yù)測(cè)正確的樣本數(shù);N為樣本總數(shù)。
由于本文的實(shí)驗(yàn)是異常檢測(cè),其類別數(shù)據(jù)有著極為不均衡的特點(diǎn),如果僅靠分類準(zhǔn)確率這一指標(biāo)來(lái)判斷模型好壞,將會(huì)導(dǎo)致模型盡可能多的測(cè)試數(shù)據(jù)預(yù)測(cè)為正常值,導(dǎo)致模型失去意義。因此采用混淆矩陣對(duì)模型進(jìn)行進(jìn)一步的評(píng)價(jià)。
對(duì)于二分類問(wèn)題而言,所有問(wèn)題都可以被分為0和1兩類,混淆矩陣是一個(gè)2×2的矩陣,如表2所示,其中:T和F表示真實(shí)值是異常值和不是異常值;P和N表示檢測(cè)結(jié)果是異常值和不是異常值。
表2 混淆矩陣表
根據(jù)混淆矩陣衍生出來(lái)的指標(biāo)有精準(zhǔn)率,即在預(yù)測(cè)值為正例的樣本中預(yù)測(cè)正確的比例,其公式如下:
(9)
召回率,即真實(shí)值為正例的樣本中預(yù)測(cè)正確的比例,其公式如下:
(10)
實(shí)驗(yàn)選用數(shù)據(jù)集中的前9天數(shù)據(jù)作為訓(xùn)練集,第10天的數(shù)據(jù)作為測(cè)試集進(jìn)行測(cè)試。利用棧式堆疊自編碼孤立森林對(duì)數(shù)據(jù)集進(jìn)行異常行為檢測(cè),同時(shí)加入主成分孤立森林、棧式堆疊自編碼模糊C均值、主成分模糊C均值進(jìn)行結(jié)果對(duì)比。
本文采用Python語(yǔ)言TensorFlow環(huán)境,對(duì)數(shù)據(jù)集分別應(yīng)用棧式堆疊自編碼孤立森林、主成分孤立森林、棧式堆疊自編碼模糊C均值和主成分模糊C均值進(jìn)行分類結(jié)果比較。
為獲得合適的孤立森林參數(shù),首先建立棧式堆疊自編碼器,棧式堆疊自編碼器的第二隱藏層作為降維后的特征輸出,其隱藏層神經(jīng)元的個(gè)數(shù)確定為主成分分析降維后的維度5,對(duì)棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)的參數(shù)選取首先迭代30 000次,得到圖3所示的優(yōu)化曲線。
圖3 棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)優(yōu)化曲線
根據(jù)圖3,選擇迭代次數(shù)5 000作為最佳的網(wǎng)絡(luò)訓(xùn)練參數(shù)。本文采用網(wǎng)格搜索的方法對(duì)孤立森林參數(shù)進(jìn)行選取。在數(shù)據(jù)集上,分別將主成分降維后的數(shù)據(jù)集以及棧式堆疊自編碼降維后的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),得到最佳參數(shù)如表3所示。
表3 最佳參數(shù)表
實(shí)驗(yàn)前,對(duì)原始數(shù)據(jù)的分布進(jìn)行考察,分別對(duì)全部原始數(shù)據(jù)繪制分布圖,得到圖4原始數(shù)據(jù)分布圖和圖5原始僅正常數(shù)據(jù)分布圖??梢钥闯霎惓?shù)據(jù)對(duì)于數(shù)據(jù)的分布有很大的影響,經(jīng)過(guò)游程檢驗(yàn),得到P值為150.667,即正常數(shù)據(jù)與異常數(shù)據(jù)明顯構(gòu)成兩個(gè)總體,因此對(duì)于此數(shù)據(jù)集進(jìn)行異常檢測(cè)是有意義的。
圖4 原始數(shù)據(jù)分布圖
圖5 原始僅正常數(shù)據(jù)分布圖
利用棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)對(duì)原始數(shù)據(jù)進(jìn)行降維處理,對(duì)降維后的數(shù)據(jù)繪制分布圖,得到圖6降維后的數(shù)據(jù)分布圖和圖7降維后的僅正常數(shù)據(jù)分布圖。從圖4-圖7可以看出,降維的操作保留了原始數(shù)據(jù)的大致特征,異常數(shù)據(jù)影響著數(shù)據(jù)的分布。
圖6 降維后的數(shù)據(jù)分布圖
圖7 降維后的僅正常數(shù)據(jù)分布圖
經(jīng)過(guò)自編碼器-孤立森林模型檢測(cè)后,對(duì)檢測(cè)后的數(shù)據(jù)繪制分布圖,得到圖8模型檢測(cè)后的正常數(shù)據(jù)分布圖以及圖9模型檢測(cè)前后的正常數(shù)據(jù)分布圖??梢钥闯?,經(jīng)過(guò)模型檢測(cè)后的數(shù)據(jù)分布與檢測(cè)前剔除異常數(shù)據(jù)的分布幾乎完全擬合,可以看出模型的檢測(cè)是有效的。
圖8 模型檢測(cè)后的正常數(shù)據(jù)分布圖
圖9 模型檢測(cè)前后的正常數(shù)據(jù)分布圖
為了驗(yàn)證模型的性能,將棧式堆疊自編碼孤立森林、主成分孤立森林、棧式堆疊自編碼模糊C均值和主成分模糊C均值以上四種分類模型進(jìn)行比較分析。對(duì)于每一種方法均采用網(wǎng)格搜索方法進(jìn)行參數(shù)調(diào)節(jié),模型與指標(biāo)衡量結(jié)果如表4所示。
表4 模型對(duì)比分析表
根據(jù)表4的結(jié)果對(duì)比,可以看到:棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)(SAE)的降維效果整體優(yōu)于主成分(PCA)的降維效果;棧式堆疊自編碼神經(jīng)網(wǎng)絡(luò)與孤立森林結(jié)合的方式在指標(biāo)準(zhǔn)確率、精準(zhǔn)率的衡量下效果最好。選擇這兩指標(biāo)作為衡量標(biāo)準(zhǔn),是因?yàn)樵诰W(wǎng)購(gòu)消費(fèi)者異常行為檢測(cè)這一問(wèn)題中,本文更加關(guān)注異常行為被正確識(shí)別出來(lái)的比率。
本文提出一種基于自編碼器-孤立森林的網(wǎng)購(gòu)消費(fèi)者異常行為檢測(cè)方法,采用棧式堆疊自編碼網(wǎng)絡(luò)作為降維方法,避免了高維的特征帶來(lái)的維度災(zāi)難,充分地利用了深度學(xué)習(xí)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)復(fù)雜特征表示的能力。利用PCA降維后的特征個(gè)數(shù)作為自編碼網(wǎng)絡(luò)的輸出層神經(jīng)元個(gè)數(shù),減少了自編碼網(wǎng)絡(luò)的訓(xùn)練次數(shù),加快了網(wǎng)絡(luò)訓(xùn)練速度。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)網(wǎng)購(gòu)消費(fèi)者異常行為的檢測(cè)準(zhǔn)確率達(dá)到了92%,檢測(cè)的精準(zhǔn)率達(dá)到了82%。效果明顯優(yōu)于PCA與孤立森林和模糊C均值結(jié)合的方法,具有較好的實(shí)用性以及實(shí)際運(yùn)用價(jià)值。
下一步工作將從以下幾方面展開(kāi):分析經(jīng)過(guò)模型識(shí)別出來(lái)的異常行為、判斷出現(xiàn)的原因、異常行為歸類、針對(duì)每一類異常行為的對(duì)策以及收集并使用更多網(wǎng)購(gòu)消費(fèi)者行為信息輸入模型,進(jìn)一步提高分類準(zhǔn)確率和精準(zhǔn)率。