研究型论文_ 基于改进聚类分析的网络流量异常检测方法

文章目录

  • 基于改进聚类分析的网络流量异常检测方法
    • 论文摘要
    • 论文解决的问题
    • 1.网络流量特征数据的预处理
    • 2.网络流量特征优化选择
    • 3.网络流量数据记录的距离度量
    • 4.基于二分法的 k-means 聚类检测
    • 总结

基于改进聚类分析的网络流量异常检测方法

论文摘要

针对传统基于聚类分析的网络流量异常检测方法准确性较低的问题,提出了一种基于改进 k-means
聚类的流量异常检测方法。

  1. 通过对各类流量特征数据的预处理,使 k-means 算法能适用于离散型数据检测

  2. 进而给出一种基于数值分布分析法的高维数据特征筛选方法,有效解决了维数过高导致的距离失效问题

  3. 并运用二分法优化 K 个聚簇的划分,减少了初始聚类中心选择对 k-means 算法结果的影响,进一步提高了算法的检测率。

最后通过仿真实验验证了所提出算法的有效性。

论文解决的问题

解决了维数过高导致的距离失效问题。

直接使用k-means会遇到的问题和本文的解决方法:

  1. 只能处理连续型数据:数据预处理
  2. 对初始聚类中心的选择过于敏感:使用二分k-means
  3. 当特征数量过多时,空间中的点会变得稀疏,从而使距离失效:特征降维

1.网络流量特征数据的预处理

解决第一个问题。

  1. 网络流量数据

    (1)无序离散型特征:特征协议、连接状态、目标主机的网络服务类型等
    (2)有序离散型特征:访问系统敏感文件的次数,过去两秒内与当前连接有相同目标主机的连接数等
    (3){0,1}型特征:是否登陆成功、是否为guest用户等
    (4)有序连续性特征:如在固定时间内,与当前连接在某特征处取值相同的连接数占总连接数的百分比等。

    对于不同类型的特征类型,应采用不同的数据预处理和距离度量方法。

  2. 处理方法

(1)有序离散型和有序连续型特征:
研究型论文_ 基于改进聚类分析的网络流量异常检测方法_第1张图片
其实也可以用各种归一化方法处理。

(2)无序离散型:

文章中提到用整数数字代表特征的不同数值;我觉得这样可能不太好,因为用整数数字可能会让机器产生优先度不同的概念,比如对协议而言,用1表示TCP,用2表示UDP,那么这样让机器认为UDP比TCP更重要。

由于文章是改进k-means,后面有对无序离散型距离的计算方法,所以直接用整数数字代表特征的不同数值也没问题。

有更好的方法:独热编码等

(3){0,1}型变量:不处理

2.网络流量特征优化选择

解决第三个问题。

计算不同数据在某特征处取值的均方差,并对其进行归一化处理,得到该特征的权重。计算公式如下:
研究型论文_ 基于改进聚类分析的网络流量异常检测方法_第2张图片
直观上很好理解:其实就是选择了一个特征,该特征的均方差比较高,因此该特征在分布上不集中,所以对区分数据属于哪种类型的流量(正常或异常)更有帮助。(因为数据很集中的话证明大部分数据都等于同一个值,这样就没有区分能力了)。

然后选择权重较大的特征进行下一步计算,并在数据记录距离度量中带入特征权重进行计算。进一步提高聚类检测结果的准确性。

3.网络流量数据记录的距离度量

  1. 对于{0,1}特征,有序离散型特征和有序连续型特征
    的距离计算:
    在这里插入图片描述

  2. 对于无序离散型特征:
    研究型论文_ 基于改进聚类分析的网络流量异常检测方法_第3张图片

  3. 所以:
    在这里插入图片描述

4.基于二分法的 k-means 聚类检测

解决第二个问题。
研究型论文_ 基于改进聚类分析的网络流量异常检测方法_第4张图片
在这里插入图片描述
可参考这个文章:二分k-means

总结

  1. 对不同的特征数据要进行不同的预处理分析。
  2. 用计算特征权重的方式降维。

你可能感兴趣的:(文献阅读,算法,leetcode,c++)