论文部分内容阅读
随着互联网的普及,网络攻击成为常态,网络异常流量检测能够为拦截网络攻击提供有效的保障。为了准确检测网络中的异常流量,通常需要分析海量的数据(高维度数据),分析这些数据不仅消耗巨大的计算资源,降低检测的实时性,还有可能降低检测的准确率。为了缓解计算压力,多种特征选择算法应运而生,然而,现有的特征选择算法忽视了多个特征之间的联系,导致了低效的异常流量检测。由于机器学习算法如决策树的有效性,机器学习算法越来越多地被用来解决网络异常流量检测问题。然而,基于单个机器学习算法的网络异常流量检测存在性能不稳定、深度模型泛化能力不足等缺点。本文首先提出了一种基于投票机制的特征选择算法,基于该算法得出的最优特征子集,本文设计一种基于集成学习的网络异常流量检测框架,该集成学习方法联合了不同的学习器,以获得一个更好的模型,主要工作如下:1.本文设计了一种基于投票机制的集成特征选择算法以缓解分析高维度数据给计算资源受限的设备带来的计算压力。本文使用相关系数、卡方检验、互信息三种过滤方案,并结合随机森林和轻量梯度提升机(Light Gradient Boosting Machine,LGBM)两种嵌入方案计算特征贡献度以分别评估最优特征子集,设计了一种基于投票机制的集成特征选择算法。所提出的特征选择方案结合了过滤法和嵌入法这两种传统方法的优势,能够在不影响甚至提升网络异常流量检测准确度的前提下减少设备的计算量以减少计算时间。2.本文提出一种基于Stacking的异常流量分类算法以提高网络异常流量检测的准确率。该算法采用所提出的基于投票机制的集成特征选择算法得到的最优特征子集作为训练集,训练了一个Stacking集成分类器用于网络异常流量检测。具体来说,该算法分层处理网络异常流量,在第一层中使用决策树、梯度提升决策树、多层感知机作为基分类器提取数据特征以保证基分类器的多样性;然后在第二层中使用逻辑回归作为元分类器预测得到最终预测结果。所提出的异常流量检测算法弥补了传统的单分类器算法检测效率不高的问题。本文采用了交叉验证的方法以降低标准Stacking算法过拟合的概率。3.为了验证所提出的特征选择以及网络异常流量检测算法的有效性,我们在基准数据集上进行了一系列的实验。实验结果表明,所提出的基于投票机制的集成特征选择算法平均可以提升15.67%的检测准确率,同时减少原数据集77.14%的数据量,使设备降低了25.70%的平均运行时间,从而节约了计算资源。所提出的基于Stacking的异常流量分类算法与决策树、梯度提升决策树和多层感知机这三种网络异常流量检测基准算法相比,准确率分别提升了2.29%、1.34%和2.48%。