2.3 无监督模型
无监督模型不需要训练数据,主要利用在线数据进行学习和检测,因此其适用范围很广 。这种技术有一个前提假设,就是正常流量要远远多于异常流量,如果该假设不成立,则无监督模型会有很多误报 。无监督模型也需要一个学习期,系统会使用学习期内的数据训练模型,在该阶段内模型是不具备检测能力的,当学习期结束后,就可以利用模型进行异常流量的检测 。在网络流量异常检测领域常用的无监督模型包括聚类、孤立森林、自编码器等 。
2.3.1 基于聚类算法的模型
聚类算法是一种典型的无监督学习算法,输入只有特征向量,没有标签,其主要目的是将相似的样本自动归类到一个类簇中。常用的聚类算法有 K-means、DBSCAN 等 。聚类算法依赖于相似度计算方法,不同的相似度及算法得到的聚类结果也会有所不同,常用的相似度计算方法是欧式距离和闵可夫斯基距离 。二维空间上的数据聚类如图 4 所示 。

图 4 聚类
Pu 等人采用了基于聚类算法的混合方法进行异常检测 。其思路是首先在学习期内积累流量数据,待数据积累完毕利用聚类算法对这些数据进行聚类,最终聚成两个类簇,其中数据量小的类簇称为异常类簇 。观测到新的流量数据时,计算该数据所归属的类簇,如果归属于正常类簇,则将流量数据判定为正常;如果归属于异常类簇,则将流量数据判定为异常,然后使用该流量数据更新类簇 。
聚类算法比较依赖于数据之间的距离度量,如果数据之间的距离度量不能很好地反映数据之间的相似性,则基于聚类算法的模型的误报和漏报较多 。
2.3.2 基于孤立森林的模型
孤立森林是一个基于集成的模型,不同于其他一些算法通过距离、密度等去描述数据之间的相似度或疏离度,它通过使用孤立树的二叉搜索树去孤立样本点来检测异常值 。孤立森林是由多棵孤立树组成的,孤立森林中包含的孤立树越多,模型稳定性越好,但预测时的计算量也越大 。
Li 等人利用孤立森林进行异常检测,可以以很低的误报率实现异常检测 。其思想是随机选择一定量的样本作为孤立树的根节点,然后递归地在孤立树的节点上随机选择一个特征维度将结点一分为二,直到所有节点只有一个样本,或者节点不可再分,或者节点的深度达到给定阈值 。因为异常数据的数量很少,并且和大部分正常数据之间存在较大疏离性,所以异常数据会被更早地孤立出来,也就是说异常数据离根节点更近,正常数据离根节点更远 。Tao 等人 提出了一种基于孤立森林和 Spark 的大规模并行网络流量异常检测算法,该算法充分利用了孤立森林的并行特性和 Spark 分布式处理能力,能够快速地处理海量流量数据,同时因为处理的数据量的扩大,模型的检测准确率也得到了很大的提升 。
利用孤立森林进行异常流量检测的优点是具有线性时间复杂度,可以在海量的数据集上进行训练,并且由于每棵孤立树都是独立的,非常适合通过并行的模式部署在大规模分布式系统上来加速运算 。但是孤立森林在特征维度特别高的场景下并不是特别适用,主要是因为在这种情况下会有很多维度的信息并没有被利用到,导致算法的可靠性降低 。另外,高维空间中可能存在大量噪声维度或无关维度,这会降低模型的检测能力 。
2.3.3 基于自编码器的模型
自编码器是一种无监督学习模型,是神经网络的一种,通过一个编码器将输入特征向量映射到另一个编码特征空间中的一个向量,然后再用一个解码器将编码特征空间中的向量还原回来 。通过这样一个过程使其学习到输入数据的分布规律,从而使得符合训练数据分布规律的数据经过编码再还原出来之后和原始数据之间的误差是相对较小的,不符合训练数据分布规律的数据经过编码再还原出来之后和原始数据之间的误差会很大 。因此基于自编码器的这种特性可以进行异常流量检测 。
推荐阅读
- 手把手教你一招搞定 右下角网络连接图标不见了
- 网络不可用是什么原因解决方法 无法访问互联网怎么回事
- 192.168.1.1修改路由器密码方法 网络设置192.168.1.1
- 8个常见原因及解决方法 无线网络连接不上怎么解决
- 操作简单实用 移动流量查询
- 恢复电脑网络的最佳方法 重置网络设置在哪里
- 如何设置无线路由器步骤要详细 网络设置打不开
- 电脑右下角网络感叹号的解决方法 不能上网出现感叹号
- 台式电脑无线网卡使用方法 无线网卡插电脑上怎么连接无线网络
- 电脑连接不上网络的几个解决方法 电脑中毒上不了网
