亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于自編碼器-孤立森林的網(wǎng)購消費者異常行為檢測

        2022-02-19 10:24:16林國順
        計算機應用與軟件 2022年2期
        關(guān)鍵詞:檢測模型

        林國順 王 野

        (大連海事大學航運經(jīng)濟與管理學院 遼寧 大連 116026)

        0 引 言

        2018年中國網(wǎng)絡購物交易規(guī)??蛇_8萬億元,網(wǎng)絡購物的用戶規(guī)模高達6.39億,網(wǎng)民使用率達74.8%。淘寶天貓移動月活躍用戶就高達1.04億[1]。如此龐大的數(shù)據(jù)量的高效使用已經(jīng)成為互聯(lián)網(wǎng)公司面臨的一個關(guān)鍵性問題。為進一步分析網(wǎng)購消費者行為習慣特征,掌握網(wǎng)購消費者的行為意圖和真實需求,有必要對網(wǎng)購消費者的異常行為進行檢測研究。

        目前,在異常檢測領域的相關(guān)研究中,主要的檢測方法有時間序列方法、基于統(tǒng)計的方法和基于距離的方法等[2]。其中:時間序列的方法對于高度復雜非線性的數(shù)據(jù)集的分類效果不佳;基于統(tǒng)計的方法常常需要許多的先驗條件才可以應用,往往實際的數(shù)據(jù)集難以符合這些前提條件;基于距離的方法在數(shù)據(jù)量大、數(shù)據(jù)類別分布極為不均衡的情境下分類效果不佳。

        隨著網(wǎng)絡購物的不斷發(fā)展、網(wǎng)購人數(shù)的不斷增長,網(wǎng)購消費者的行為信息也越來越多,越來越復雜,所得到的數(shù)據(jù)往往呈現(xiàn)出極高維度的分類id所組成的屬性特征[3],導致常用的檢測方法實驗效果達不到預期,準確率低、精準率低,不能滿足實際應用中需求。

        孤立森林作為一種無監(jiān)督檢測算法,已經(jīng)被應用到很多異常檢測領域,特別是異常用電方面[4]。國內(nèi)外學者通過分析異常用戶的歷史行為信息為電力系統(tǒng)[4]、網(wǎng)絡攻擊[5]和網(wǎng)絡安全[6]等多個領域建立了孤立森林異常用戶行為檢測模型,并在實驗中取得了不錯的效果。

        自編碼器(autoencoder,AE)是一種無監(jiān)督的學習算法,主要用于數(shù)據(jù)的降維或者特征的提取[7],能夠解決多分類算法在處理高緯度數(shù)據(jù)集時分類效果差的問題,目前已經(jīng)被國內(nèi)外許多學者應用在了各個領域,尤其是圖像檢測領域[8],達到了不錯的實驗效果。

        網(wǎng)購消費者行為數(shù)據(jù)是一種數(shù)據(jù)量龐大、數(shù)據(jù)維度很高且行為特征需要人為構(gòu)建的一類數(shù)據(jù)。本文通過人工特征構(gòu)造的方式提取了22維特征,使用主成分分析的方式對數(shù)據(jù)進行降維得到了最佳的降維參數(shù)5,并以此為依據(jù)搭建了一個含兩個編碼器的棧式堆疊自編碼神經(jīng)網(wǎng)絡進行特征壓縮,克服了數(shù)據(jù)維度高的問題。以此輸出數(shù)據(jù)為訓練數(shù)據(jù)構(gòu)建孤立森林模型對網(wǎng)購消費者異常行為進行檢測研究,加入主成分降維數(shù)據(jù)以及模糊C均值方法進行對比分析,來驗證檢測模型的合理性和有效性。

        1 相關(guān)方法

        1.1 孤立森林

        孤立森林(Isolation Forest)[9]不需要有標簽的數(shù)據(jù)進行模型訓練,屬于無監(jiān)督方法。通過孤立異常數(shù)據(jù)點來實現(xiàn)數(shù)據(jù)異常檢測,具有線性時間復雜度和計算率高的特點,適用于處理大數(shù)據(jù)問題,但不適用于處理特別高維的數(shù)據(jù)問題。孤立森林的實現(xiàn)包括構(gòu)建包含t個iTree的孤立森林和對數(shù)據(jù)進行檢測兩個步驟。

        1.1.1構(gòu)建包含t個iTree的孤立森林

        孤立森林算法的目標是對數(shù)據(jù)集進行子采樣并構(gòu)造iTree, 然后將多個iTree集成(ensemble)為iForest用以檢測異常數(shù)據(jù), 其實現(xiàn)步驟如下。

        步驟1在訓練數(shù)據(jù)中隨機地選取Ψ個樣本點作為子樣本集,作為樹的根節(jié)點。

        步驟2隨機指定一個維度(特征),在當前節(jié)點數(shù)據(jù)中隨機產(chǎn)生一個切分點(p值產(chǎn)生于當前節(jié)點數(shù)據(jù)指定維度的數(shù)據(jù)大小范圍之間,min

        步驟3根據(jù)此p值生成一個超平面,切割數(shù)據(jù)空間,將當前數(shù)據(jù)空間切分為兩個子空間,將指定維度中大于p值的數(shù)據(jù)放入左子空間,小于p值的數(shù)據(jù)放入右子空間。

        步驟4在子節(jié)點中遞歸步驟2和步驟3,不斷構(gòu)造形成新的子節(jié)點,直到子節(jié)點中只有一個數(shù)據(jù)項(無法進行分割)或者本棵iTree已經(jīng)達到預先設定的高度(停止分割)。

        通過上述方式構(gòu)建了n棵iTree之后,就完成了iForest的訓練。構(gòu)建過程如圖1所示。

        圖1 i Forest構(gòu)建過程

        1.1.2對數(shù)據(jù)進行檢測

        利用上述構(gòu)建的iForest對測試數(shù)據(jù)集進行測試。對于一個訓練數(shù)據(jù)項x,令其遍歷每一棵iTree,然后計算x最終落在每棵樹的第幾層(樹的高度),記為h(x)。遍歷所有樹后,可以得到數(shù)據(jù)項x在每棵樹的平均高度值E(h(x))。獲得每個數(shù)據(jù)項的平均高度值后,根據(jù)預先設定的閾值,可以判斷低于此閾值的測試數(shù)據(jù)即為異常值。因為iTree的結(jié)構(gòu)與二叉搜索樹相似,所以設置標準平均搜索長度c(Ψ),其計算式為:

        c(Ψ)=2H(Ψ-1)-(2(Ψ-1)/Ψ)

        (1)

        H(x)=ln(x)+ζ

        (2)

        式中:ζ是歐拉常數(shù)。根據(jù)式(1)定義數(shù)據(jù)項x是異常值的評分s(x,Ψ),其計算式為:

        (3)

        式中:h(x)為數(shù)據(jù)項x在iTree中的高度;E(h(x))為數(shù)據(jù)項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,那么整個數(shù)據(jù)集中不存在異常值[8]。

        1.2 自編碼神經(jīng)網(wǎng)絡

        1.2.1傳統(tǒng)自編碼器

        自編碼器(AE)是Rumelhart于1986年提出的一種特征表示學習方法[7],是一類典型的無監(jiān)督神經(jīng)網(wǎng)絡模型,由編碼器與解碼器共同組成,其輸入節(jié)點數(shù)與輸出節(jié)點數(shù)相同,在保持輸入與輸出的誤差盡可能小的前提下對隱含層特征進行提取[10],其結(jié)構(gòu)如圖2所示。

        圖2 自編碼器結(jié)構(gòu)

        圖2是一個單隱藏層的自編碼器,這個自編碼器的輸入是一個n維向量,經(jīng)過編碼器進行壓縮,得到一個三維向量,再經(jīng)過解碼器進行解碼得到與輸入向量相近或相等的n維向量。

        按照圖2的結(jié)構(gòu),自編碼器的編碼解碼過程如下。

        (1) 在編碼階段,編碼器將輸入數(shù)據(jù)映射到隱含層以提取輸入數(shù)據(jù)的特征:

        Z=h(h)(W(h)X+b(h))

        (4)

        (2) 在解碼階段,解碼器將編碼器的輸出結(jié)果作為輸入數(shù)據(jù)將隱含層的特征映射到輸出層,實現(xiàn)輸入數(shù)據(jù)與輸出數(shù)據(jù)相等的結(jié)果:

        Y=h(o)(W(o)Z+b(o))

        (5)

        式中:X是一個n維的數(shù)據(jù)項;W(h)、b(h)是編碼階段的權(quán)重項與偏置項;W(o)、b(o)是解碼階段的權(quán)重項與偏置項;h(h)、h(o)分別是編碼階段和解碼階段的激活函數(shù),通常使用的函數(shù)是Sigmoid、tanh和ReLU等。

        如果N表示樣本總量,n表示數(shù)據(jù)項的維度,那么損失函數(shù)定義如下:

        (6)

        為了防止模型過擬合,損失函數(shù)加入懲罰項后定義如下:

        (7)

        式中:λ為懲罰系數(shù)。

        傳統(tǒng)自編碼器關(guān)于隱藏層有三種形式:壓縮結(jié)構(gòu)、稀疏結(jié)構(gòu)和等維結(jié)構(gòu)。這三種結(jié)構(gòu)是根據(jù)隱藏層中神經(jīng)元個數(shù)進行劃分的[11]。圖2所示為壓縮結(jié)構(gòu),即原始數(shù)據(jù)維數(shù)大于隱藏層的維數(shù)。若原始數(shù)據(jù)維數(shù)小于隱藏層的維數(shù)則為系數(shù)結(jié)構(gòu)。壓縮結(jié)構(gòu)可以實現(xiàn)對原始數(shù)據(jù)進行壓縮,即降維的效果。前提條件是原始數(shù)據(jù)各個維度之間隱含某些聯(lián)系,那么自編碼神經(jīng)網(wǎng)絡就可以識別出各個維度間的關(guān)聯(lián)性, 在輸出層重構(gòu)原始數(shù)據(jù),達到降維的效果。

        1.2.2棧式堆疊自編碼器

        棧式堆疊自編碼器(Stacked AutoEncoder,SAE)是Hinton對自編碼器進一步改進提出的一種網(wǎng)絡[7],堆疊自編碼網(wǎng)絡是一種由多個自編碼器連接而成的網(wǎng)絡,其前一層自編碼器的輸出作為其后一層自編碼器的輸入。編碼過程就是逐層來執(zhí)行每一個編碼器,實現(xiàn)特征的逐層壓縮。同樣的解碼過程就是逐層執(zhí)行每一個解碼器,實現(xiàn)數(shù)據(jù)的重構(gòu),其第一層編碼結(jié)構(gòu)如圖2所示。

        2 數(shù)據(jù)集描述以及數(shù)據(jù)預處理

        2.1 數(shù)據(jù)集描述

        本文所采用的數(shù)據(jù)集是阿里巴巴天池大數(shù)據(jù)平臺提供的公開數(shù)據(jù)集,是淘寶的商品推薦系統(tǒng)的真實流量日志中收集得到的數(shù)據(jù),數(shù)據(jù)包含從2018年9月15日到2018年9月24日共計10天832 858條記錄。存在一定量的異常數(shù)據(jù),該數(shù)據(jù)集以各種屬性的id值形式給出,原始數(shù)據(jù)包括以下10個維度:時間戳;用戶ID;是否是異常值標簽;用戶在過去3天內(nèi)單擊的品牌ID;用戶在過去3天內(nèi)單擊的產(chǎn)品ID;用戶前一天搜索的類別ID;用戶在過去3天內(nèi)單擊的項目ID;用戶在過去3天內(nèi)查看但未單擊的項目ID;用戶在過去3天內(nèi)單擊的店鋪ID;用戶在過去3天內(nèi)查看但未單擊的店鋪ID。數(shù)據(jù)集完整不含有任何缺失值。

        2.2 數(shù)據(jù)預處理

        建立異常行為檢測模型需要對數(shù)據(jù)進行一定的處理。為避免反復出現(xiàn)的數(shù)據(jù)干擾模型構(gòu)建,刪除統(tǒng)計數(shù)據(jù)時發(fā)現(xiàn)的冗余數(shù)據(jù),刪除之后留下6 388位用戶的610 790條記錄。

        2.3 特征提取

        由于原始數(shù)據(jù)所提供的特征全部是各種屬性的ID值,不能用于模型的輸入數(shù)據(jù),需要將其轉(zhuǎn)化為數(shù)值型特征。具體步驟如下。

        步驟1將原始數(shù)據(jù)的各種ID值轉(zhuǎn)化為ID的個數(shù)特征,記為F1-F7。

        步驟2構(gòu)建隨時間變化的原紀錄中的ID在新記錄中的消失率,記為F1_old-F7_old。

        步驟3構(gòu)建隨時間變化的新紀錄中的ID在原紀錄中的產(chǎn)生率,記為F1_new-F7_new。

        步驟4提取用戶10天之內(nèi)的總操作次數(shù)、每天每位用戶記錄的每一項不重復行為的重復次數(shù)得到二者之比,記為F_ratio。

        步驟5提取記錄發(fā)生在哪天的特征,記為date。

        結(jié)合以上提取的所有特征以及用戶ID共計24維,在此基礎上對新數(shù)據(jù)集進行去重處理,此時數(shù)據(jù)集共計179 747條記錄,24維特征。

        3 模型構(gòu)建與評價指標

        3.1 模型構(gòu)建

        由于孤立森林算法是一種具有線性時間復雜度、計算率高,適用于處理大數(shù)據(jù)問題,但不適用于處理特別高維的數(shù)據(jù)問題的算法,因此在進行模型擬合前,需要對當前數(shù)據(jù)集進行降維處理。

        (1) 對于數(shù)據(jù)集采用主成分分析(PCA)的方法進行降維,經(jīng)過Kaiser-Meyer-Olkin(KMO)對數(shù)據(jù)結(jié)構(gòu)的總體分析,結(jié)果顯示為0.677,數(shù)據(jù)集符合主成分分析的基本要求,可以進行主成分提取。經(jīng)過PCA提取主成分分析可以將數(shù)據(jù)集降維至5維,其可解釋總方差累計值達到了73%。

        (2) 建立棧式堆疊自編碼器(SAE),構(gòu)建一個包含兩個編碼器的神經(jīng)網(wǎng)絡對數(shù)據(jù)集進行降維處理。因為要對數(shù)據(jù)集進行降維處理,需要對數(shù)據(jù)進行進一步的歸一化處理,針對F1-F7的特征做歸一化處理后建立如下網(wǎng)絡,參數(shù)如表1所示。

        表1 棧式堆疊編碼器網(wǎng)絡參數(shù)表

        (3) 建立模糊C均值聚類模型,進行分類。模糊C均值是Bezdek[12]提出的一種硬C均值聚類(Hard C-Means, HCM)的增廣算法,屬于無監(jiān)督學習算法。模型參數(shù)設置聚成兩類,迭代停止條件設置為誤差小于0.005,最大的迭代次數(shù)設置為1 000。

        (4) 建立孤立森林模型,進行分類。初始模型參數(shù)設置建立iTree時每次使用樣本數(shù)100,建立iTree樹100棵,數(shù)據(jù)集包含異常比率為0.2。

        3.2 模型評價

        為了評價分類模型的好壞并且選擇最優(yōu)的分類模型,需要一些評價指標作為衡量標準。針對相關(guān)的問題選擇合理的評價指標對于分類問題有著重要的作用。

        在分類問題中最常用的分類指標是Accuracy,用來計算模型分類準確率的指標,它返回被正確分類的樣本比例。其公式如下:

        (8)

        式中:n為預測正確的樣本數(shù);N為樣本總數(shù)。

        由于本文的實驗是異常檢測,其類別數(shù)據(jù)有著極為不均衡的特點,如果僅靠分類準確率這一指標來判斷模型好壞,將會導致模型盡可能多的測試數(shù)據(jù)預測為正常值,導致模型失去意義。因此采用混淆矩陣對模型進行進一步的評價。

        對于二分類問題而言,所有問題都可以被分為0和1兩類,混淆矩陣是一個2×2的矩陣,如表2所示,其中:T和F表示真實值是異常值和不是異常值;P和N表示檢測結(jié)果是異常值和不是異常值。

        表2 混淆矩陣表

        根據(jù)混淆矩陣衍生出來的指標有精準率,即在預測值為正例的樣本中預測正確的比例,其公式如下:

        (9)

        召回率,即真實值為正例的樣本中預測正確的比例,其公式如下:

        (10)

        4 實驗與結(jié)果分析

        4.1 實 驗

        實驗選用數(shù)據(jù)集中的前9天數(shù)據(jù)作為訓練集,第10天的數(shù)據(jù)作為測試集進行測試。利用棧式堆疊自編碼孤立森林對數(shù)據(jù)集進行異常行為檢測,同時加入主成分孤立森林、棧式堆疊自編碼模糊C均值、主成分模糊C均值進行結(jié)果對比。

        本文采用Python語言TensorFlow環(huán)境,對數(shù)據(jù)集分別應用棧式堆疊自編碼孤立森林、主成分孤立森林、棧式堆疊自編碼模糊C均值和主成分模糊C均值進行分類結(jié)果比較。

        為獲得合適的孤立森林參數(shù),首先建立棧式堆疊自編碼器,棧式堆疊自編碼器的第二隱藏層作為降維后的特征輸出,其隱藏層神經(jīng)元的個數(shù)確定為主成分分析降維后的維度5,對棧式堆疊自編碼神經(jīng)網(wǎng)絡的參數(shù)選取首先迭代30 000次,得到圖3所示的優(yōu)化曲線。

        圖3 棧式堆疊自編碼神經(jīng)網(wǎng)絡優(yōu)化曲線

        根據(jù)圖3,選擇迭代次數(shù)5 000作為最佳的網(wǎng)絡訓練參數(shù)。本文采用網(wǎng)格搜索的方法對孤立森林參數(shù)進行選取。在數(shù)據(jù)集上,分別將主成分降維后的數(shù)據(jù)集以及棧式堆疊自編碼降維后的數(shù)據(jù)集進行實驗,得到最佳參數(shù)如表3所示。

        表3 最佳參數(shù)表

        實驗前,對原始數(shù)據(jù)的分布進行考察,分別對全部原始數(shù)據(jù)繪制分布圖,得到圖4原始數(shù)據(jù)分布圖和圖5原始僅正常數(shù)據(jù)分布圖??梢钥闯霎惓?shù)據(jù)對于數(shù)據(jù)的分布有很大的影響,經(jīng)過游程檢驗,得到P值為150.667,即正常數(shù)據(jù)與異常數(shù)據(jù)明顯構(gòu)成兩個總體,因此對于此數(shù)據(jù)集進行異常檢測是有意義的。

        圖4 原始數(shù)據(jù)分布圖

        圖5 原始僅正常數(shù)據(jù)分布圖

        利用棧式堆疊自編碼神經(jīng)網(wǎng)絡對原始數(shù)據(jù)進行降維處理,對降維后的數(shù)據(jù)繪制分布圖,得到圖6降維后的數(shù)據(jù)分布圖和圖7降維后的僅正常數(shù)據(jù)分布圖。從圖4-圖7可以看出,降維的操作保留了原始數(shù)據(jù)的大致特征,異常數(shù)據(jù)影響著數(shù)據(jù)的分布。

        圖6 降維后的數(shù)據(jù)分布圖

        圖7 降維后的僅正常數(shù)據(jù)分布圖

        經(jīng)過自編碼器-孤立森林模型檢測后,對檢測后的數(shù)據(jù)繪制分布圖,得到圖8模型檢測后的正常數(shù)據(jù)分布圖以及圖9模型檢測前后的正常數(shù)據(jù)分布圖??梢钥闯觯?jīng)過模型檢測后的數(shù)據(jù)分布與檢測前剔除異常數(shù)據(jù)的分布幾乎完全擬合,可以看出模型的檢測是有效的。

        圖8 模型檢測后的正常數(shù)據(jù)分布圖

        圖9 模型檢測前后的正常數(shù)據(jù)分布圖

        4.2 結(jié)果分析

        為了驗證模型的性能,將棧式堆疊自編碼孤立森林、主成分孤立森林、棧式堆疊自編碼模糊C均值和主成分模糊C均值以上四種分類模型進行比較分析。對于每一種方法均采用網(wǎng)格搜索方法進行參數(shù)調(diào)節(jié),模型與指標衡量結(jié)果如表4所示。

        表4 模型對比分析表

        根據(jù)表4的結(jié)果對比,可以看到:棧式堆疊自編碼神經(jīng)網(wǎng)絡(SAE)的降維效果整體優(yōu)于主成分(PCA)的降維效果;棧式堆疊自編碼神經(jīng)網(wǎng)絡與孤立森林結(jié)合的方式在指標準確率、精準率的衡量下效果最好。選擇這兩指標作為衡量標準,是因為在網(wǎng)購消費者異常行為檢測這一問題中,本文更加關(guān)注異常行為被正確識別出來的比率。

        5 結(jié) 語

        本文提出一種基于自編碼器-孤立森林的網(wǎng)購消費者異常行為檢測方法,采用棧式堆疊自編碼網(wǎng)絡作為降維方法,避免了高維的特征帶來的維度災難,充分地利用了深度學習網(wǎng)絡自動學習復雜特征表示的能力。利用PCA降維后的特征個數(shù)作為自編碼網(wǎng)絡的輸出層神經(jīng)元個數(shù),減少了自編碼網(wǎng)絡的訓練次數(shù),加快了網(wǎng)絡訓練速度。實驗結(jié)果表明,該方法對網(wǎng)購消費者異常行為的檢測準確率達到了92%,檢測的精準率達到了82%。效果明顯優(yōu)于PCA與孤立森林和模糊C均值結(jié)合的方法,具有較好的實用性以及實際運用價值。

        下一步工作將從以下幾方面展開:分析經(jīng)過模型識別出來的異常行為、判斷出現(xiàn)的原因、異常行為歸類、針對每一類異常行為的對策以及收集并使用更多網(wǎng)購消費者行為信息輸入模型,進一步提高分類準確率和精準率。

        猜你喜歡
        檢測模型
        一半模型
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        小波變換在PCB缺陷檢測中的應用
        国内精品久久久久影院优| 无码中文字幕人妻在线一区| 亚洲国产天堂一区二区三区| 亚洲成av人最新无码| 最新国产精品精品视频| 一道之本加勒比热东京| 无码熟妇人妻av影音先锋| 无码人妻一区二区三区免费| 狠狠色欧美亚洲综合色黑a| 久久精品国产亚洲av久五月天| 日本丰满熟妇videossexhd| 久久久久亚洲av无码专区桃色| 粗壮挺进人妻水蜜桃成熟漫画| 国产区福利| 亚洲黄色官网在线观看| 蜜桃视频在线观看免费亚洲| 亚洲中文字幕在线观看| 亚洲日韩精品欧美一区二区三区不卡| 久久久99精品国产片| 国产亚洲精品综合一区| 永久免费观看国产裸体美女| 欧美 亚洲 国产 日韩 综AⅤ| 丰满人妻中文字幕乱码| 亚洲一区第二区三区四区| 国产又粗又黄又爽的大片| 精品欧美乱子伦一区二区三区 | 日本精品一区二区高清| 99精品国产99久久久久久97| 日韩在线视精品在亚洲| 国产女人高潮的av毛片| 亚洲最全av一区二区| 国产性生交xxxxx免费| 精精国产xxxx视频在线播放器| 91国产自拍精品视频| 熟女少妇内射日韩亚洲| 456亚洲人成影视在线观看| 一道本中文字幕在线播放| 东北熟妇露脸25分钟| 亚洲国产天堂一区二区三区| 91精品全国免费观看青青| 亚洲av中文字字幕乱码|