?

基于雙向鄰居修正的局部異常因子算法

2020-09-08 11:57楊曉暉劉曉明
通信學報 2020年8期
關鍵詞:離群準確率局部

楊曉暉,劉曉明

(河北大學網絡空間安全與計算機學院,河北 保定 071002)

1 引言

離群值檢測是數據挖掘領域的熱門話題,其任務是識別與大多數對象明顯不同的數據對象,這類數據與其他現有數據表現形式不一致,通常包含部分關鍵信息,且信息不易被發現,但是具有很高的研究和應用價值。離群挖掘是數據挖掘和數據分析的重要分支,已廣泛應用于欺詐檢測[1]、垃圾郵件檢測[2]、交通異常[3]、網絡流量異常檢測[4]、入侵檢測[5-6]和社交網絡異常用戶發現[7]等領域。大多數現有的解決方案通常從全局角度來識別離群值,這不適用于高維和海量數據集[8-9]。隨著獲取信息技術的發展和高維、海量數據的爆炸性增長,采用傳統方法進行全局異常值檢測將非常困難。

2 相關工作

離群值,即數據中的不合理值,可以由不同的機制產生?,F有檢測算法主要分為基于統計、基于深度、基于聚類、基于距離和基于密度的算法。

在基于統計的離群值檢測算法中,偏離標準分布的對象被認為是離群值[10],該類方法需要數據集相關的先驗知識,不適用于高維或分布未知的數據集。

基于深度的離群值檢測算法[11-13]將數據分成不同層次,根據分層結果將外層或容易分層的對象判定為離群點,但該算法在高維數據集上的效率較低。

在基于聚類的離群值檢測算法中,距其聚類中心較遠的某些數據對象被視為離群值[14],算法必須建立聚類模型才能檢測離群值,因此檢測效率較低。

基于距離的離群值檢測算法因簡單高效而被廣泛使用。在基于距離的異常檢測算法中,通過計算數據集中一個對象與其他對象之間的距離來發現異常值,但由于未考慮局部密度的變化,因此只能檢測全局異常值,無法檢測局部異常值[15]。

在基于密度的離群值檢測算法中,Breunig 等[16]定義了局部異常因子(LOF,local outlier factor)算法,通過將每個對象的密度估計值與其k個最近鄰居進行比較來計算對象的離群程度。LOF 算法已經廣泛使用,但是存在參數敏感問題。為此,Ha 等[17]于2014 年提出一種不穩定因子(INS,instability factor)算法,該算法通過控制參數靈活地用于局部和全局檢測異常值。當參數改變時,INS 算法的準確率變化很小,但是當精度穩定時,INS 算法精度并不高。

Jin 等[18]改進了LOF 算法,并提出基于影響域的異常值(INFLO,influenced outlierness)檢測算法,對鄰居的使用比較直接,將正向鄰居和反向鄰居都視為同等作用,從而計算得出異常值。由于對鄰居的使用較簡單直接,未考慮到最近鄰居的異常程度,因此精確度不高。

Zhu 等[19]定義自然鄰居(natural neighbor)及其搜索算法(nan-searching)來利用反向鄰居[20],還定義自然影響空間(natural influence space)和自然鄰域圖(NNG,natural neighbor graph)[21],并在后續工作中利用自然鄰居來約減鄰居、降低噪聲影響[22]。Ning 等[23]通過搜索互鄰圖(MNG,mutual neighbor graph)的穩定狀態來找到合適的k值,雖然避免了參數的選取問題,但在計算異常值時自然鄰居對鄰居的使用比較簡單,且準確率和效率較低。

因LOF 為無監督算法,Auskalnis 等[24]提出了用于網絡入侵檢測的LOF 算法模型來檢測未知手段的攻擊。Na 等[25]提出了數據流異常檢測(DiLOF,distributed local outlier factor)算法,減少了存儲開銷和時間開銷,但是仍存在參數選取困難的問題。Yao 等[26]提出了一種增量式局部離群值檢測模型,用于數據流中的異常檢測,雖然該模型使用了反向鄰居,但只是將反向鄰居作為鄰居擴充,策略簡單,檢測性能略低。Yang 等[27]提出了一種鄰居熵局部離群值因子(NELOF,neighbor entropy local outlier factor))檢測模型,首先使用改進的自組織特征圖(SOFM,self-organizing feature map)算法對數據集進行聚類,然后進行離群點檢測,精度略有提高,但因聚類算法的加入,效率較低。Gao 等[28]提出了一種基于多維數據集的離群值檢測算法,通過將高維數據切片并檢測,降低了存儲和時間開銷,但數據切片會損失原有數據的高維特征,降低檢測性能。Zhao 等[29]提出了一種半監督集成算法(ExGBOD,extreme gradient boosting outlier detection),使用集成學習的思想結合監督學習和無監督學習的優勢,但弱化了無監督算法的泛化能力。

上述算法由于無法準確把握對象與鄰域之間的關系,導致在復雜數據集上計算準確率較低。如圖1(a)所示,假設其k值為3,此時對象p的3 個相鄰對象具有比p更高的局部密度,即對象p將具有較高的局部異常值。但是在復雜數據集上,常規局部異常因子算法準確率并不高。如圖1(b)所示,對象p是密集簇C1附近的稀疏簇C2的一部分,與對象q和r1相比,p應當具有較小的離群值。若使用常規局部異常因子算法,p可能被錯誤地認為與對象q具有相同大小的異常值。因此,現有的離群值度量方法不適用于數據集包含具有不同密度多個聚類分布的情況。由于對象最近鄰居的錯誤選擇,導致鄰域密度分布的錯誤估計,從而計算出一個不準確的異常值。

為了更好地估計鄰域的密度分布和計算局部異常值,使用最近鄰居和反向最近鄰居是必要的。如圖1(c)所示,情況與圖1(b)相同,但對象p具有2 個反向最近鄰居:s和t。這沒有將其與反向最近鄰居的對象q區分開來,并且對象r1僅具有作為其反向最近鄰居的異常r2對象。因此加入反向最近鄰居能夠較好地解決不同密度鄰域間對象的異常值計算問題。

現有算法對參數具有高度依賴性,參數改變對異常值檢測結果影響較大。另外由于沒有充分利用反向最近鄰居的屬性,導致計算準確率不高。針對這一問題,本文提出了一種快速異常值檢測算法,既充分利用雙向鄰居,也避免了參數選取問題。

圖1 不同密度簇間對象的異常計算問題

3 結合雙向鄰居的異常值計算算法

針對局部異常因子算法及其他改進算法的不足,本文提出一種自動確定良好參數的修正局部異常因子算法模型。受page-rank 算法啟發,CFLOF 算法將反向鄰居經過特殊處理后再參與到對象的異常值計算中,若所有反向鄰居無差別地參與異常值計算,將存在誤判問題,導致計算準確率較低。例如,在微博用戶異常檢測中,把“僵尸粉”算作真正的粉絲是一種錯誤處理,因此本文提出修正因子的概念來改善這種問題,并通過第4 節的實驗驗證了這種處理是有效的。

算法主要由2 個部分組成:基于雙向鄰居的影響域(IS,influence space)和用于解決不同密度簇之間對象異常計算問題的修正因子(CF,correction factor),如式(1)所示。

其中,IS(p)為對象p的影響域,o為IS(p)中的對象,lrd(p)為對象p的局部可達密度,CF(p)為對象p的修正因子,則對象p的修正局部異常值(CFLOF,correction factor local outlier factor)被定義為對象p局部可達密度與其影響域IS(p)中對象局部可達密度均值的比值乘以對象p的修正因子CF(p)。

3.1 基于雙向鄰居的影響域

在算法計算的過程中,搜索對象的雙向鄰居需要占用大量的時間,因此需要采用高效的算法來尋找鄰居節點。目前,主要使用K-D 樹或R 樹來索引對象,從而加快鄰居的搜索速度[19]。因此在鄰居搜索過程中,使用空間樹結構來索引數據集中的所有對象,并通過特定的修剪技術降低鄰居節點查詢的成本。由于查詢對象的最近鄰時是通過遍歷數據集的子集來計算臨時第k距離(k-dist(p)),且k-dist(p)的上限值已知,當p與R 樹中葉子節點最小邊界矩形(MBR,minimal bounding rectangle)之間的最小距離(記為MinDist(p,MBR))大于當前的k-dist(p)上限值,則節點中的任何對象都不會是p的k最近鄰之一。此優化方法可以修剪與K 近鄰(KNN,K-nearest neighbor)搜索無關的整個子樹。隨著KNN 的搜索,每個對象的反向最近鄰居(RNN,reverse nearest neighbor)可以在R 樹中動態維護在建立KNN 和RNN 索引后,可以計算局部異常值并對其進行排序。算法1 是通過在R 樹中構建KNN 和RNN 索引來挖掘異常值排名較高的n個對象。

。

算法1雙向鄰居搜索算法

輸入k,D,R 樹的根

輸出雙向鄰居的堆空間 heap

雙向鄰居搜索算法首先初始化數據集堆空間和k-dist,依次摘取R 樹中每一個MBR,比較MinDist(p,MBR)與k-dist 的大小。算法僅在那些MinDist(p,MBR)小于當前k-dist(p)的MBR 中搜索對象p的k最近鄰居;當MinDist(p,MBR)大于當前k-dist(p)時,則這些MBR 被修剪,不需要搜索。每當找到最近鄰時,它們就被存儲為p的最近鄰居,同時存儲p作為反向最近鄰居。最終CFLOF 基于影響域空間(KNN 和RNN)計算。

為推導雙向鄰居搜索算法的有效性,假設輸入數據集為Xn{p1,p2,p3,…,pn},初始時從p1開始搜索k近鄰和反向鄰居,初始k-dist 設置為無窮,此時沒有k近鄰。通過R 樹搜索其k近鄰時,首先尋找R樹中的MBR,R 樹是B 樹在高維空間的擴展,其每個MBR 中包含多個pk∈Xn,每個MBR 在R 樹中索引了其上下界,例如在二維空間中使用4 個值標明其界限,組成一個矩形(rectangle,此為最小邊界矩形MBR 的由來),因此可以通過計算p1與R 樹中的MBR 的4 個角的距離,并取最小值記為MinDist(p1,MBR),若此最小值大于當前k-dist,則其下屬節點不參與計算,從而減少計算量,提高時間效率。

本文使用基于反向鄰居的修剪算法用于修剪計算過程中不需要計算的對象,且解決k值選取困難的問題,可以確定一個較優的k值。該算法具體介紹如下。

算法2基于反向鄰居的修剪算法

輸入D,R 樹的根

輸出輸出CFLOF 值

通過迭代搜索數據集相對穩定的狀態,當反向鄰居為0 的對象在連續3 次迭代后沒有變化時,且在循環數次后未產生變化時達到穩定狀態,表明在此數據集中距離相近的對象均搜索到反向鄰居,而可達密度低的對象無法搜索到反向鄰居,最近鄰空間達到一個穩定的狀態,此時修剪反向鄰居為空的對象即Rnb=0 的對象,最后通過上述迭代的結果計算CFLOF 值。

k值確定算法通過搜索反向鄰居的穩定狀態來實現k值選取。使用反向鄰居的思想是通過反向鄰居加強鄰居密度準確率,因為只使用k近鄰的情況下容易對數據點的密度出現錯誤的估計?,F假設數據集為Xn,其中含有2 個密度不同的簇C1和C2,以及離群點q,如圖2 所示。當k值為1、2、3、4時,離群點q沒有反向鄰居,此時k值的選取不會對q的計算產生影響,本文選取k=2 和k=4 作為參考;當k=5 時,離群點q新增了反向鄰居,如果k值繼續增加,q點的反向鄰居則持續增多,此時會降低離群點檢測的性能。因此k值選取算法可以確定一個良好的k值,此時k值選取的大小剛好使C1簇中的節點均存在反向鄰居,而離群點q依舊沒有反向鄰居,因此k值選取算法能確定一個良好的k值用于異常值的計算,且在確定k值的同時可以修剪沒有反向鄰居的數據項,因為沒有反向鄰居,所以該數據項不與任何數據項為同類,這符合離群點的定義。

圖2 數據集Xn

算法主要通過以下2 個方面提高效率。首先,對于任何對象p,除非所有其他對象都已完成最近鄰搜索,否則無法確定RNN 空間,若使用普通的搜索方法會消耗大量時間,采用算法1 可以提高搜索效率。其次,通過分析LOF 的特征,對于數據集中的任意對象p,如果存在 RNN(p)=?,則LOF(p)>>1。因此可以刪除這些集群對象,既降低計算開銷,又節省存儲空間。

對于p∈D,如果對于任意一個對象p存在RNN(p)=?,則LOF(p)>>1可以直接標為異常對象。因為RNN(p)=?,即沒有任何一個對象跟p“親近”,所以對象p遠離其他數據集中的對象,即對象p是局部異常值較高的點。

為了解決k值選取困難問題,通過算法2 搜索數據集的穩定狀態,并選取穩定狀態下數據集中最大的RNN 的個數即最大反向鄰居的值作為k值。因為最大的反向鄰居的值反映了聚類簇的模的大小,這樣選取的好處是可以保證不會因為選取值的數目過小而造成準確率的損失,同時由于有反向鄰居修正因子的存在,不會因為值略大造成錯誤的計算。通過對反向鄰居的特性研究,本文定義影響域為

p的影響域定義為當k值取穩定狀態下的

3.2 基于反向鄰居的修正因子

max(Rnb)時其雙向鄰居的集合。影響域反映了與對象p相關的數據對象的范圍。

修正因子算法借鑒了PR 算法,可以消除部分類似于“僵尸粉數據”對計算的影響,加上反向鄰居修正可以提高不同密度鄰域間對象的異常因子計算的準確度。原始PR 算法是根據對象的出入度來迭代計算影響值,因此將對象正向和反向近鄰類比出入度來計算出一個節點的影響因子。最后將計算結果作為一個加權值放入原本的公式中,定義為修正因子,用于提高局部異常因子算法的計算準確度。

修正因子計算式為

其中,CF(p)是對象p的修正因子值;CF(vi)是對象vi的修正因子值,對象vi是對象p反向最近鄰居中的某個對象,即vi∈RNN(p);N k(vi)是對象vi指向其他對象的數目,即vi的正向最近鄰居的個數。修正因子是通過對象的反向最近鄰居傳遞的屬性,給出一個此對象的可信任程度,充分利用反向鄰居的作用,更好地計算局部密度值,提高了在密度不均的數據集上異常值計算的準確率,從而重新定義帶修正因子的局部異常值。

CFL OF 計算式為

4 實驗結果及評估

4.1 實驗數據及流程

為了驗證CFLOF 算法的高效率和高準確性,分別在合成數據集和真實數據集上進行實驗,數據集類別如表1 所示。用于直觀顯示結果的二維合成數據集共有5 種,包含不同聚類的模式、不同程度的聚類密度和不同聚類簇的大小,如表1的序號1~5所示?;? 個合成的二維數據集的實驗主要用來直觀地展示在二維合成數據集下算法的處理結果。為了更好地評估算法性能,在4.3 節選取了2 個合成的高斯數據集進行準確率和時間效率的實驗,數據集如表1 的序號6~7 所示。同時選取6 個公開數據集進行實驗,用于對比CFLOF 算法在真實數據集上的檢測性能,數據集參數如表2 所示。在實驗中使用2 種檢測指標,即準確率和時間效率來評估所提算法的性能。

表1 二維合成數據集

表2 公開數據集

本文算法通過Python 語言來實現,合成數據集通過NumPy 庫設置不同的均值和標準差來生成,實驗操作系統為Ubuntu,內存為16 GB,CPU為i7-6700。

Letter 和Pendigit 數據集來自UCL 的數據庫。Smtp 數據集來自KDD99 數據集的子集,其中服務屬性為smtp;Http 數據集同樣來自KDD99數據集的子集,服務屬性為http。Credit 是信用卡欺詐檢測的公開數據集。Mnist 數據集是手寫數字數據庫的子集。各數據集大小以及維度如表2所示。

4.2 參數調優

為了驗證CFLOF 算法的有效性,使用5 個數據集進行對比實驗,利用人工設置參數和不同的步長來進行實驗。通過不同的實驗發現,當k值變化在10 以內時,準確率變化較小,因此將k值變化的步長設置為大于或等于10。將不同k值情況下所得準確率數據繪制成圖,并將算法確定出的k值進行標記,實驗結果如圖3 所示。

圖3 不同k 值選取下的準確率對比

通過對5 個數據集的實驗發現,自動參數k值的選擇算法選擇出的參數k是最優參數。在數據集1中,算法得到的k值為20,此時的準確率最高;在數據集2 中,算法選擇的k值雖然沒有達到最高的準確率,但是k值小于50,算法的時間效率較好。在數據集3 中,算法確定的k值達到了最高的準確率。數據集4 和數據集5 實驗結果同樣在使用算法確定的k值達到了最高的準確率。通過5 個數據集的實驗對比發現,算法2 選取的參數k的值在準確率上都有不錯的表現。實驗結果表明,參數選擇算法可以解決局部異常因子算法參數選取困難的問題。

4.3 合成數據集實驗結果

為了直觀地顯示CFLOF 算法的準確性,本節首先在5 個二維合成數據集上進行實驗,并對實驗結果進行總結。這5 個二維合成數據集特點如表1 所示,包含不同聚類的模式、不同程度的聚類密度和不同聚類簇的大小,以便在復雜的測試環境中評估CFLOF 方法。將CFLOF 算法的性能與現有的2 種算法(LOF 算法和INS 算法)進行了比較。在每個算法中,具有最高局部異常值的對象在以下實驗結果中被標記成星號形狀。圖4~圖8 顯示了3 種算法的離群檢測結果。參數k的值是通過算法2 獲取,而不是人工設置的。

圖4 顯示了數據集1 上3 種算法的實驗結果,該數據集由3 個簇組成。數據集1 是較簡單的情況,存在3 個標準高斯分布的簇。此數據集由1 500 個對象組成,其中4%(60 個對象)是異常值。由圖4 中實線方框的位置可以看出,CFLOF 算法的準確度優于INS 算法,這是因為CFLOF 算法通過使用反向鄰居增強了算法的檢測能力,可以檢測出一些INS 算法和LOF 算法漏檢的對象。LOF 算法和CFLOF 算法的結果是相似的,并且在數據集1 的局部異常值檢測上優于INS 算法。INS 算法的錯誤率明顯高于LOF 算法,這是因為INS 算法錯誤地將簇中的值檢測為異常值。

圖4 數據集1 上3 種算法的實驗結果(k=17)

數據集2 由1 000 個對象、4 個正式簇和85個異常值組成,如圖5 所示。從圖5 所示的結果可以看出,CFLOF 算法的全局異常檢測效果與INS 算法類似,都比LOF 算法好。但是,在局部異常值檢測中,LOF 算法和CFLOF 算法的效果優于INS 算法(一些局部異常值在實驗結果中被實線框標記出)。INS 算法對反向鄰居的利用較簡單,而通過修正因子利用的反向鄰居可以很好地在全局和局部上正確地檢測出異常值,即當參數k的值被賦予17 時,CFLOF 算法的準確率在3 種算法中最高。

圖5 數據集2 上3 種算法的實驗結果(k=17)

圖6 所示的數據集3 涉及局部密度問題。此數據集中共包含1 641 個對象,其中45 個對象是異常值。INS 算法的結果是3 種算法中最差的。INS 算法由于沒有有效地利用反向鄰居,導致錯誤地將位于實線方框中的正常點檢測為異常對象,且無法正確檢測出位于實線方框中的真實異常值。而LOF算法則錯誤地將下方密度均勻的簇檢測為異常點,相比之下通過修正因子利用反向鄰居改進后的CFLOF 算法在處理復雜數據集時,將反向鄰居的影響考慮在內,提高了檢測的準確定,檢測效果好于其他2 種算法。

圖6 數據集3 上3 種算法的實驗結果(k=13)

圖7 中所示的數據集4 涉及低密度數據問題。此數據集中共包含880 個對象,其中72 個對象是異常值。從圖7 結果中可以看出,經過修正因子改進的CFLOF 算法在較稀疏的數據集上也可以很好地檢測出異常值,不會出現錯檢的情況。這同時也驗證了當參數k使用算法2 確定時CFLOF 算法的有效性。

圖7 數據集4 上3 種算法的實驗結果(k=28)

如圖8 所示,數據集5 具有低密度數據和不同流形的簇,由1 400 個對象組成,其中100 個對象是異常值。INS 算法的結果是最糟糕的。INS算法錯誤地檢測位于實線方框中的點,這些點屬于具有流形的簇,INS 算法再次錯誤地將正常簇中的點識別為異常值。而CFLOF 算法在使用反向鄰居及修正因子以后,可以增強同簇對象間的影響,同時減少噪聲的影響,對流形數據簇分布具有較好的識別效果,最佳低保留了數據流形分布規律。

上述實驗結果直觀顯示了CFLOF 算法的優越性,CFLOF 算法在5 個數據集下的準確率均優于其他2 種算法,這表明修正因子的引入提高了算法在二維合成數據上的準確率。

圖8 數據集5 上3 種算法的實驗結果(k=31)

4.4 算法模型時間效率對比

通過表1 中的高斯分布數據集1 和高斯分布數據集2 來測試算法的時間效率,如圖9 所示。實驗結果的起始部分隨著使用數據集大小的增加,算法在構造R 樹的時間開銷較高。距離計算與鄰居搜索的時間開銷較低,隨著數據集的增加,距離計算與鄰居搜索的時間開銷逐漸增大,而R 樹的使用與后期的修剪過程減少了距離計算與鄰居搜索帶來的開銷。當數據集規模持續上升時,可以看到,CFLOF 算法在數據集規模超過1.5×104時開始拉開差距,并且在后面數據集增大時差距逐漸變大。

圖9 3 種算法的計算時間隨數據集規模的變化對比

通過在符合高斯分布合成數據集上進行的實驗發現,因所提剪枝算法的使用,可以有效地提高時間效率,相較于其他算法,CFLOF 算法在時間的效率上均有不同程度的優勢。

4.5 公開數據集上檢測性能實驗結果對比

為了進一步驗證CFLOF 算法的有效性,將CFLOF 算法應用于2 個真實世界的數據集。從UCI機器學習庫中選擇2 個具備不同屬性的數據集:Pendigit 和Letter,用于算法的準確率和時間效率的測試。同時生成2 個符合高斯分布的數據集,維度均為2 維,數據生成的協方差矩陣和均值不同,大小可變,生成的數據將用于測試算法的時間效率。

在2 個真實的數據集上對3 種算法的準確率進行了對比實驗,根據實驗結果繪制了算法的準確率隨k值的變化情況,如圖10 所示,其中垂直虛線所對應數據點是CFLOF 的實驗數據,因為其k值是通過算法2 自動確定的,所以僅標注k=20 和k=27 時對應的算法準確率,可以明顯地發現,CFLOF 算法的準確率高于其他2 種算法,這驗證了CFLOF 算法避免了參數選擇的問題。通過實驗結果還可以發現,參數選擇算法不僅適用于CFLOF 算法,同時在其他改進局部異常因子算法中也可以得到較高的準確率。

為了更好地對算法的檢測性能進行比較,驗證模型在實際應用領域的檢測效果,分別在4 個高維數據集上進行了實驗,對于前3 個數據集(Http、Smtp 和Credit),使用高斯隨機投影將維數減小為8。對于Mnist 數據集,由于原始數據是高維的,因此減小的子空間維數為15。將隨機投影過程重復10次,然后比較不同算法之間ROC 曲線下與坐標軸圍成的面積(AUC,area under curve)的平均值。

圖9 3 種算法在2 個真實數據集下的準確率隨參數k 的變化

同時將CFLOF 算法與目前主流的支持向量機(SVM,support vector machines)和iForest 進行比較,在Http 數據集和Smtp 數據集中,CFLOF 算法的性能與SVM 的最佳結果相似。在Credit 數據集和Mnist 數據集中,CFLOF 算法的平均AUC 比其他2 種算法更高。同時相比于其他2 種算法模型,CFLOF 算法模型更簡單,時間開銷小。

表3 3 種算法在公開數據集實驗的AUC 均值

通過在真實數據集上進行的實驗發現,相較于其他算法,CFLOF 算法在檢測性能上有不同程度的優勢,尤其是當進行多個聚類簇不同密度之間的對象計算時,CFLOF 算法的準確率比較高,這表明雙向鄰居搜索算法和修正因子提高了算法效率和準確率。同時通過KDD99 網絡數據集和金融領域的真實數據上的實驗結果發現,CFLOF 算法模型可以很好地解決現有的異常檢測問題,同時CFLOF 算法模型相較于其他算法模型也有較好的表現。

5 結束語

針對目前離群點檢測算法存在參數選取困難、精度低等問題,提出了基于反向鄰居修正的局部異常因子算法來檢測異常值和評估對象離群程度。與現有的基于距離和基于密度的算法不同,CFLOF算法不受模型參數k值變化影響,參數k值由所提雙向鄰居搜索算法確定。同時本文還提出修正因子的概念,該概念使CFLOF 算法在處理復雜數據集中對象時,可以更準確地計算異常值。在二維合成數據集和真實數據集下的實驗結果表明,CFLOF算法相較于其他算法在時間效率和準確率方面有一定優勢,這體現了CFLOF 算法的有效性。但是當維度過高時,CFLOF 算法有維度災難問題出現,會導致基于距離的算法失效問題,如何尋找一個有效的并且對數據原始特征損失較小的降維算法,是未來的研究目標。

猜你喜歡
離群準確率局部
一種基于鄰域粒度熵的離群點檢測算法
爨體蘭亭集序(局部)
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
凡·高《夜晚露天咖啡座》局部[荷蘭]
一種相似度剪枝的離群點檢測算法
從數學的角度初步看離群點檢測算法
丁學軍作品
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合