












摘" 要: 通過離群點檢測可以及時發現計算機網絡中的異常,從而為風險預警和控制提供重要線索。為此,設計一種基于局部信息熵的計算機網絡高維數據離群點檢測系統。在高維數據采集模塊中,利用Wireshark工具采集計算機網絡原始高維數據包;并在高維數據存儲模塊中建立MySQL數據庫、Zooleeper數據庫與Redis數據庫,用于存儲采集的高維數據包。在高維數據離群點檢測模塊中,通過微聚類劃分算法劃分存儲的高維數據包,得到數個微聚類;然后計算各微聚類的局部信息熵,確定各微聚類內是否存在離群點;再依據偏離度挖掘微聚類內的離群點;最后,利用高維數據可視化模塊呈現離群點檢測結果。實驗證明:所設計系統不僅可以有效采集計算機網絡高維數據并劃分計算機網絡高維數據,還能夠有效檢測高維數據離群點,且離群點檢測效率較快。
關鍵詞: 計算機網絡; 高維數據; 離群點檢測; 局部信息熵; Wireshark工具; 微聚類劃分
中圖分類號: TN919.1?34; TP391" " " " " " " " " "文獻標識碼: A" " " " " " " " " " 文章編號: 1004?373X(2024)10?0091?05
A computer network high?dimensional data outlier detection system based on
local information entropy
Abstract:" The anomalies in computer networks can be detected in a timely manner by means of outlier detection, so as to provide important clues for risk warning and control. On this basis, a computer network high?dimensional data outlier detection system based on local information entropy is designed. In the high?dimensional data collection module, Wireshark tool is used to collect raw high?dimensional data packets from computer networks. The high?dimensional data storage module is established by means of MySQL database, Zooleeper database, and Redis database to store the collected high?dimensional data packets. In the high?dimensional data outlier detection module, the stored high?dimensional data packets are divided by means of micro clustering partitioning algorithm to obtain several micro clusters. The local information entropy of each micro cluster is calculated to determine whether there are outliers within each micro cluster, and outliers within micro clustering are mined based on the degree of deviation. The high?dimensional data visualization module is used to present outlier detection results. The experimental results show that the system can not only effectively collect high?dimensional data from computer networks and partition them, but also effectively detect outliers in high?dimensional data, and the efficiency of outlier detection is fast.
Keywords: computer network; high dimensional data; outlier detection; local information entropy; Wireshark tool; microclustering division
0" 引" 言
計算機網絡中,網絡流量、用戶行為、社交網絡等數據呈現出高維度的特性[1],這些數據中可能隱藏著重要的信息和模式。離群點是數據集中與其他數據點顯著不同的觀測值[2?4],也可能是異常事件、惡意行為或重要機會的指示器,因此,準確、高效地檢測離群點對于網絡安全、數據分析和決策支持等方面具有重要意義。例如,在網絡安全領域,檢測異常流量可以識別網絡攻擊和病毒傳播;在用戶行為分析中,檢測異常行為有助于理解用戶需求和市場趨勢;在社交網絡中,檢測離群點可以發現關鍵人物和群體,為社交媒體分析和輿情監控提供支持。
目前,有很多學者對計算機網絡高維數據離群點檢測問題進行了大量研究。葉晟等人結合了網格劃分和LLE方法,旨在有效地識別高維數據中的離群點[5]。通過將數據劃分為網格,系統能夠快速處理大規模數據集,并利用LLE方法對每個網格進行局部特征提取和降維。離群點檢測基于降維后的數據,能夠自適應地識別離群點,并具有較好的魯棒性和準確性,但該系統對于高度非線性分布的數據難以捕捉其復雜結構,從而影響離群點檢測的準確性。傅麗芳等人利用CART算法構建決策樹模型,對網絡大數據集進行分類和回歸分析,同時檢測其中的離群點[6]。系統采用滑動窗口技術處理動態數據集,能夠實時地檢測離群點并更新檢測結果。但該系統中CART算法在處理大規模數據時,會遇到內存限制和計算效率問題。
局部信息熵能夠更好地適應高維數據的特性,提取出更多有用的信息,它還能夠更好地反映數據的內在特征和分布情況,從而提高離群點檢測的準確性。基于上述分析,本文設計一種基于局部信息熵的計算機網絡高維數據離群點檢測系統,以準確、高效地檢測離群點,這對于網絡安全、數據分析和決策支持等方面的研究具有重要意義。
1" 計算機網絡高維數據離群點檢測系統
為及時發現計算機網絡高維數據中的異常數據,設計計算機網絡高維數據離群點檢測系統。該系統內共包含4個模塊,分別是采集模塊、存儲模塊、離群點檢測模塊以及可視化模塊。計算機網絡高維數據離群點檢測系統的結構如圖1所示。
該系統的離群點檢測步驟如下。
1) 高維數據采集模塊在計算機網絡的出口路由器位置,通過Wireshark工具采集計算機網絡的原始高維數據包。
2) 高維數據存儲模塊采用MySQL數據庫、Zooleeper數據庫與Redis數據庫,存儲采集的計算機網絡原始高維數據包。
3) 高維數據離群點檢測模塊通過微聚類劃分算法劃分計算機網絡原始高維數據包,得到數個微聚類。通過計算各微聚類的局部信息熵,確定各微聚類內是否存在離群點。通過基于距離的方法,在存在離群點的微聚類內挖掘對應的離群點。
4) 利用高維數據可視化模塊,呈現計算機網絡高維數據離群點檢測結果。
1.1" 高維數據存儲模塊
高維數據存儲模塊中包含三種類型的數據庫,存儲高維數據采集模塊采集的計算機網絡高維數據包。其中:MySQL數據庫具備持久化的高維數據存儲功能[7],用于存儲計算機網絡高維配置信息、服務器的高維日志記錄;Zooleeper數據庫屬于臨時數據庫,用于存儲臨時的計算機網絡高維配置信息[8];Redis數據庫用于存儲計算機網絡已完成的會話流標識,以及未完成會話流內高維數據包的負載。
MySQL數據庫內存儲的計算機網絡配置信息格式如表1所示。
計算機網絡配置信息tb_configure內包含三個關鍵字段,分別是計算機網絡設備Device、BPF過濾表達式Filter、檢測服務器的地址Server。
MySQL數據庫內存儲的計算機網絡服務器高維日志記錄格式如表2所示。
計算機網絡服務器高維日志記錄tb_session內具有兩種關鍵字段,分別是五元組與預測標簽predicate。其中,五元組分別是計算機網絡協議Protocol、源IP地址src_ip、源端口號src_port、目的IP地址dest_ip、目的端口號dest_port。
Zookeeper屬于內存型數據庫,以文件系統的方式存儲計算機網絡的臨時高維配置信息[9]。而Redis數據庫可存儲多種類型的計算機網絡高維數據包,通過單線程的方式處理高維數據包,通過多線程的方式接收高維數據包調用請求,同時不同請求間不會出現干擾問題[10]。因此,本文利用Redis數據庫存儲已完成與未完成的會話流done_session、doing_session::{id},已完成與未完成的會話流的存儲格式如表3所示。
1.2" 基于局部信息熵的高維數據離群點檢測算法
高維數據離群點檢測模塊利用微聚類劃分算法,劃分高維數據存儲模塊內存儲的計算機網絡高維數據包,得到[k]個計算機網絡高維數據微聚類。具體步驟如下:
1) 輸入高維數據存儲模塊內的計算機網絡高維數據集[X=X1,X2,…,Xn]。
2) 初始化[X]內全部的計算機網絡高維數據對象,得到相應的簇[C1,C2,…,Ci,Cj,…,Cn],并將其作為微聚類。
3) 計算微聚類間的最小距離,公式如下:
式中:第[i]個簇[Ci]內的計算機網絡高維數據對象為[Xp];第[j]個簇[Cj]內的計算機網絡高維數據對象為[Xq]。
在計算機網絡高維數據的微聚類內,利用式(1)選擇2個距離最小的簇[Ci]與[Cj],組合成一個新的聚類[Ch]。[Ch]內的計算機網絡高維數據對象屬于原始計算機網絡高維數據對象的并集,即[Ch=Ci?Cj],同時返回微聚類數量[k]。
4) 按照[Ch]內計算機網絡高維數據對象的均值,將各計算機網絡高維數據對象分配至與其最接近的簇[KCk]內,并更新簇均值,再次確定聚類中心。
5) 反復操作上述步驟,到簇均值無改變為止。
6) 輸出計算機網絡高維數據集內微聚類數量[k],以及微聚類結果[KC=KC1,KC2,…,KCk]。
利用局部信息熵[H]描繪各微聚類[KCi]內計算機網絡高維數據對象的分布狀態,即通過[H]分析[KCi]內是否存在離群點。
令[KCi]內計算機網絡數據對象是[Xp]與[Xq],則[Xp]的局部信息熵為:
在剔除偏離度最大的計算機網絡高維數據對象后,微聚類的局部信息熵為[HXp],則局部信息熵閾值公式如下:
[ε=HXp-HXp]" " " " " (3)
當[ε]無限接近0,說明該微聚類內不存在離群點,并剔除該微聚類;否則,代表該微聚類內存在離群點,并加入離群點數據集內。
依據偏離度降序排列離群點數據集內的計算機網絡高維數據對象,便可得到前[τ]個離群點,即計算機網絡高維數據離群點檢測結果。離群點數據集內計算機網絡高維數據對象[Xp]與[Xq]的空間加權距離為:
式中[ω]為權重。
微聚類中計算機網絡高維數據對象的偏離度為:
式中:[m]為離群點數據集內計算機網絡高維數據對象數量。[g]值越大,對應的計算機網絡高維數據偏離程度越大,屬于離群點的概率越高。
2" 實驗分析
以某計算機網絡環境為實驗對象,該計算機網絡環境內包含1個主服務器、1個中心設備、1個交換模塊、4個共享模塊以及8個主機。
該計算機網絡環境在2個月內,共產生100萬條計算機網絡高維數據,計算機網絡高維數據集的維度在10~100維之間。
利用本文系統采集計算機網絡高維數據,數據的分布情況如圖2所示。
分析圖2可知,本文系統可有效采集計算機網絡高維數據,從數據的分布情況可以看到,采集的高維數據均勻分布在數據空間內。
利用本文系統對數據進行微聚類劃分,計算機網絡高維數據劃分結果如圖3所示,其中共包含7種類型。
分析圖3可知:本文系統可對計算機網絡高維數據進行有效微聚類劃分,共得到7個簇,與實際計算機網絡高維數據類型相同;同時,本文系統劃分后的每個簇間并無混淆情況,邊界清晰,說明本文系統的計算機網絡高維數據微聚類劃分效果較優。
利用本文系統計算各微聚類的局部信息熵閾值,分析各微聚類內是否存在離群點,計算結果如表4所示。
分析表4可知:本文系統可有效計算各微聚類的局部信息熵,得到局部信息熵閾值,其中,簇1、簇3、簇5、簇6、簇7的局部信息熵閾值均與0較為接近,說明這5個簇內不存在離群點;簇2與簇4的局部信息熵閾值明顯高于0,說明這兩個簇內存在離群點。
利用本文系統對簇2與簇4內的計算機網絡高維數據進行離群點檢測,離群點檢測結果如圖4所示。
分析圖4可知,雖然計算機網絡高維數據內,正常數據點與離群點高度混合在一起,但本文系統依舊能夠有效檢測出離群點,說明本文系統具備計算機網絡高維數據離群點檢測的能力。
一般而言,傳輸速率越快,則離群點檢測效率越快,當傳輸速率超過30 Gb/s時,說明系統的高維數據離群點檢測效率較快。本文系統的高維數據傳輸速率分析結果如圖5所示。
分析圖5可知,本文系統的計算機網絡高維數據傳輸速率在65 Gb/s左右,明顯高于30 Gb/s,說明本文系統的計算機網絡高維數據傳輸速率較快,進而高維數據離群點檢測效率較高。
3" 結" 語
本文提出一種基于局部信息熵的計算機網絡高維數據離群點檢測系統,該系統利用局部信息熵完成離群點檢測。通過實驗驗證,本文系統能夠準確地識別出高維數據中的離群點,具有良好的魯棒性和自適應性,是一種有效的離群點檢測方法。該系統可以應用于網絡安全、數據挖掘、機器學習等領域,為企業和組織提供有力的支持。
參考文獻
[1] 劉琨,張曉涵,曹汝坤,等.IPv6遠程監控網絡下無狀態通信數據的多尺度離群點挖掘算法[J].電信科學,2023,39(8):118?126.
[2] 郭一陽,于炯,杜旭升,等.基于隨機投影與集成學習的離群點檢測算法[J].計算機應用研究,2022,39(9):2608?2614.
[3] 何美玲,李佩雅.面向高維大數據的局部離群點并行檢測算法[J].計算機仿真,2022,39(2):304?308.
[4] 高志宇,宋學坤,肖俊生,等.基于神經網絡的大規模數據集離群點檢測算法[J].沈陽工業大學學報,2022,44(4):420?425.
[5] 葉晟,吳曉朝.基于網格劃分和LLE的高維數據離群點自適應檢測方法[J].湖南科技大學學報(自然科學版),2023,38(1):85?91.
[6] 傅麗芳,陳卓,敖長林.基于分類和回歸樹決策樹的網絡大數據集離群點動態檢測算法[J].吉林大學學報(工學版),2023,53(9):2620?2625.
[7] 張玉婷,馮山.一種基于鄰域近似精度的離群點檢測方法[J].數據采集與處理,2022,37(5):1018?1025.
[8] 張忠平,張玉停,劉偉雄,等.基于質心投影波動的離群點檢測算法[J].計算機集成制造系統,2022,28(12):3867?3876.
[9] 楊志勇,江峰,于旭,等.采用離群點檢測技術的混合型數據聚類初始化方法[J].智能系統學報,2023,18(1):56?65.
[10] 金利娜,于炯,杜旭升,等.基于生成對抗網絡和變分自編碼器的離群點檢測算法[J].計算機應用研究,2022,39(3):774?779.
[11] 趙向兵,張天剛.基于相關子空間的高維離群數據檢測算法[J].計算技術與自動化,2022(1):82?86.
[12] 安云哲,吳東翰,夏秀峰,等.面向流數據的多離群點檢測算法研究[J].河南科技學院學報(自然科學版),2023,51(1):48?57.
[13] 蔣斌,黃恩銘.基于分形理論的異質網絡中局部離群點檢測[J].計算機仿真,2023,40(1):544?547.