基于双层异质集成学习器的入侵检测方法

2021-06-02 08:34刘玉岭卢志刚刘宝旭
信息安全学报 2021年3期
关键词:降维异质分类器

凌 玥, 刘玉岭, 姜 波, 李 宁, 卢志刚, 刘宝旭

1中国科学院信息工程研究所, 北京 中国 100093

2中国科学院大学网络空间安全学院, 北京 中国 100049

1 引言

为了减少和防止网络攻击, 我们有必要尽可能发现各种攻击企图、攻击行为或者攻击结果, 以保证网络系统资源的完整性、机密性和可用性。传统的安全措施, 如身份认证和防火墙, 只能被动地保护网络安全, 而且对网络管理员的要求很高。实际上, 入侵检测技术是检测攻击的最常用方法, 它可以很好地解决上述问题[1]。业界最为常用的基于误用的入侵检测采用的是签名模式匹配的方法, 它通过建立正常的行为模型来监控入侵标志的网络流量信息。以下有几方面原因可以解释为什么应该采用基于异常的检测方法: 一方面, 基于误用的入侵检测技术很难检测到未写入规则库的攻击, 因此通常具有较高的误报率和漏报率; 另一方面, 在发现新攻击和部署其相应签名之间可能存在较大的时间间隔, 安 全管理员也需对开发的签名进行管理、分发、保持最新。一旦攻击者稍微修改一些已知的恶意软件, 就会带来较大挑战。因此, 在本文中, 我们关注如何提高基于异常检测技术的实用性。

在基于异常的网络入侵检测中, 很多研究者采用了机器学习算法, 并对其进行了改进和应用[2-7]。其基本流程如图1所示。首先是获取数据, 然后对数据进行预处理, 最主要的是对数据进行探索性分析, 主要包含了四个步骤: 特征选择/降维处理、模型选择、模型部署、模型验证与优化。

图1 采用机器学习的入侵异常检测流程图 Figure 1 Flow chart of anomaly-based intrusion detection using machine learning method

我们将传统机器学习的入侵检测方法分为两类: 使用单个分类器[2,3,8-10]进行入侵检测, 以及融合多个分类器来进行检测[6-7]。使用单个分类器的检测方法具有较高错误率, 因为在分类过程中, 这些方法的性能通常会随着不同的分类器和/或不同的数据集的变化而变化, 因此会产生较高错误率。而以合理的方式融合多个分类器可以减少整体分类错误并增强模型的泛化能力。这个融合过程被称为集成学习。近年来, 基于深度学习的异常检测研究也越来越广泛[10-11]。然而, 由于缺乏理论基础、超参数和网络设计, 深度神经网络被认为是一个“黑匣子”, 其计算非常耗时, 解释性也较差。同时, 通过应用传统的机器学习方法, 可以轻松调整超参数并改变模型设计。因此, 使用传统的机器学习模型更具说明性和效率。集成学习具有很强的泛化能力, 可以降低错误率, 因此几种传统分类器的组合可以降低错误率, 使我们能够更全面地了解数据和底层算法。几种入侵检测方法的分析如下表所示。

表1 入侵检测方法对比分析 Table 1 Comparative analysis of intrusion detection methods

对于入侵检测, 我们还需要考虑时间消耗, 因为许多研究人员以牺牲过多的时间消耗为代价来提高模型的检测率。这对于入侵检测来说是不可取的, 因为大量的时间消耗会影响其实用性。为了减少分类器集成的时间消耗, 可以考虑采用数据降维方法, 如主成分分析(PCA)[13], 概率主成分分析(PPCA)[14], 以及核主成分分析(KPCA)[15]。数据降维是过滤数据噪声的有效方法, 它可以在预处理阶段尽可能地减少数据而不影响检测结果, 从而大大降低了时间消耗。

在本文中, 使用双层异质学习器集成学习策略(Intrusion Detection Model using Double-layer Heterogeneous Ensemble Learner Strategy, IDHEL)设计了一种新颖的入侵检测模型。首先, 采用数据预处理方法来降低计算量, 以减少时间消耗。然后, 我们使用五个异质分类器对数据集执行异常检测, 采用分层十倍交叉验证。接下来, 根据分类器评估公式(Classifification Evaluation Algorithm, CEA)选择三个最佳分类器。最后, 执行基于概率加权投票的异质学习器集成算法(Multi-classififier Fusion Algorithm, McFA)。我们还将IDHEL模型与单一分类器(如朴素贝叶斯, Bp神经网络, C4.5, 逻辑回归, SVM)和使用相同数据集的其他一些先进算法进行比较, 以证明我们的模型更适合入侵检测。

本文的贡献如下:

1. 提出了一种使用双层异质分类器集成学习策略(IDHEL)的新型入侵检测模型, 可以通过概率加权投票机制提高入侵检测的性能。

2. 利用概率核主成分分析方法降低了模型训练的计算成本, 并采用分层十倍交叉验证方法避免了过度拟合。

3. 在入侵检测数据集上对IDHEL模型进行了评估, 实验结果表明, IDHEL模型在准确性, 错误率和时间消耗方面均具有优越性。

本文的其余部分安排如下: 第2节介绍了国内外相关工作; 第3节详细介绍了本文提出的入侵检测模型; 第4节介绍了实验并对结果进行了讨论; 第5节主要阐述了我们的工作结论。

2 国内外相关研究进展

2.1 入侵检测模型

我们将基于异常的入侵检测方法分为三类: 单一传统分类器、深度学习和集成学习。

2.1.1 单一传统分类器

单个传统分类器方法就是采用单个分类器来对数据进行训练学习。

Syarif等人[2]讨论了五种不同的异常检测技术, 并且使用NSL-KDD数据集来评估网络异常检测中的聚类算法。然而, 实验结果表明采用这几种算法会产生产生较高的误报率(超过20%)。

此外, Eslamnezhad等人[5]设计了一种改进的K-Means算法, 称为Min-Max K-Means。MinMax K-Means是一种新的聚类算法, 试图解决K-Means初始化问题。该算法从随机选择簇的初始中心开始, 然后尝试应用最小化簇的最大内部方差, 而不是最小化K-Means算法中簇的内部方差之和。对每个聚类进行加权, 以便为具有较大内部方差的聚类分配较高权重。 通过应用此方法, 结果变得更少依赖于初始化, 并且即使未最佳地选择簇的初始中心, 聚类的质量也会增加。实验结果表明, Min-Max K-Means算法的总检测率为81%, 而常规K-Means分配较高权重。 实验结果表明, Min-Max K-Means算法的总检测率为81%, 而常规K-Means算法的总检测率为75%。然而, 他们都只是尝试改进了K-Means算法, 尽管结果证明他们所提出的算法比K-Means算法要好, 但是他们并没有尝试和其他的算法进行比较, 也没有尝试减少时间开销。

SVM算法由于使用核函数可以向高维空间进行映射和解决非线性的分类, 以及分类思想简单, 就是将样本与决策面的间隔最大化等优点, 也被许多研究者所采用。

Bo等人[3]通过使用短序列数据, 使用SVM模型将数据标记为异常或正常。他们的基于SVM的模型有较高的准确率, 并且可以有效地进行实时入侵检测, 其框架图如图2所示。然而他们仅仅考虑了提高使用SVM算法的检测率和减少使用SVM算法的时间消耗。根据我们的实验可以得知, 使用SVM算法本身所耗费的时间就不多。因此在此基础上减少时间消耗的意义不是很大, 此外, 他们忽略了与其他分类算法相对比。

图2 Bo等人的提出的SVM框架[3] Figure 2 Bo et al."s proposed SVM framework[3]

2.1.2 深度学习

深度学习指含多个隐藏层的多层感知器的学习结构。深度学习通过组合低层特征以形成更加抽象的高层表示属性类别或特征, 以发现数据的分布式特征表示。

Tang等人[4]构建了一个深度神经网络(DNN)模型, 在SDN环境中获取数据集的六个基本特征, 以此基于流量进行异常检测。然而, 他们所提出的模型最后实验的准确率只有75.75%, 并不是很高, 此外模型的可解释性不是很好。Shone等人[11]提出了一种用于无监督特征学习的非对称深度自动编码器(NDAE), 并提出了一种使用堆叠NDAE的深度学习分类模型。如图3所示, 模型使用了堆叠排列的两个NDAE, 并与RF算法结合使用。每个NDAE有3个隐藏层, 每个隐藏层使用与特征相同数量的神经元(由图中的编号表示)。通过交叉验证多种组合(即神经元和隐藏层的数量)确定这些确切的参数, 直到确定最有效。研究表明作者所提出的模型误报率较高, 且时间耗费较大。此外, 模型的可解释性较差。

图3 堆叠NDAE的深度学习分类模型[11] Figure 3 Deep learning classification model for stacked NDAE[11]

2.1.3 集成学习

集成学习指通过合并多个分类器来提升机器学习性能, 这种方法相较于采用单个分类器的方法通常能够获得更好的预测结果。

Tengl等人[6]提出了一种基于遗传算法(GA)的集成分类器最优加权策略的协同鲁棒入侵检测模型。在所提出的模型中, 如图4所示, 他们使用PCA来进行数据降维, GA用于优化集合分类器的每个基本分类器的权重。然而, 他们所提出的方法虽然最后得到的准确率较高, 但却花费了大量时间来调整权重, 这将会影响算法的实时性和可用性。

此外, Sornsuwit等人[7]采用Adaboost算法创建决策树、朴素贝叶斯, SVM和MLP分类器的集合, 并通过实验结果证明了优越性。

2.2 数据降维算法

为了提高模型的实用性, 许多研究人员将降维方法应用到数据预处理阶段以减少时间消耗。PCA是一种经典的数据降维算法, 一些研究人员针对上述问题改进了PCA算法。例如, Ge等人[15]提出了一个可以自动确定潜变量有效维数的模型。对于具有多种运行模式的监测过程, 将贝叶斯正则化方法扩展到其混合形式, 然后开发了混合贝叶斯正则化的PPCA方法。

此外, Li等人[5]提出了一种基于KPCA和最小二乘支持向量机(LSSVM)的非线性过程异常检测与诊断方法。这项工作试图尽可能地降低计算成本, 同时确保准确性, 以提高模型的实用性。

这些减少数据维度的尝试都是有意义的。它们都在确保准确率的情况下, 尽可能降低计算成本, 从而提高模型的实用性。

图4 协同入侵检测的体系结构图[6]流程图 Figure 4 The architecture of collaborative intrusion detection[6]

总结相关工作, 可以发现尽管使用K-Means和神经网络等机器学习算法在基于异常的入侵检测中实现了较高的检测率和准确率, 但在大多数情况下都会导致较高错误率并产生巨大的计算开销, 影响其实用性。基于异常的IDS的高时间消耗主要归因于这些IDS需要分析的数据中存在大量的特征。因此, 本文旨在通过异质学习器集成策略来解决异常检测的较高错误率的问题和通过数据降维技术解决基于异常的IDS的高计算成本问题。

3 入侵检测IDHEL模型

3.1 模型概述

我们所提出的IDHEL模型分为两个部分。

第一部分是数据预处理。使用PKPCA数据降维算法, 它结合了PPCA和KPCA的优点, 能够尽可能地减少信息损失和降低计算开销。

第二部分是入侵检测的双层策略, 又分为两部分。首先是单一分类器, 使用五种不同的分类器来分别检测, 包括: 朴素贝叶斯, Bp神经网络, C4.5决策树, 逻辑回归和SVM。这是因为根据Zaman等人[16]和Syarif等人[2]的工作, 这五个分类器的分类结果相对较好且可解释较高。此外, 应用了分层十折交叉验证方法来防止模型过拟合。其次是异构的集成学习器策略, 使用分类器评估算法(CEA)选择最好的三个分类器作为组件学习器, 然后执行多分类器融合算法(McFA)进行再处理。整个模型的体系结构如图5所示。

图5 IDHEL模型框架图 Figure 5 The overall framework of IDHEL model.

3.2 数据降维算法

根据Sornsuwit等人[7]的描述, 减少特征能够提高入侵检测中弱学习器的分类效率。数据维度本质上是从一个维度空间映射到另一个维度空间, 特征的个数并没有减少, 然而在映射的过程中特征值会发生相应的变化。

PCA是一种线性投影技术, 遵循最大化数据方差的原则来进行数据降维, 尽可能地保留有效信息。使用PCA的降维过程首先需要对数据集的特征值进行归一化处理, 接着求协方差的特征值和特征向量, 特征向量都归一化为单位向量, 然后将特征值按照从大到小的顺序排序, 选择其中最大的k个, 接下来将其对应的k个特征向量分别作为列向量组成特征向量矩阵, 最后, 将样本点投影到选取的特征向量上。

然而, PCA算法存在以下两个问题。首先, PCA没有将数据的概率分布考虑; 其次, PCA仅考虑了数据的二阶统计信息, 而没有利用高阶统计信息, 忽略了数据的非线性相关性。

针对上述两个问题, 前人分别对PCA进行了改进。

PPCA对PCA做了概率上的解释, 延伸了PCA算法。它是一种考虑每个变量概率分布的方法, 在确定主元和误差的概率函数后, 通过期望最大(EM)算法建立模型。其具体步骤如下:

1. 将原始数据按列组成n行m列矩阵X;

2. 将原始训练样本数据进行标准中心化处理得到X;

3. 在隐含变量x的条件下得到观测数据的概率分布;

4. 采用EM 算法获得概率PCA的模型参数W(因子矩阵)和其方差;

5. 删除不满足因子矩阵与方差特定关系的归一化数据;

6. 剩余满足条件的数据即为降维到k维后的数据。

核主成分分析(KPCA)则通过非线性变换将数据映射到高维, 并提取高维空间中的特征以改进特征提取。其具体步骤如下所示:

1. 将原始数据按列组成n行m列矩阵X;

2. 计算核矩阵, 选定高斯径向核函数中的参数, 计算核矩阵K, 修正核矩阵得到KL;

3. 求出协方差矩阵C, 运用Jacobi迭代算法计算KL的特征值和特征向量;

4. 将特征向量按对应特征值大小从上到下按行排列成矩阵, 取前k行组成矩阵;

5. 通过施密特正交化方法单位正交化特征向量得到P;

6. Y = PX即为降维到k维后的数据。

PPCA和KPCA分别改进了PCA存在的两个问题, 因此, 我们可以考虑将两种算法结合起来, 既能够将数据的概率分布考虑进去, 又能够利用数据的高阶统计信息, 以此来得到更好的降维效率。

因此, 在本文中, 我们使用概率核主成分分析(PKPCA)方法, 该方法不仅能够捕获数据的高维信息, 而且还考虑了其概率分布[17]。该方法具体描述如下:

假设 { x1, x2,..., xN}是数据空间 Rd中的训练数据, 并且数据由映射函数Ψ被映射到高维数据空间Rf中, 其 中 f> d。映 射 数 据 用 Ψf×N=

隐藏变量模型是 Ψ (x) = Wz + μ+ε, 其中 z ~ N (0,Iq), ε~ N (0, ρIf), W表示f × q的因子矩阵。

根据Tipping等人的描述[18], 参数μ和W的最大似然估计表示为:

其中R是任何q × q大小的旋转矩阵, λq和 Uq分别是第q大特征值和相应的包含C的特征向量。

Scholkopf等人[19]提出了一种EM算法, 用于在PKPCA中查找参数Q和ρ~, 使用以下迭代公式:

其中, M = ρIq+ WTW = ρIq+ QTKQ , Q~和ρ~是更新后的估算值。

图6 数据分层10折交叉验证示意图 Figure 6 Layered 10-fold cross-validation diagram of dataset

3.3 验证策略

验证策略可以评估模型的预测性能并防止过拟合。因为在现实世界中, 数据集并非全部平衡。 对于不平衡的数据集, 简单的交叉验证不考虑原始数据集的分布。 本文使用分层10折交叉验证方法。 分层意味着原始数据中每个类别的比例关系在每个折叠中保持不变。具体方法如图6所示。假设有两种类型的原始数据, 比例为1∶2, 那么十个折叠中的每一个中的数据类别保持1∶2的比率, 这使得结果更可靠。

采用分层10折交叉验证算法来进行分类的学习器示意图如图7所示。首先将数据集按类别等比例划分成10份, 用9份作训练集, 1份作测试集, 每个分类器经过10 次交叉验证, 最终得到五种分类器结果。接着, 进入下一步基于概率投票加权的分类器集成算法。

3.4 基于概率加权投票的异质学习器集成算法

相关工作表明[2-3,5], 在分类过程中, 单个分类器可能带来分类偏差, 导致模型具有较高的错误率。集成策略意味着融合多个分类器可以产生更好的结果。如果我们以合理的方式融合多个异质学习器, 我们可能就会得到理想的分类结果, 并且整体分类误差也会减少。因此, 我们使用双层异质学习器集成策略来进行入侵检测。在4.3节中, 详细介绍了分别使用五种不同的分类器和我们在本文中提出的IDHEL模型进行实践的差别。

图7 分类器分层10折交叉验证算法过程 Figure 7 The process of learners using the layered 10- fold cross-validation algorithm for classification

在本文中, 为了显著提高实验效果, 我们采用基于概率加权投票的异质学习器集成算法来进行入侵检测。该算法主要包括分类评估和多分类器集成两个步骤。

3.4.1 分类评估算法(CEA)

我们使用以下公式来评估每个分类器的效果:

其中, F表示F-Measure, AUC表示AUC的值, 即ROC曲线下的面积。

根据CEA公式, 我们可以选择出针对该数据集适用于PKPCA的三种效率最高的分类算法。

尽管存在许多分类指标, 例如: recision, recall, F-Measure, ROC, AUC等, 然而单独的高精确率和高召回率并不能够证明该算法是有效的, 而F值则是对精度和召回率的综合评估, 它是两者的调和平均值, 如下公式所示:

ROC曲线则将false positive rate(FPR)作为横坐标, true positive rate作为纵坐标, 它能够很容易地查出任意界限值时的对性能的识别能力, 我们可以通过分别计算各个实验的ROC曲线下的面积(AUC)来比较实验结果的优劣。

其中, 正样本个数为m+, 负样本个数为m-, D+为所有正例组成的集合, x+是其中的一个正例, D-为所有反例组成的集合, x-是其中的一个反例, f(x)是模型对样本x的预测结果, 在0—1之间, W仅在x为真时取1, 否则取0。

由上分析可以看出, F值和AUC能够比较直观地评判分类效果, 因此我们使用了F-Measure和AUC的调和平均数来综合评判分类效果。

3.4.2 多分类器集成算法(McFA)

本文采用了概率加权投票的方式来集成多个分类器。投票法是最简单也是最广泛的集成方法, 这种方法是对各个分类器的判决进行投票, 其最大得票的判决作为最后系统的识别结果。

由于本文所采用的三种分类算法的输出向量并不一致, 所以我们在进行多分类器融合之前, 首先要将输出结果转换成统一的概率模式, 然后再计算各个分类器的加权值。当满足 ci(xi)=yi时, 对于各个分类器ci的概率加权定义为:

其中 Eij是输入类别为 Dj时分类器ci的期望输出。将作为投票表决时分类器ci的第j个输出的得票数目, 则 S ∈ Dj的总得票数为:

因此, 基于异质学习器的输出向量加权投票表决规则表示为:

其中Tk是表决阈值, 它能根据不同的应用需求设定不同的值。此外, 为了提高算法的可靠性, 本文采用了拒绝识别的方法, 其时间复杂度为O(n)。

4 实验

4.1 数据集说明

我们使用NSL-KDD数据①https://www.unb.ca/cic/datasets/nsl.html, 它是开源KDD99[20]的修改版本。与KDD数据集相比, NSL-KDD数据集具有以下几个优点: (i)没有冗余记录, (ii)没有重复记录, (iii)训练和测试中的记录数量设置合理。因此, 不同研究工作的评价结果将是一致的和可比的。

在NSL-KDD数据集中, 总共有148 517个数据, 77 054个正常数据和71 463个异常数据。

4.2 实验设置

我们将提出的IDHEL模型与五个单独使用的分类器进行比较, 这些分类器是朴素贝叶斯, Bp神经网络, C4.5, 逻辑回归和 SVM, 以及其他在NSL-KDD数据集上进行实验的入侵检测模型。

· MinMax K-means(Eslamnezhad等人, 2015): 该算法克服了K-means算法中对初始中心的敏感性不足的问题[21]。

· 改进的K-means算法(Wang, 2011): 通过尽可能选择初始中心来克服初始中心选择的灵敏度问题[22]。

· 改进的SVM算法(Heba et al. 2013): 该算法基

于主成分分析(PCA)和支持向量机(SVM)[14]。

· DNN(Tang et al. 2016): 在该模型中, 建立了深度神经网络(DNN)模型, 该模型在SDN环境中获得了六个基本特征[10]。

· S-NADE(Tang et al. 2018): 它提出了一种用于特征学习的非对称深度自动编码器(NDAE)和一种使用堆叠NDAE的新的深度学习分类模型[11]。

· Ensemble with weight strateg(Tengl et al. 2018): 在这个模型中, 采用遗传算法(GA)来优化每个基本分类器的权重, 采用PCA来进行数据降维[6]。

· Adaboost Ensemble(Sornsuwit et al. 2016): 在这个模型中, 采用了Adaboost算法创建弱学习者的集合, 以提高分类器的性能[7]。

4.3 数据预处理实验结果

为了证明PKPCA的必要性和优越性, 我们进行了三个独立的实验: 直接使用五个分类器而不进行数据预处理, 和使用PCA和PKPCA数据降维之后再进行分类。表2显示了这三个实验中使用的特征数, 分类的准确性和时间消耗。

从表中可以看出, 将41个特征降到15个特征之后, 使用朴素贝叶斯分类器的实验结果的准确性没有降低。此外通过PKPCA进行数据预处理之后, 使用BP神经网络的结果增加到97.07。由此可见, 减少数据维度不会对分类的准确性产生过度的负面影响。相反, 在数据预处理之后, 五个分类器的运行时间都有了显著的下降。PCA的平均时间消耗降低了74.8%, PKPCA的平均时间消耗降低了71.1%。

4.4 入侵检测性能比较

在异质学习器集成的部分中, 我们使用了基于概率加权投票的多分类器集成算法。 图5显示了经过PKPCA数据降维处理之后, 采用五种不同学习器进行分类的精度、AUC值和F值。我们使用CEA公式来选择三个最佳分类器, 图9显示了每个分类器的CEAγ 值。

从图8、图9中可以看出, 逻辑回归、C4.5和SVM这三个分类器在此数据集上具有最佳的分类效果, 因此我们选择这三个分类器使用McFA算法进行多分类器融合以进一步提高效率。

在使用基于概率加权投票的McFA算法之后, IDHEL模型的准确率、精确率、错误率、F值和AUC值的能力表图如图9所示。

通过图8~图10可以看出, 在使用基于概率加权投票的分类器集成算法之后, 实验效果得到了显著改善。在进行异质学习器集成之前, 经过PKPCA数据降维预处理之后的数据集, 在单独分类器上所获得的F-Measure和AUC的最高值分别为0.976和0.988, 这两者都是使用C4.5分类算法获得的。在使用本文提出的基于概率加权投票的分类器集成算法后, F-Measure和AUC都提高到了0.985和0.992。准确率为0.957, 精确率为0.962, 高于现今大部分主流模型。此外, IDHEL模型在错误率方面也表现良好, 错误率小于10%。

表2 五种分类器在原始数据集、经过PCA处理的数据集和PKPCA处理的数据集上的分类结果比较 Table 2 Comparison of the results of classification of original dataset, PCA-processed dataset, and PKPCA- processed dataset

图9 执行PKPCA后, 五种不同分类器的CEAγ 值 Figure 9 CEA values (CEAγ ) for five different classifiers after performing PKPCA

图10 IDHEL模型的能力表图 Figure 10 Ability map of IDHEL

4.5 时间消耗比对分析

在现实世界中, 对入侵检测的实时性要求并不低。因此, 我们还比较了算法的整个运行时间, 如图11所示。从图中可以看出, 本文提出的IDHEL模型的最终总时间消耗远小于Bp神经网络。在保持高准确率度和较低错误率的情况下, 完整的入侵检测时间仍然小于500s。由于也可证明, 采用本文所提方法能够有效减少分类器集成的时间消耗, 提高入侵检测的实时性。

4.6 模型比较

为了更好地评估IDHEL模型的性能, 我们将其与在同一数据集上进行实验的多种主流模型进行了实验效果比较。从表3中可以看出我们的算法在True Positive rate(TP)、False Positive rate(FP)、准确率和时间消耗这四个指标方面都具有优越性。

IDEHL算法的TP和FP值在这些算法中表现最佳, 分别为0.989和0.061。另外, 它的准确度也很高, 为0.957。

图11 IDHEL模型与单独分类器时间消耗方面的比较 Figure 11 Comparison of time consumption between IDHEL model and five separate classifiers

表3 与多种主流模型的综合对比实验 Table 3 Intrusion detection algorithm comparison

5 结论

在本文中, 我们采用双层异质学习器的集成策略提出了一种新颖的入侵检测模型。我们使用PKPCA数据降维算法来来解决基于异常的IDS的高计算开销的问题。接下来, 我们使用多个异质学习器和分层十折交叉验证策略来执行异常检测, 并通过CEA公式选择在该数据集上表现最好的三个分类器。然后, 我们提出了一种基于概率加权投票的集成算法, 以进一步增强实验结果。通过实验, 我们证明了IDHEL模型可以实现较高精确率、较低错误率、较少时间消耗的目标。

其实, 在入侵检测方面, 本实验仍然有可改进之处。比如, 可以将程序放到spark架构上进行分布式处理。不过, 由于NSL-KDD数据集的数据量不够大, 使用分布式处理的方式, 数据分发的时间会大大超过数据处理的时间, 因此, 本文并没有采用分布式的方法进一步减少时间消耗。但是, 在现实世界中, 分布式的方法还是可取的, 它能够在IDHEL模型的基础上, 进一步大幅度减少时间消耗。

致 谢 这项工作得到了中国自然科学基金(No. 61702508, No.61802404), 国家重点研发计划课题(2016YFF0204002, 2016YFF0204003), “十三五”装备预研领域基金(6140002020115)的支持。这项工作也得到了中国科学院网络评估技术重点实验室和北京市网络安全与保护技术重点实验室的部分支持。

猜你喜欢
降维异质分类器
混动成为降维打击的实力 东风风神皓极
降维打击
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
一种改进的稀疏保持投影算法在高光谱数据降维中的应用
随机与异质网络共存的SIS传染病模型的定性分析
Ag2CO3/Ag2O异质p-n结光催化剂的制备及其可见光光催化性能
MoS2/ZnO异质结的光电特性
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别