郭一陽,于炯,2*,杜旭升,楊少智,曹銘
基于自編碼器與集成學(xué)習(xí)的離群點(diǎn)檢測算法
郭一陽1,于炯1,2*,杜旭升1,楊少智1,曹銘3
(1.新疆大學(xué) 信息科學(xué)與工程學(xué)院,烏魯木齊 830046; 2.新疆大學(xué) 軟件學(xué)院,烏魯木齊 830091; 3.中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)( ? 通信作者電子郵箱yujiong@xju.edu.cn)
針對基于自編碼器的離群點(diǎn)檢測算法在中小規(guī)模數(shù)據(jù)集上易過擬合以及傳統(tǒng)的基于集成學(xué)習(xí)的離群點(diǎn)檢測算法未對基檢測器進(jìn)行優(yōu)化選擇而導(dǎo)致的檢測精度低的問題,提出了一種基于自編碼器與集成學(xué)習(xí)的離群點(diǎn)檢測(EAOD)算法。首先,隨機(jī)改變自編碼器的連接結(jié)構(gòu)來生成不同的基檢測器,以獲取數(shù)據(jù)對象的離群值和標(biāo)簽離群值;然后,通過最近鄰算法計(jì)算數(shù)據(jù)對象之間的歐氏距離,并在對象周圍構(gòu)建局部區(qū)域;最后,根據(jù)離群值與標(biāo)簽離群值之間的相似度,選擇在該區(qū)域內(nèi)檢測能力強(qiáng)的基檢測器進(jìn)行組合,組合后的對象離群值作為EAOD算法最終判定的離群值。在實(shí)驗(yàn)中,所提算法與自編碼器(AE)算法相比,在Cardio數(shù)據(jù)集上,接受者操作特征曲線下方的面積(AUC)和平均精度(AP)分值分別提高了8.08個百分點(diǎn)和9.17個百分點(diǎn);所提算法與特征裝袋(FB)集成學(xué)習(xí)算法相比,在Mnist數(shù)據(jù)集上,運(yùn)行時間成本降低了21.33%。實(shí)驗(yàn)結(jié)果表明,在無監(jiān)督學(xué)習(xí)下所提算法具有良好的檢測性能和檢測實(shí)時性。
離群點(diǎn)檢測;集成學(xué)習(xí);自編碼器;基檢測器;無監(jiān)督學(xué)習(xí)
離群點(diǎn)是指那些與數(shù)據(jù)集中絕大多數(shù)對象的產(chǎn)生機(jī)制不同的、偏離程度較大的數(shù)據(jù)對象[1]。離群點(diǎn)檢測算法通常用于解決金融欺詐檢測、網(wǎng)絡(luò)入侵檢測、醫(yī)療輔助診斷等問題[2-4]。
由于現(xiàn)實(shí)環(huán)境中往往缺乏數(shù)據(jù)集對應(yīng)的標(biāo)簽,因此在離群點(diǎn)檢測算法中通常采用無監(jiān)督學(xué)習(xí)的方式[5]。近十年,深度學(xué)習(xí)在數(shù)據(jù)挖掘領(lǐng)域蓬勃發(fā)展[6]。基于自編碼器的離群點(diǎn)檢測算法利用神經(jīng)網(wǎng)絡(luò)的強(qiáng)大學(xué)習(xí)能力,學(xué)習(xí)輸入數(shù)據(jù)的模式,最后將那些在自編碼器的輸出層中難以重構(gòu)的對象判定為離群點(diǎn)。但該算法在中小規(guī)模數(shù)據(jù)集上容易產(chǎn)生過擬合問題,導(dǎo)致算法的檢測精度低[7]。在集成學(xué)習(xí)中,不同的基檢測器各自產(chǎn)生獨(dú)立誤差,將多個基檢測器進(jìn)行組合,可以降低單一基檢測器的過擬合風(fēng)險(xiǎn)[8]。因此,將自編碼器與集成學(xué)習(xí)相結(jié)合可以有效地降低過擬合風(fēng)險(xiǎn)。實(shí)際上,設(shè)計(jì)產(chǎn)生獨(dú)立誤差的集成學(xué)習(xí)框架具有一定的挑戰(zhàn)性。動態(tài)分類器選擇(Dynamic Classifier Selection, DCS)算法[9]有效地緩解了這個具有挑戰(zhàn)性的問題,其基本思想是平衡集成學(xué)習(xí)中基檢測器的準(zhǔn)確性和多樣性兩者之間的關(guān)系。DCS算法生成多個且不同的基檢測器,同時盡可能地提高基檢測器的準(zhǔn)確性,達(dá)到準(zhǔn)確識別離群點(diǎn)的目的。DCS算法的檢測效果取決于對基檢測器局部區(qū)域檢測能力的正確評估,如果在該局部區(qū)域內(nèi)不能正確評估基檢測器的檢測能力,那么將導(dǎo)致檢測精度低的結(jié)果。動態(tài)集成選擇(Dynamic Ensemble Selection, DES)算法[10]通過優(yōu)化選擇一組基檢測器的方式,并通過一些規(guī)則(如投票規(guī)則)將該組基檢測器進(jìn)行有效組合,解決了不能正確評估基檢測器檢測能力的問題。
受DCS和DES兩種算法的啟發(fā),本文提出了基于自編碼器與集成學(xué)習(xí)的離群點(diǎn)檢測(Ensemble learning and Autoencoder-based Outlier Detection, EAOD)算法。由于數(shù)據(jù)對象之間在數(shù)據(jù)集中分布彼此有關(guān)聯(lián),EAOD算法假設(shè)一組基檢測器在數(shù)據(jù)的鄰近對象上檢測能力良好,那么該組基檢測器在該數(shù)據(jù)上的檢測能力也同樣良好。EAOD算法的主要流程為:首先使用隨機(jī)連接的自編碼器作為集成學(xué)習(xí)框架中的基檢測器,初始化訓(xùn)練集數(shù)據(jù)對象的離群值,生成離群值矩陣和標(biāo)簽離群值矩陣;其次根據(jù)各個數(shù)據(jù)對象之間的歐氏距離在測試集數(shù)據(jù)對象周圍生成一個局部區(qū)域;最后在該局部區(qū)域內(nèi),根據(jù)離群值矩陣和標(biāo)簽離群值矩陣計(jì)算數(shù)據(jù)對象余弦相似度,通過對比余弦相似度,選擇檢測能力強(qiáng)的基檢測器進(jìn)行組合,組合后的對象離群值作為EAOD算法最終判定的離群值。
本文算法的主要貢獻(xiàn)如下:
1)提出了一種隨機(jī)改變自編碼器連接結(jié)構(gòu)的方式。在EAOD算法中,通過對相鄰隱藏層中的神經(jīng)元進(jìn)行有放回隨機(jī)采樣,使得神經(jīng)元之間的一部分連接臨時性地消失,達(dá)到隨機(jī)改變自編碼器連接結(jié)構(gòu)的目的。
2)提出了一種在無監(jiān)督學(xué)習(xí)下標(biāo)記數(shù)據(jù)離群程度的方式。EAOD算法假設(shè)在不存在數(shù)據(jù)真實(shí)標(biāo)簽的情況下進(jìn)行離群點(diǎn)檢測,取全部基檢測器對數(shù)據(jù)輸出值的最大值作為數(shù)據(jù)離群程度的標(biāo)簽。
3)提出了一種在構(gòu)建的數(shù)據(jù)對象局部區(qū)域內(nèi)選擇合適的基檢測器進(jìn)行組合的方式。EAOD算法以定義鄰域簇的方式構(gòu)建數(shù)據(jù)局部區(qū)域,在該局部區(qū)域內(nèi)計(jì)算基檢測器上數(shù)據(jù)對象的離群值與標(biāo)簽離群值之間的余弦相似度,根據(jù)該相似度大小選擇合適的基檢測器進(jìn)行組合。
從分類的角度,可以將現(xiàn)階段的離群點(diǎn)檢測算法分類為:1)基于統(tǒng)計(jì);2)基于相似度;3)基于分類;4)基于聚類;5)基于神經(jīng)網(wǎng)絡(luò);6)基于集成學(xué)習(xí)。值得注意的是,某些算法可能被劃分到不止一類中。
1)基于統(tǒng)計(jì)的離群點(diǎn)檢測算法通過對數(shù)據(jù)集中數(shù)據(jù)的分布情況做出假設(shè),假定數(shù)據(jù)有一個已知的基本分布或統(tǒng)計(jì)模型,離群點(diǎn)則屬于基本模型中概率較低的對象。例如:基于直方圖的離群分?jǐn)?shù)(Histogram-Based Outlier Score, HBOS)算法[11]假設(shè)數(shù)據(jù)在每個維度具有獨(dú)立性,對每個維度做出直方圖進(jìn)行密度估計(jì)。該類算法常用到假設(shè)檢驗(yàn)或極值分析,其主要缺點(diǎn)是假設(shè)性強(qiáng),效果與真實(shí)情況的匹配程度低。
2)基于相似度的離群點(diǎn)檢測算法針對正常點(diǎn)和離群點(diǎn)在數(shù)據(jù)集中分布不同的特點(diǎn),通過數(shù)據(jù)對象之間的相似度(如:距離、密度等)檢測離群點(diǎn)。例如:最近鄰(-Nearest Neighbors,-NN)算法[12]通過計(jì)算數(shù)據(jù)對象之間的距離,得到數(shù)據(jù)對象的離群值等于該對象到它的第個近鄰的距離;局部離群因子(Local Outlier Factor, LOF)算法[13]通過評估數(shù)據(jù)集中數(shù)據(jù)對象與其近鄰的局部密度偏差,偏差較大的數(shù)據(jù)對象被定義是離群點(diǎn)。該類算法對數(shù)據(jù)對象的維度較為敏感,當(dāng)對象維度較高時,該類算法檢測性能較差。
3)基于分類的離群點(diǎn)檢測算法通過在數(shù)據(jù)集中不斷學(xué)習(xí),找出有規(guī)律的決策邊界或超平面,得到的決策邊界或超平面所包含的少數(shù)數(shù)據(jù)對象被定義是離群點(diǎn)。該類算法的主要缺點(diǎn)是耗費(fèi)時間長,且在稀疏數(shù)據(jù)集上效果較差[14]。
4)基于聚類的離群點(diǎn)檢測算法首先計(jì)算數(shù)據(jù)對象到它在距離上最近的簇的質(zhì)心之間的距離,其次根據(jù)該距離對數(shù)據(jù)對象賦予離群值,最后離群值越高的數(shù)據(jù)對象是離群點(diǎn)的可能性越高。該類算法的主要缺點(diǎn)是其尋找的是數(shù)據(jù)對象周圍的簇,不是發(fā)現(xiàn)離群點(diǎn),檢測精度低[15]。
5)基于神經(jīng)網(wǎng)絡(luò)的離群點(diǎn)檢測算法通過學(xué)習(xí)輸入數(shù)據(jù)的模式,在輸出層重構(gòu)數(shù)據(jù),以產(chǎn)生的重構(gòu)誤差作為對象的離群值。該類算法的主要缺點(diǎn)是其在中小規(guī)模數(shù)據(jù)集上容易產(chǎn)生過擬合問題,導(dǎo)致算法的檢測精度低[16]。
6)基于集成學(xué)習(xí)的離群點(diǎn)檢測算法通過組合多個不同的基檢測器的輸出,得到精確的結(jié)果。其基本思想是執(zhí)行多個不同的基檢測器,產(chǎn)生不同的輸出值,對該多個不同的輸出值進(jìn)行評估,權(quán)衡偏差和方差。例如:文獻(xiàn)[17]設(shè)計(jì)了多個不同的基檢測器,增加模型的多樣性,提升檢測效果。該類算法的主要缺點(diǎn)是對集成學(xué)習(xí)中基檢測器的多樣性要求較高,若基檢測器不滿足一定程度的多樣性,則該算法不能保證多個不同的基檢測器的組合輸出比單個檢測能力強(qiáng)的基檢測器輸出更精確[18-19]。
本章首先給出EAOD算法整體框架與流程,然后介紹EAOD算法中基檢測器的體系結(jié)構(gòu)及配置,最后給出EAOD算法的詳細(xì)步驟和時間復(fù)雜度分析。表1詳細(xì)列出了本節(jié)后續(xù)內(nèi)容所使用的符號定義。
表1 符號說明
基于自編碼器與集成學(xué)習(xí)的EAOD離群點(diǎn)檢測算法分為4個階段實(shí)現(xiàn):1)訓(xùn)練基檢測器。將隨機(jī)連接自編碼器作為集成學(xué)習(xí)中的基檢測器,并使用訓(xùn)練集訓(xùn)練基檢測器。2)標(biāo)記離群程度。在訓(xùn)練集的數(shù)據(jù)對象上標(biāo)記標(biāo)簽作為對象的離群程度。3)構(gòu)建局部區(qū)域。在測試集數(shù)據(jù)周圍構(gòu)建局部區(qū)域。4)基檢測器選擇與組合。在該局部區(qū)域選擇合適的基檢測器進(jìn)行組合,組合后的對象離群值作為EAOD算法最終判定的離群值。EAOD算法整體的框架與流程如圖1所示。
圖1 EAOD算法框架與流程
2.2.1隨機(jī)連接自編碼器
自編碼器是一種特殊類型的多層前饋神經(jīng)網(wǎng)絡(luò),具備對數(shù)據(jù)進(jìn)行分層和非線性降維功能。如圖2所示,自編碼器的輸入層節(jié)點(diǎn)數(shù)等于輸出層節(jié)點(diǎn)數(shù),隱藏層的節(jié)點(diǎn)數(shù)相對較少;在體系結(jié)構(gòu)上,自編碼器是分層且對稱的。自編碼器的目標(biāo)是通過訓(xùn)練神經(jīng)網(wǎng)絡(luò),最小化輸出層誤差進(jìn)而重構(gòu)輸入層。
圖2 自編碼器模型
隨機(jī)連接自編碼器是一種隨機(jī)改變自編碼器的連接結(jié)構(gòu)而產(chǎn)生的多層前饋神經(jīng)網(wǎng)絡(luò)。如圖3所示,輸入層節(jié)點(diǎn)數(shù)等于,從輸入層到節(jié)點(diǎn)數(shù)最少的隱藏層,其中相鄰兩層之間的節(jié)點(diǎn)數(shù)比值為,從節(jié)點(diǎn)數(shù)最少的隱藏層到輸出層,采用與從輸入層到節(jié)點(diǎn)數(shù)最少的隱藏層相對應(yīng)的完全對稱結(jié)構(gòu)。
圖3 隨機(jī)連接自編碼器模型
2.2.2激活函數(shù)
自編碼器中的每一個節(jié)點(diǎn)都會對輸入使用一個線性函數(shù)計(jì)算,激活函數(shù)將一個非線性函數(shù)應(yīng)用在線性函數(shù)的輸出結(jié)果上。實(shí)際上,在神經(jīng)網(wǎng)絡(luò)中應(yīng)用兩種不同的激活函數(shù)比應(yīng)用一種固定的激活函數(shù)效果相對要好,由于在神經(jīng)網(wǎng)絡(luò)不同層之間使用兩種不同的激活函數(shù)可以平衡不同激活函數(shù)之間的利與弊。
在自編碼器中,在最接近輸入層的隱藏層中和輸出層中使用Sigmoid激活函數(shù)。Sigmoid激活函數(shù)計(jì)算公式如式(1)所示:
在其余隱藏層中,使用整流線性單位(Rectified Linear Unit, ReLU)激活函數(shù)。ReLU激活函數(shù)計(jì)算公式如式(2)所示:
Sigmoid激活函數(shù)會引起梯度消失問題,且它的計(jì)算代價高于ReLU激活函數(shù)。ReLU激活函數(shù)計(jì)算公式相對簡單且計(jì)算代價相對較小,不存在梯度消失問題,但ReLU激活函數(shù)觸發(fā)的神經(jīng)網(wǎng)絡(luò)權(quán)值更新可能導(dǎo)致神經(jīng)元失活,使其他神經(jīng)元處于停工狀態(tài),神經(jīng)網(wǎng)絡(luò)權(quán)值更新停滯。為了解決兩個激活函數(shù)導(dǎo)致的問題,在自編碼器中最接近輸入層的隱藏層中和輸出層中使用Sigmoid激活函數(shù),在其余隱藏層中使用ReLU激活函數(shù)。這樣做的目的是:其一,若自編碼器處于最壞的情況,即使用ReLU激活函數(shù)的神經(jīng)節(jié)點(diǎn)全部失活,至少可以保證自編碼器兩端的神經(jīng)節(jié)點(diǎn)正常工作;其二,ReLU激活函數(shù)引起的問題往往發(fā)生在梯度非常大的情況下,Sigmoid激活函數(shù)引起的梯度消失問題有助于抑制ReLU激活函數(shù)所帶來的負(fù)面作用。
2.2.3權(quán)值更新
在自編碼器上更新權(quán)值使用了一種自適應(yīng)學(xué)習(xí)方法——均方根傳播(Root Mean Square propagation, RMSprop)。RMSprop自適應(yīng)學(xué)習(xí)方法是利用最新的梯度大小來標(biāo)準(zhǔn)化梯度的一種優(yōu)化器。
權(quán)值更新計(jì)算公式如式(3)(4)所示:
其中:w是在時刻的移動平均梯度;是調(diào)節(jié)自適應(yīng)學(xué)習(xí)水平的參數(shù),設(shè)置為0.9;g是在時刻的梯度;W是在時刻的權(quán)值;是學(xué)習(xí)率,初始值設(shè)置為0.02;是非常小的數(shù)值,其作用是避免零除。
2.3.1訓(xùn)練基檢測器
在集成學(xué)習(xí)中,只有基檢測器具有較高的個體質(zhì)量,同時具有互補(bǔ)性,集成學(xué)習(xí)才能正常工作。實(shí)際上,由于預(yù)知基檢測器的適用區(qū)域不易實(shí)現(xiàn),因此,側(cè)重于生成多樣化的基檢測器成為普遍做法,以實(shí)現(xiàn)模型學(xué)習(xí)不同的數(shù)據(jù)特征。在此,本文使用自編碼器作為基檢測器,變換其網(wǎng)絡(luò)體系結(jié)構(gòu)以產(chǎn)生差異性,實(shí)現(xiàn)基檢測器多樣化的目標(biāo)。
在訓(xùn)練基檢測器后,由于不同的基檢測器具有不相同的量綱,故應(yīng)對基檢測器輸出進(jìn)行歸一化處理,以提高收斂速度。歸一化處理具體過程:數(shù)據(jù)減去其均值,并除以方差,使處理后的數(shù)據(jù)滿足標(biāo)準(zhǔn)正態(tài)分布。歸一化公式如式(5)所示:
首先,將數(shù)據(jù)集(m+n)×d隨機(jī)劃分成兩部分:60%訓(xùn)練集X×d和40%測試集Y×d;其次,使用隨機(jī)連接自編碼器作為基檢測器構(gòu)建具備多樣性的集成學(xué)習(xí)模型,把X×d放入該集成學(xué)習(xí)模型訓(xùn)練;最后對集成學(xué)習(xí)中每個基檢測器輸出結(jié)果做歸一化處理,生成離群值矩陣。離群值矩陣只針對X×d中的數(shù)據(jù),離群值矩陣如表2所示。
表2離群值矩陣
Tab.2 Outlier value matrix
本階段涉及的局部變量及函數(shù):表示1×num_detector中每個基檢測器的列位置,split()表示對數(shù)據(jù)集(m+n)×d進(jìn)行隨機(jī)劃分,init()表示初始化基檢測器,train()表示由X×d訓(xùn)練基檢測器。具體算法如下:
算法1 base_detector_training((m+n)×d,1×num_detector)
1)=1
2)X×d,Y×dsplit((m+n)×d)
3) while≤do
4) init(1×num_detector)
5) train(X×d,1×num_detector)
6)×num_detector.append(train(X×d,1×num_detector)
7)++
8) end
9) output(×num_detector)
2.3.2標(biāo)記離群程度
在絕大多數(shù)的實(shí)際應(yīng)用場景下,進(jìn)行離群點(diǎn)檢測所遭遇的核心挑戰(zhàn)是數(shù)據(jù)標(biāo)簽的缺失。這引起了無法有效地衡量基檢測器的預(yù)測結(jié)果與缺乏標(biāo)簽的數(shù)據(jù)離群程度之間差異的問題。其解決思路只能從缺乏標(biāo)簽的正常數(shù)據(jù)和離群數(shù)據(jù)組成的混合數(shù)據(jù)出發(fā)。通常情況下,模型學(xué)習(xí)數(shù)據(jù)特征后,對數(shù)據(jù)輸出的離群值越大,該數(shù)據(jù)是離群點(diǎn)的可能性越大。因此,本文提出了一種從原始訓(xùn)練數(shù)據(jù)中生成偽離群值的方法,即定義了標(biāo)簽離群值這一概念:對于X×d中的某個數(shù)據(jù),可從算法1輸出的離群值矩陣中獲取個不同的基檢測器對其計(jì)算所得的個不同的離群值,從該個離群值中取最大值作為衡量該數(shù)據(jù)的離群程度。
由于模型學(xué)習(xí)數(shù)據(jù)特征后所得到的輸出值通常包含離群值,因此,本文所提標(biāo)記離群程度的方法符合工業(yè)實(shí)際場景。
定義1 標(biāo)簽離群值。X×d中數(shù)據(jù)的標(biāo)簽離群值等于個基檢測器對該數(shù)據(jù)進(jìn)行計(jì)算輸出的最大值。其計(jì)算公式如式(6)所示:
根據(jù)式(6)計(jì)算得到X×d中所有數(shù)據(jù)的標(biāo)簽離群值矩陣,如表3所示。
表3標(biāo)簽離群值矩陣
Tab.3 Outlier label value matrix
本階段涉及的局部變量及函數(shù):表示X×d中每個數(shù)據(jù)的行位置,表示臨時存儲變量,getMax()表示使用式(6)獲取在×num_detector中第行的最大值。具體算法如下:
算法2 label_computing(×num_detector,X×d)
1)=1
2)0
3) while≤do
4)=getMax(×num_detector,)
5)×1.append()
6)++
7) end
8) output(×1)
2.3.3構(gòu)建局部區(qū)域
在測試階段,EAOD算法首先要構(gòu)建局部區(qū)域,這是因?yàn)椋河捎跀?shù)據(jù)對象之間在數(shù)據(jù)集中分布彼此有關(guān)聯(lián),EAOD算法根據(jù)基檢測器在測試數(shù)據(jù)的鄰近對象上的檢測能力來估計(jì)該基檢測器在上的檢測能力,因此,EAOD算法需要在局部區(qū)域上計(jì)算基檢測器的檢測能力。將算法2輸出的標(biāo)簽離群值劃分為多個簇,找到測試數(shù)據(jù)所屬的簇構(gòu)建局部區(qū)域。
定義2 鄰域簇Ψ。計(jì)算與周圍鄰點(diǎn)之間的歐氏距離,根據(jù)歐氏距離長短得到的個最近鄰,由個最近鄰構(gòu)成的鄰域簇Ψ。如式(7)所示:
其中表示在歐氏距離上最接近的第個數(shù)據(jù)。
定義3 局部區(qū)域Ω。從Ψ中檢索出屬于X×d中的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成的局部區(qū)域Ω。如式(8)所示:
其中表示Ω中第個數(shù)據(jù)。
如圖4所示,通過-NN算法找到鄰近的個數(shù)據(jù),存入鄰域簇Ψ中,再從鄰域簇Ψ選擇出屬于X×d的數(shù)據(jù)存入Ω,進(jìn)而構(gòu)建出的局部區(qū)域,即Ω是Ψ的子集。
其中:值的取值影響Y×d中某一個數(shù)據(jù)的局部區(qū)域的建立,較小的值導(dǎo)致EAOD算法過多關(guān)注數(shù)據(jù)的局部關(guān)系,較大的值導(dǎo)致EAOD算法過多關(guān)注數(shù)據(jù)的全局關(guān)系。為了解決這兩個問題,在實(shí)驗(yàn)中,發(fā)現(xiàn)將值設(shè)置為0.05(是X×d包含的數(shù)據(jù)總個數(shù))取得了良好的效果。
圖4 數(shù)據(jù)對象的局部區(qū)域
本階段涉及的局部變量及函數(shù):表示Y×d中每個數(shù)據(jù)的行位置,Ψ表示鄰域簇,getKPoints()表示使用式(7)獲取最接近的個數(shù)據(jù)點(diǎn),Ω表示局部區(qū)域,表示Y×d中所有數(shù)據(jù)的局部區(qū)域集合selectSubset()表示使用式(8)獲取Ψ中屬于X×d的數(shù)據(jù)。具體算法如下:
算法3 local_area_constructing(X×d,Y×d)
1)=1
2)Ψ=[]
3)Ω=[]
4)=[]
5) while≤do
6)Ψ.append(getKPoints())
7)Ω.append(selectSubset(Ψ,X×d))
8).append(Ω)
9) end
10)output()
2.3.4基檢測器選擇與組合
由算法3確定了測試點(diǎn)的局部區(qū)域Ω之后,在此局部區(qū)域上計(jì)算所有基檢測器的檢測能力,目的是為了選擇對檢測能力強(qiáng)的基檢測器進(jìn)行組合。
在算法2輸出的離群值矩陣×num_detector中,可獲取局部區(qū)域Ω中每個數(shù)據(jù)所對應(yīng)的個離群值,將每個數(shù)據(jù)對應(yīng)的個離群值存入矩陣×num_detector如式(9)所示:
在算法3輸出的標(biāo)簽離群值矩陣×1中,可獲取局部區(qū)域Ω中每個數(shù)據(jù)所對應(yīng)的1個標(biāo)簽離群值,將每個數(shù)據(jù)對應(yīng)的1個標(biāo)簽離群值存入矩陣×1。如式(10)所示:
余弦相似度可確定每個特征之間是否密切相關(guān),故EAOD算法使用余弦相似度衡量基檢測器輸出值與標(biāo)簽離群值之間的差異,進(jìn)而推斷出基檢測器的檢測能力。
對于來說,基檢測器的檢測能力δ正相關(guān)于其在上的輸出值與的標(biāo)簽離群值之間的余弦相似度,即余弦相似度越高的基檢測器檢測能力越強(qiáng)。如式(11)所示:
對于Ω中第個數(shù)據(jù),根據(jù)式(9)~(11),計(jì)算在×num_detector中個離群值與在×num_detector中1個標(biāo)簽離群值之間的余弦相似度,即得到個δ;然后,對該個δ進(jìn)行降序排列,通過Top-個δ獲取對檢測能力強(qiáng)的個基檢測器。
同理,對于Ω中所有數(shù)據(jù),共選擇出在局部區(qū)域Ω上(×)個檢測能力強(qiáng)的基檢測器,使用(×)個檢測能力強(qiáng)的基檢測器檢測,輸出(×)個離群值;最后,計(jì)算(×)個離群值的均值作為的最終離群值。
其中:降序排列個δ之后,前10%的δ有較高的相似度分值,因此=[/10]。
本階段涉及的局部變量及函數(shù):searchOD()表示檢索得到在×num_detector中個離群值,searchLabel()表示檢索得到在×num_detector中1個標(biāo)簽離群值,computingCosine()表示計(jì)算在×num_detector中個離群值與在×num_detector中1個標(biāo)簽離群值之間的余弦相似度,selecetTop()表示檢索得到Top-個余弦相似度對應(yīng)的基檢測器,base_detector_training()表示使用算法1在檢測能力強(qiáng)的基檢測器上檢測,average()表示計(jì)算檢測能力強(qiáng)的基檢測器對的檢測結(jié)果的均值,該均值是判定最終的離群值。具體算法如下:
算法4 outlier_ predicating(Y×d,Ω,×1
×num_detector)
1)[]
2)[]
3)[]
4)[]
5)[]
6)[]
7) while≤do
8) while≤do
9)searchOD(,×num_detector)
10)searchLabel(,Q×1)
11)computingCosine()
12)selecetTop()
13) end
14)= base_detector_training(,)
15)=average()
16)end
17)output()
設(shè)數(shù)據(jù)的數(shù)量和維度分別為和。算法1中,步驟1)~2)劃分?jǐn)?shù)據(jù)集,時間復(fù)雜度為(),步驟3)~8)遍歷基檢測器,由訓(xùn)練集訓(xùn)練基檢測器,時間復(fù)雜度為(),步驟9)為輸出訓(xùn)練值,時間復(fù)雜度為();算法2中,步驟1)~7)檢索獲取每個數(shù)據(jù)在基檢測器上的最大值,時間復(fù)雜度為(),步驟8)輸出檢索結(jié)果,時間復(fù)雜度為();算法3中,步驟1)~9)使用k-d tree為每個測試點(diǎn)構(gòu)建局部區(qū)域,其中用于距離計(jì)算的時間復(fù)雜度為(),用于根據(jù)距離長短進(jìn)行排序的時間復(fù)雜度為(log),步驟10)輸出局部區(qū)域中數(shù)據(jù),時間復(fù)雜度為();算法4中,步驟1)~16),遍歷測試集和局部區(qū)域中數(shù)據(jù),找到在局部區(qū)域上檢測能力強(qiáng)的基檢測器,并使用這些基檢測器對測試集中數(shù)據(jù)進(jìn)行檢測,時間復(fù)雜度為(2),步驟17)輸出數(shù)據(jù)最終判定的離群值,時間復(fù)雜度為()。
綜上可得EAOD算法的時間復(fù)雜度規(guī)模為(2)。
實(shí)驗(yàn)的硬件環(huán)境是:處理器為Intel Xeon Gold 5117 CPU@ 2.00 GHz(2處理器),顯卡為Nvidia Tesla V100-PCIE-16 GB(共3塊),內(nèi)存(RAM)為256 GB。
實(shí)驗(yàn)的軟件環(huán)境是:操作系統(tǒng)環(huán)境為Microsoft Windows Server 2016 Standard,算法的實(shí)現(xiàn)環(huán)境為pycharm professional、python-3.6.2、tensorflow_gpu-1.14。
表4總結(jié)了在實(shí)驗(yàn)中使用到的5個數(shù)據(jù)集。數(shù)據(jù)集選自O(shè)DDS(Outlier Detection DataSets)公開數(shù)據(jù)集,分別是Cardio、Ionosphere、Mnist、Pendigits、Satimage-2。其中,大多數(shù)的數(shù)據(jù)被標(biāo)記為正常點(diǎn),小部分的數(shù)據(jù)被標(biāo)記為離群點(diǎn)。ODDS提供了離群點(diǎn)檢測的標(biāo)準(zhǔn)數(shù)據(jù)集(http://odds.cs.sto-nybrook.edu/)。
表4 實(shí)驗(yàn)中使用的ODDS公開數(shù)據(jù)集
Cardio數(shù)據(jù)集是由專業(yè)醫(yī)生處理成的心電圖上的胎兒心率測量值,它屬于分類數(shù)據(jù)集,其中類別被分為3類:正常類、病理類、可疑類。在離群點(diǎn)檢測中,正常類被標(biāo)記成正常值類,病理類被標(biāo)記成離群值類,疑似類被丟棄;Ionosphere數(shù)據(jù)集是一個二分類數(shù)據(jù)集,原本該數(shù)據(jù)集維度是34,但其中有一個特征全是0值的屬性被丟棄,故總維度是33。其中,“bad”類作為離群值類,“good”類作為正常值類;原Mnist數(shù)據(jù)集是手寫數(shù)字?jǐn)?shù)據(jù)集,訓(xùn)練集和測試集分別包含60 000個數(shù)據(jù)對象和10 000個數(shù)據(jù)對象?,F(xiàn)將原Mnist數(shù)據(jù)集轉(zhuǎn)化為離群點(diǎn)檢測數(shù)據(jù)集后,共包含7 603個數(shù)據(jù)對象。其中,零位數(shù)字類作為正常值類,從六位數(shù)字類中抽樣700張圖像作為離群值類,且從總特征隨機(jī)抽取100個特征;基于原始筆數(shù)字的Pendigits數(shù)據(jù)集是一個包含10個類和16個整數(shù)屬性的分類數(shù)據(jù)集,在該數(shù)據(jù)集中,所有類的頻率均相等。Satimage-2數(shù)據(jù)集是一個多類分類數(shù)據(jù)集,合并了訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),從類別2中抽樣71個離群值,其他類別合并成一個離群類。
實(shí)驗(yàn)中所使用的全部數(shù)據(jù)集具有類別不平衡的特性。由于準(zhǔn)確率一般適用在平衡的數(shù)據(jù)上,因此,在使用類別不平衡的數(shù)據(jù)集的情況下,不適合使用準(zhǔn)確率作為評估指標(biāo)。使用接受者操作特征曲線下方的面積(Area Under receiver operating characteristic Curve, AUC)和平均精度(Average Precision, AP)對數(shù)據(jù)偏斜的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)評估是當(dāng)下的普遍做法。
根據(jù)真實(shí)標(biāo)簽和檢測結(jié)果,把樣本劃分成真正例(True Positive,)、假正例(False Positive,)、真反例(True Negative,)、假反例(False Negative,)四種類型。分類結(jié)果的混淆矩陣如表5所示。
表5 分類結(jié)果的混淆矩陣
接受者操作特征(Receiver Operating Characteristic, ROC)是一條曲線,其橫坐標(biāo)和縱坐標(biāo)分別是假正例率(False Postive Rate,)和真正例率(True Positive Rate,),AUC是ROC曲線與橫軸之間的面積。通常情況下,AUC分值越接近于1,算法的檢測性能越好。AUC計(jì)算過程如式(12)~(16)所示:
查準(zhǔn)率-查全率(Precision-Recall curve, P-R)曲線的橫坐標(biāo)和縱坐標(biāo)分別是查全率(Recall)和查準(zhǔn)率(Precision)。AP是在P-R曲線中,在每個閾值下計(jì)算得到的查準(zhǔn)率的加權(quán)平均值。AP計(jì)算過程如式(17)~(19)所示:
其中P和R分別表示在第個閾值處的查準(zhǔn)率和查全率。
在實(shí)驗(yàn)中,對于每個數(shù)據(jù)集,60%的數(shù)據(jù)作為訓(xùn)練集,剩余的40%作為測試集。
在實(shí)驗(yàn)中,為了解決基檢測器因隱藏層壓縮程度過高而導(dǎo)致的數(shù)據(jù)無法重構(gòu)的問題,將自編碼器中隱藏層節(jié)點(diǎn)數(shù)最小值設(shè)置為3,若按計(jì)算,若隱藏層中某一層節(jié)點(diǎn)數(shù)小于3,則該層節(jié)點(diǎn)數(shù)設(shè)置為3。為了確保本實(shí)驗(yàn)的結(jié)果具有穩(wěn)定性,現(xiàn)對EAOD算法執(zhí)行10次,對10次產(chǎn)生的結(jié)果計(jì)算均值作為最終的結(jié)果。集成學(xué)習(xí)中基檢測器的個數(shù)設(shè)置為50、層數(shù)設(shè)置為9、迭代次數(shù)設(shè)置為300、某一層節(jié)點(diǎn)數(shù)與它上一層的節(jié)點(diǎn)數(shù)比值設(shè)為0.5。
在實(shí)驗(yàn)中,為了驗(yàn)證EAOD算法的有效性,將其與其他離群點(diǎn)檢測算法在各數(shù)據(jù)集上進(jìn)行了對比實(shí)驗(yàn)。具體來說,該實(shí)驗(yàn)使用了HBOS、主成分分析(Principal Component Analysis, PCA)[20]、LOF、孤立森林(Isolation Forest, IForest)[21]、自編碼器(AutoEncoder, AE)[22]、特征裝袋(Feature Bagging, FB)[23]離群點(diǎn)檢測算法進(jìn)行了比較。對于LOF算法,將其最近鄰個數(shù)從2~100選取20次,選取其最佳檢測結(jié)果;對于IForest算法,將采樣大小設(shè)置為256,將樹的數(shù)目設(shè)置為100;對于AE算法,其參數(shù)設(shè)置與EAOD算法中自編碼器參數(shù)設(shè)置保持一致;對于FB算法,其基檢測器設(shè)置與EAOD算法中基檢測器設(shè)置保持一致。
在實(shí)驗(yàn)中,為了探究EAOD算法對起決定性參數(shù)的敏感程度,對集成學(xué)習(xí)中基檢測器個數(shù)、層數(shù)、迭代次數(shù)這3個參數(shù)進(jìn)行了敏感性實(shí)驗(yàn)分析。
表6展示了各個算法在5個離群點(diǎn)檢測公開數(shù)據(jù)集上的AUC和AP的對比分值。
表6 各算法AUC分值和AP分值對比
如表6的AUC分值所示,EAOD與HBOS、IForest、LOF、PCA、AE、FB在AUC分值上相比:對于Cardio數(shù)據(jù)集,樣本檢測的精度分別提升了15.06個百分點(diǎn)、1.88個百分點(diǎn)、30.84個百分點(diǎn)、2.46個百分點(diǎn)、8.08個百分點(diǎn)、6.89個百分點(diǎn);對于Ionosphere數(shù)據(jù)集,樣本檢測的精度分別提升了30.44個百分點(diǎn)、6.39個百分點(diǎn)、2.89個百分點(diǎn)、13.84個百分點(diǎn)、10.27個百分點(diǎn)、10.21個百分點(diǎn);對于Mnist數(shù)據(jù)集,樣本檢測的精度分別提升了33.11個百分點(diǎn)、11.15個百分點(diǎn)、18.63個百分點(diǎn)、6.52個百分點(diǎn)、8.9個百分點(diǎn)、8.98個百分點(diǎn);對于Pendigits數(shù)據(jù)集,樣本檢測的精度分別提升了3.43個百分點(diǎn)、0.91個百分點(diǎn)、44.93個百分點(diǎn)、9.97個百分點(diǎn)、8.47個百分點(diǎn)、5.45個百分點(diǎn);對于Satimage-2數(shù)據(jù)集,樣本檢測的精度分別提升了4.19個百分點(diǎn)、0.55個百分點(diǎn)、52.43個百分點(diǎn)、3.23個百分點(diǎn)、10.35個百分點(diǎn)、8.83個百分點(diǎn)。
如表6的AP分值所示,EAOD與HBOS、IForest、LOF、PCA、AE、FB在AP分值上相比:對于Cardio數(shù)據(jù)集,樣本檢測的精度分別提升了26.87個百分點(diǎn)、12.91個百分點(diǎn)、47.66個百分點(diǎn)、11.02個百分點(diǎn)、9.17個百分點(diǎn)、8.04個百分點(diǎn);對于Ionosphere數(shù)據(jù)集,樣本檢測的精度分別提升了41.49個百分點(diǎn)、3.72個百分點(diǎn)、0.18個百分點(diǎn)、11.48個百分點(diǎn)、8.15個百分點(diǎn)、12.41個百分點(diǎn);對于Mnist數(shù)據(jù)集,樣本檢測的精度分別提升了35.69個百分點(diǎn)、21.29個百分點(diǎn)、19.32個百分點(diǎn)、11.62個百分點(diǎn)、11.39個百分點(diǎn)、17.79個百分點(diǎn);對于Pendigits數(shù)據(jù)集,樣本檢測的精度分別提升了5.88個百分點(diǎn)、3.39個百分點(diǎn)、20.6個百分點(diǎn)、8.52個百分點(diǎn)、8.27個百分點(diǎn)、7.37個百分點(diǎn);對于Satimage-2數(shù)據(jù)集,樣本檢測的精度分別提升了13個百分點(diǎn)、1.54個百分點(diǎn)、79.41個百分點(diǎn)、5.33個百分點(diǎn)、6.01個百分點(diǎn)、8.63個百分點(diǎn)。
表6表明,EAOD算法在5個數(shù)據(jù)集上的AUC分值和AP分值均高于HBOS、IForest、LOF、PCA、AE和FB算法。這是因?yàn)镋AOD算法具備權(quán)衡偏差和方差的功能:EAOD算法通過隨機(jī)連接自編碼器使基檢測器具備多樣性,在選取標(biāo)簽離群值階段間接權(quán)衡偏差和方差,對檢測能力強(qiáng)的多個不同的基檢測器的輸出結(jié)果計(jì)算均值,再一次權(quán)衡偏差和方差,進(jìn)而減小了泛化誤差,提高了檢測性能。
如圖5所示,HBOS、IForest、LOF、PCA和AE算法也具有較短的時間耗費(fèi),但從AUC和AP指標(biāo)來看,它們沒有較好的檢測性能。FB算法檢測時間耗費(fèi)較長,是因?yàn)槠鋵μ卣鬟x取進(jìn)行了較為復(fù)雜的特征統(tǒng)計(jì)計(jì)算,且缺乏對基檢測器進(jìn)行選擇性統(tǒng)計(jì)組合。EAOD算法對5種數(shù)據(jù)集均具有較為合理的檢測時間耗費(fèi),以檢測一般規(guī)模的數(shù)據(jù)集最短耗時6.8 s來看,已基本滿足實(shí)際使用時的一般情況。因此綜合來看,EAOD算法在具有穩(wěn)定較高的檢測性能的前提下,也具有較為合理的檢測時間成本。
圖5 各算法在5種數(shù)據(jù)集上的時間耗費(fèi)對比
實(shí)驗(yàn)結(jié)果表明,EAOD算法在無監(jiān)督學(xué)習(xí)下,對真實(shí)數(shù)據(jù)集具有較好的檢測性能,同時具有較為合理的檢測時間成本。因此,EAOD算法是有效可行的。
以Cardio數(shù)據(jù)集為例,通過實(shí)驗(yàn)分析了EAOD算法中基檢測器個數(shù)、層數(shù)以及迭代次數(shù)等3個關(guān)鍵參數(shù)變動對AUC和AP分值的影響。
基檢測器個數(shù)分別設(shè)置為25、50、75、100、125和150。實(shí)驗(yàn)結(jié)果由圖6可知,基檢測器個數(shù)的變動對于AUC分值沒有明顯影響。對于AP分值,基檢測器個數(shù)由25增加到50,再從50增加到100的過程中,AP分值先上升后下降;基檢測器個數(shù)由100增加到150過程中,AP分值無顯著變化;AP分值在基檢測器個數(shù)等于50時達(dá)到最大值。
圖6 基檢測器個數(shù)變動分析
基檢測器層數(shù)分別設(shè)置為3、5、7和9。實(shí)驗(yàn)結(jié)果由圖7可知:基檢測器層數(shù)的變動對于AUC分值沒有明顯影響。對于AP分值,基檢測器層數(shù)由3增加到5時,AP分值顯著下降;基檢測器層數(shù)由5增加到9的過程中,AP分值持續(xù)上升;在基檢測器層數(shù)等于9時,AP分值最大。
圖7 基檢測器層數(shù)變動分析
基檢測器迭代次數(shù)分別設(shè)置為50、100、150、200、250和300。實(shí)驗(yàn)結(jié)果由圖8可知,基檢測器迭代次數(shù)的變動對于AUC分值沒有明顯影響。對于AP分值來說,基檢測器迭代次數(shù)由50增加到100時,AP分值下降;基檢測器迭代次數(shù)由100增加到300的過程中,AP分值持續(xù)上升;在基檢測器迭代次數(shù)等于300時,AP分值取得最大值。
圖8 基檢測器迭代次數(shù)變動分析
由于AUC與AP兩種評估指標(biāo)之間在統(tǒng)計(jì)學(xué)中存在明顯差異[24],所以EAOD算法的重要參數(shù)變動在AUC分值和AP分值表現(xiàn)上存在顯著差異。
基于自編碼器的離群點(diǎn)檢測算法在中小規(guī)模數(shù)據(jù)集上易發(fā)生過擬合現(xiàn)象和傳統(tǒng)的基于集成學(xué)習(xí)的離群點(diǎn)檢測算法未對基檢測器進(jìn)行優(yōu)化選擇均是導(dǎo)致檢測精度低的主要因素。本文提出一種基于自編碼器與集成學(xué)習(xí)的EAOD離群點(diǎn)檢測算法來解決檢測精度低的問題。該算法使用隨機(jī)連接自編碼器作為基檢測器在數(shù)據(jù)對象的局部區(qū)域中選擇一組檢測能力強(qiáng)的基檢測器進(jìn)行組合,組合后的對象離群值作為算法最終的判定結(jié)果。通過對比實(shí)驗(yàn)發(fā)現(xiàn)在無監(jiān)督學(xué)習(xí)下所提算法優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)算法。
EAOD算法構(gòu)建局部區(qū)域依賴計(jì)算歐氏距離來尋找最近鄰,存在一定計(jì)算量,因此以后的研究應(yīng)注重在保證檢測精度的前提下嘗試聚類等其他方法構(gòu)建局部區(qū)域。另外,EAOD算法可以考慮異構(gòu)算法作為其基檢測器,以更加多樣性地實(shí)現(xiàn)集成學(xué)習(xí)。
[1] PANG G S, CAO L B, AGGARWAL C. Deep learning for anomaly detection: challenges, methods, and opportunities[C]// Proceedings of the 14th ACM International Conference on Web Search and Data Mining. New York: ACM, 2021: 1127-1130.
[2] PANG G S, LI J D, VAN DEN HENGEL A, et al. Anomaly and Novelty Detection, Explanation, and Accommodation (ANDEA)[C]// Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. New York: ACM, 2021: 4145-4146.
[3] THUDUMU S, BRANCH P, JIN J, et al. A comprehensive survey of anomaly detection techniques for high dimensional big data[J]. Journal of Big Data, 2020, 7: No.42.
[4] QIAN J, ZENG G F, CAI Z P, et al. A survey on anomaly detection techniques in large-scale KPI data[C]// Proceedings of the 9th International Conference on Computer Engineering and Networks, AISC 1143. Singapore: Springer, 2021: 767-776.
[5] BERGMANN P, BATZNER K, FAUSER M, et al. The MVTec anomaly detection dataset: a comprehensive real-world dataset for unsupervised anomaly detection[J]. International Journal of Computer Vision, 2021, 129(4): 1038-1059.
[6] 梅林,張鳳荔,高強(qiáng). 離群點(diǎn)檢測技術(shù)綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2020, 37(12): 3521-3527.(MEI L, ZHANG F L, GAO Q. Overview of outlier detection technology[J]. Application Research of Computers, 2020, 37(12): 3521-3527.)
[7] PANG G S, SHEN C H, CAO L B, et al. Deep learning for anomaly detection: a review[J]. ACM Computing Surveys, 2022, 54(2): No.38.
[8] CHEN W Q, WANG Z L, ZHONG Y, et al. ADSIM: network anomaly detection via similarity-aware heterogeneous ensemble learning[C]// Proceedings of the 2021 IFIP/IEEE International Symposium on Integrated Network Management. Piscataway: IEEE, 2021: 608-612.
[9] CRUZ R M O, SABOURIN R, CAVALCANTI G D C. Dynamic classifier selection: recent advances and perspectives[J]. Information Fusion, 2018, 41: 195-216.
[10] CRUZ R M O, SABOURIN R, CAVALCANTI G D C. META-DES.Oracle: meta-learning and feature selection for dynamic ensemble selection[J]. Information Fusion, 2017, 38: 84-103.
[11] GOLDSTEIN M, DENGEL A. Histogram-Based Outlier Score (HBOS): a fast unsupervised anomaly detection algorithm[EB/OL]. [2021-03-22].https://www.goldiges.de/publications/HBOS-KI-2012.pdf.
[12] WANG X C, JIANG H C, YANG B Q. A k-nearest neighbor medoid-based outlier detection algorithm[C]// Proceedings of the 2021 International Conference on Communications, Information System and Computer Engineering. Piscataway: IEEE, 2021: 601-605.
[13] BREUNIG M M, KRIEGEL H P, NG R T, et al. LOF: identifying density-based local outliers[C]// Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2000: 93-104.
[14] FONG S, LI T, HAN D, et al. Lightweight classifier-based outlier detection algorithms from multivariate data stream[M]// FONG S J, MILLHAM R C. Bio-inspired Algorithms for Data Streaming and Visualization, Big Data Management, and Fog Computing, STNIC. Singapore: Springer, 2021: 97-125.
[15] 杜旭升,于炯,葉樂樂,等. 基于圖上隨機(jī)游走的離群點(diǎn)檢測算法[J]. 計(jì)算機(jī)應(yīng)用, 2020, 40(5): 1322-1328.(DU X S, YU J, YE L L, et al. Outlier detection algorithm based on the graph random walk[J]. Journal of Computer Applications, 2020, 40(5): 1322-1328.)
[16] LüBBERING M, GEBAUER M, RAMAMURTHY R, et al. Supervised autoencoder variants for end to end anomaly detection[C]// Proceedings of the 2021 International Conference on Pattern Recognition, LNCS 12662. Cham: Springer, 2021: 566-581.
[17] SARVARI H, DOMENICONI C, PRENKAJ B, et al. Unsupervised boosting-based autoencoder ensembles for outlier detection[C]// Proceedings of the 2021 Pacific-Asia Conference on Knowledge Discovery and Data Mining, LNCS 12712. Cham: Springer, 2021: 91-103.
[18] BHATIA R, SHARMA R, GULERIA A. Anomaly detection systems using IP flows: a review[M]// BAREDAR P V, TANGELLAPALLI S, SOLANKI C S. Advances in Clean Energy Technologies, SPE. Singapore: Springer, 2021: 1035-1049.
[19] AVCI B, BODUROGLU A. Contributions of ensemble perception to outlier representation precision[J]. Attention, Perception, & Psychophysics, 2021, 83(3): 1141-1151.
[20] AHSAN M, MASHURI M, KUSWANTO H, et al. Outlier detection using PCA mix based2control chart for continuous and categorical data[J]. Communications in Statistics-Simulation and Computation, 2021, 50(5): 1496-1523.
[21] LIU F T, TING K M, ZHOU Z H. Isolation forest[C]// Proceedings of the 8th IEEE International Conference on Data Mining. Piscataway: IEEE, 2008: 413-422.
[22] OOSTERMAN D T, LANGENKAMP W H, BERGEN E L. Customs risk assessment based on unsupervised anomaly detection using autoencoders[C]// Proceedings of the 2021 SAI Intelligent Systems Conference, LNNS 294. Cham: Springer, 2022: 668-681.
[23] LAZAREVIC A, KUMAR V. Feature bagging for outlier detection[C]// Proceedings of the 11th ACM SIGKDD International Conference on Knowledge Discovery in Data Mining. New York: ACM, 2005: 157-166.
[24] BELHADI A, DJENOURI Y, LIN J C W, et al. Trajectory outlier detection: algorithms, taxonomies, evaluation, and open challenges[J]. ACM Transactions on Management Information Systems, 2020, 11(3): No.16.
GUO Yiyang,born in 1996, M. S. candidate. His research interests include machine learning, data mining.
YU Jiong,born in 1964, Ph. D., professor. His research interests include distributed computing, machine learning, data mining.
DU Xusheng, born in 1995, Ph. D. candidate. His research interests include machine learning, data mining.
YANG Shaozhi,born in 1995, M. S. candidate. His research interests include machine learning, data mining.
CAO Ming,born in 1996, M. S. candidate. Her research interests include machine learning, data mining.
Outlier detection algorithm based on autoencoder and ensemble learning
GUO Yiyang1, YU Jiong1,2*, DU Xusheng1, YANG Shaozhi1, CAO Ming3
(1,,830046,;2,,830091,;3,,266100,)
The outlier detection algorithm based on autoencoder is easy to over-fit on small- and medium-sized datasets, and the traditional outlier detection algorithm based on ensemble learning does not optimize and select the base detectors, resulting in low detection accuracy. Aiming at the above problems, an Ensemble learning and Autoencoder-based Outlier Detection (EAOD) algorithm was proposed. Firstly, the outlier values and outlier label values of the data objects were obtained by randomly changing the connection structure of the autoencoder generate different base detectors. Secondly, local region around the object was constructed according to the Euclidean distance between the data objects calculated by the nearest neighbor algorithm. Finally, based on the similarity between the outlier values and the outlier label values, the base detectors with strong detection ability in the region were selected and combined together, and the object outlier value after combination was used as the final outlier value judged by EAOD algorithm. In the experiments, compared with the AutoEncoder (AE) algorithm, the proposed algorithm has the Area Under receiver operating characteristic Curve (AUC) and Average Precision (AP) scores increased by 8.08 percentage points and 9.17 percentage points respectively on Cardio dataset; compared with the Feature Bagging (FB) ensemble learning algorithm, the proposed algorithm has the detection time cost reduced by 21.33% on Mnist dataset. Experimental results show that the proposed algorithm has good detection performance and real-time performance under unsupervised learning.
outlier detection; ensemble learning; AutoEncoder (AE); base detector; unsupervised learning
This work is partially supported by National Natural Science Foundation of China (61862060, 61462079, 61562086, 61562078).
TP311.1
A
1001-9081(2022)07-2078-10
10.11772/j.issn.1001-9081.2021050743
2021?05?10;
2021?09?08;
2021?09?15。
國家自然科學(xué)基金資助項(xiàng)目(61862060, 61462079, 61562086, 61562078)。
郭一陽(1996—),男,山東滕州人,碩士研究生,主要研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘; 于炯(1964—),男,北京人,教授,博士生導(dǎo)師,博士,主要研究方向:分布式計(jì)算、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘; 杜旭升(1995—),男,甘肅慶陽人,博士研究生,CCF會員,主要研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘; 楊少智(1995—),男,安徽鳳陽人,碩士研究生,主要研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘; 曹銘(1996—),女,山東菏澤人,碩士研究生,主要研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘。