[0018] 3)分类器筛选过程。采用分类器评估算法(CEA)选择表现最好的M个分类器作为异质学习器。CEA算法综合考量了F值和AUC值,能够完善得对分类器的表现进行评估。其中,2≤M
[0019] 4)多分类器集成过程。执行多分类器融合算法(McFA)对结果进行基于概率的加权投票,投票结果作为最后的入侵检测结果。概率指的是分类器对于每个输入向量所对应的输出类别的概率,采用对各个分类器的概率加权公式来得到其权值。
[0020] 与当前已有的相关技术相比,本发明具有以下几点优势:
[0021] 1、本发明采用了概率核主成分分析方法来降低数据维度,能够在捕获数据高维信息的同时,考虑其概率分布;
[0022] 2、本发明采用了基于概率加权投票的双层异质学习器集成学习策略,能够在减少整体分类误差,降低时间消耗。
[0023] 本发明的目的是对基于异常的入侵检测方法进行改进和优化,在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。
附图说明
[0024] 图1是本发明的一种基于双层异质集成学习器的入侵检测方法总览图。
[0025] 图2是数据分层十折交叉验证示意图。
[0026] 图3是分类器分层十折交叉验证算法流程图。
具体实施方式
[0027] 为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0028] 本实施例公开一种基于双层异质集成学习器的入侵检测方法,本方法的总体思路是通过采用基于概率加权投票的双层异质学习器集成学习策略,在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。本方法分为两个部分:第一部分是数据预处理,使用PKPCA数据降维算法,它结合了PPCA和KPCA的优点,能够尽可能地减少信息损失和降低计算开销。第二部分是入侵检测的双层策略,又分为两部分。首先是单分类过程,使用五种不同的分类器来分别检测,包括:朴素贝叶斯、Bp神经网络、C4.5决策树、逻辑回归和SVM。此外,应用了分层十折交叉验证方法来防止模型过拟合。其次是多分类器集成过程,使用分类器评估算法(CEA)选择最好的三个分类器作为异质学习器,然后执行多分类器融合算法(McFA)进行再处理。
[0029] 本方法的整体流程图如图1所示,其具体步骤细节描述如下:
[0030] (1)使用PKPCA数据降维算法。
[0031] 使用概率核主成分分析(PKPCA)方法,该方法不仅能够捕获数据的高维信息,而且还考虑了其概率分布。该方法具体描述如下:
[0032] 假设{x1,x2,...,xN}是数据空间Rd中的训练数据,xN表示第N条入侵检测数据集中的训练数据,并且数据由映射函数Ψ被映射到高维数据空间Rf中,其中f>d。映射数据用Ψf×N={Ψ1,Ψ2,...,ΨN}表示。
[0033] 隐藏变量模型是Ψ(x)=Wz+μ+ε,其中z~N(0,Iq),ε~N(0,ρIf),W表示f×q的因子矩阵。参数μ和W的最大似然估计表示为:
[0034]
[0035]
[0036] 其中R是任何q×q大小的旋转矩阵,λq和Uq分别是第q大特征值和相应的包含C的特征向量。
[0037] 采用最大期望算法(EM算法)在PKPCA中查找参数Q和 该算法的简单思路是先初始化隐含变量,然后估计出每个类别对应的分布参数,接着再根据这个分布参数去调整每个样本的隐含参数,依次迭代。本发明使用了以下迭代公式:
[0038]
[0039]
[0040] 其中,M=ρIq+WTW=ρIq+QTKQ, 和 是更新后的估算值。
[0041] 使用PKPCA数据降维算法进行降维处理的过程如下:
[0042] 1.将原始数据按列组成n行m列矩阵X;
[0043] 2.计算核矩阵,选定高斯径向核函数中的参数,计算核矩阵K,修正核矩阵得到KL;
[0044] 3.求出协方差矩阵C,运用Jacobi迭代算法计算KL的特征值和特征向量;
[0045] 4.将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵;
[0046] 5.通过施密特正交化方法单位正交化特征向量得到P;
[0047] 6.Y=PX即为降维到k维后的数据。
[0048] (2)使用五种经典的分类器对预处理数据集进行处理,应用分层十折交叉验证方法来防止模型过拟合。
[0049] 在分类过程中,单个分类器可能带来分类偏差,导致较高的错误率。集成策略意味着融合多个分类器可以产生更好的结果。如果以合理的方式融合多个异质学习器,可能就会得到理想的分类结果,并且整体分类误差也会减少。单分类器分类过程中应用分层十折交叉验证方法来防止模型过拟合。
[0050] 分层意味着原始数据中每个类别的比例关系在每个折叠中保持不变。具体方法如图2所示。假设有两种类型的原始数据,比例为1:2,那么十个折叠中的每一个中的数据类别保持1:2的比率,这使得结果更可靠。
[0051] 采用分层十折交叉验证算法来进行分类的学习器示意图如图3所示。首先将数据集按类别等比例划分成10份,用9份作训练集,1份作测试集,每个分类器经过10次交叉验证,最终得到五种分类器结果。接着,进入下一步基于概率投票加权的分类器集成算法(即下文两步骤的CEA和McFA)。
[0052] (3)采用分类器评估算法(CEA)选择表现最好的三个分类器作为异质学习器。
[0053] 使用以下公式来评估每个分类器的效果:
[0054]
[0055] 其中,F表示F-Measure,AUC表示AUC的值,即ROC曲线下的面积。
[0056] 根据CEA公式,可以选择出针对该数据集适用于PKPCA的三种效率最高的分类算法。
[0057] 由于单独的高精确率和高召回率并不能够证明算法的有效性,本发明使用F值对精度和召回率进行综合评估,F值得计算公式如下所示:
[0058]
[0059] ROC曲线则将false positive rate作为横坐标,true positive rate作为纵坐标,它能够很容易地查出任意界限值时的对性能的识别能力,可以通过分别计算各个ROC曲线下的面积(AUC)来比较实验结果的优劣。
[0060]
[0061] 其中,正样本个数为m+,负样本个数为m-,D+为所有正例组成的集合,x+是其中的一个正例,D-为所有反例组成的集合,x-是其中的一个反例,f(x)是模型对样本x的预测结果,在0-1之间,W仅在x为真时取1,否则取0。
[0062] 由上分析可以看出,F值和AUC能够比较直观地评判分类效果,因此使用了F-Measure和AUC的调和平均数来综合评判分类效果。
[0063] (4)执行多分类器融合算法(McFA)对结果进行基于概率的加权投票。
[0064] 本发明采用了概率加权投票的方式来集成多个分类器。投票法是最简单也是最广泛的集成方法,这种方法是对各个分类器的判决进行投票,其最大得票的判决作为最后系统的识别结果。
[0065] 假设给定的模式空间由两yi=(0.9,0.1)个互斥的集合构成,即S=D1∪D2,若分类器ci对于来自Di的样本有一个期待的输出向量 并且有 那么,当分类器ci有一个输出向量yi=(0.9,0.1)或yi=(0.6,0.4)时,分类器都会将这两个输出向量识别为相同的类D1。然而,对于输出向量yi=(0.6,0.4)来说,它的分类效果显然比不上。因此,可以考虑给概率P{S∈Dj|ci(xi)=yi}赋予不同的权重值,xi指的是输入向量,即特征值。
[0066] 由于本发明所采用的三种分类算法的输出向量并不一致,所以在进行多分类器融合之前,首先要将输出结果转换成统一的概率模式,然后再计算各个分类器的加权值。当满足ci(xi)=yi时,对于各个分类器ci的概率加权定义为:
[0067]
[0068] 其中 是输入类别为Dj时分类器ci的期望输出。将P{S∈Dj|ci(xi)=yi}作为投票表决时分类器ci的第j个输出的得票数目,则S∈Dj的总得票数为:
[0069]
[0070] 因此,基于异质学习器的输出向量加权投票表决规则表示为:
[0071]
[0072] 其中Tk是表决阈值,它能根据不同的应用需求设定不同的值。此外,为了提高算法的可靠性,本发明采用了拒绝识别的方法。
[0073] 本发明提供的基于双层异质集成学习器的入侵检测方法,可以应对未知的攻击,能够在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。
[0074] 以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以所附权利要求为准。