利用卡方检验优化集成贝叶斯分类器用于数据流入侵检测的方法

(整期优先)网络出版时间:2020-11-02
/ 2

利用卡方检验优化集成贝叶斯分类器用于数据流入侵检测的方法

陈猛 洪伟

中共河南省委党校信息管理部 郑州 450000


摘 要 本文提出一种集成贝叶斯分类器的数据流入侵检测模型,目的是在适应概念漂移的前提下,利用多个时间段的数据学习生成多个贝叶斯分类器,检测入侵行为。为了提高分类器的构建速度和准确率,可以使用卡方检验先对数据进行特征缩减等预处理,达到优化目的。

关键词 入侵检测;贝叶斯分类器;数据流;卡方检验


1 引言

当今社会已进入网络时代,网络安全和信息安全日益重要,如何保障计算机系统的安全,防范网络入侵攻击受到各界的重视。入侵检测技术可以准确地在海量的网络事件中将正常事件和异常事件区分出来,保护系统免受攻击,其本质上是一个分类问题。

数据流环境下,数据的分布会随着时间的更迭而发生变化 (即概念漂移[1])。如何在海量的数据流中选择出充分的数据并训练出分类模型以进行有效地预测,正是数据流入侵检测所要解决的难点。

本文提出一种集成贝叶斯分类器的数据流入侵检测模型,该模型首先使用卡方检验对数据流中不同时间段的数据进行特征缩减等预处理,然后使用不同时间段的训练样本构造多个贝叶斯分类器,利用集成分类器进行分类检测。

2 入侵检测的性能评价

在入侵检测问题中,我们称攻击类为目标类,正常类为非目标类。评估标准可使用召回率(recall)、精度(precision)。定义如下:

5f9f815047d8f_html_91160ada90780c66.gif (1) 5f9f815047d8f_html_7afe533192248b77.gif (2)

其中,pos是检验数据集中目标类样本的总数,t_pos是检验数据集中被正确分类的目标类样本的样本数,而f_pos是检验数据集中被错误地分类为目标样本的样本数。通常我们使用F-度量(F-measure) ,如式(3)。本文中此处λ可设为0.5。

5f9f815047d8f_html_c230e511677a4b2.gif ,(0≤λ≤1) (3)

3 相关知识

3.1贝叶斯定理

设X为一个类别未知的数据样本,H为某个假设,那么分类问题就是决定P(H|X),即在获得数据样本X时,H假设成立的概率。

5f9f815047d8f_html_bc27f08445b46f35.gif (公式3.1)

贝叶斯定理则描述了如何根据P(X),P(H)和P(X|H)计算获得后验概率P(H|X)的方法,而P(X),P(H)和P(X|H)可以由给定的数据估计。

3.2 朴素贝叶斯分类方法

朴素贝叶斯分类器假设一个指定类别中各属性的取值是相互独立的。它可以帮助有效减少在构造贝叶斯分类器时所需要进行的计算量。

每个数据样本均是由一个n维特征 向量X={x1,x2,……xn}来描述其n个属性(A1,A2,……An)的具体取值;假设共有 m个不同类别C1,C2……Cm,则样本X属于Ci的后验概率为:

5f9f815047d8f_html_ca3a4d60c92c0c2f.gif (公式2.2)

由条件独立性得

5f9f815047d8f_html_bc9e9e6f17bed671.gif

可以根据训练数据样本估算P(x1|Ci), P(x2|Ci)…… P(xn|Ci)值,得到具有最大后验概率的Ci值,对数据样本实现分类。

在文献[3]中,作者提出了一种基于特征缩减的朴素贝叶斯算法,通过提取特征识别影响较大的特征,构建贝叶斯模型,使得计算建模更加快速,并达到较高的准确率。

3.3 特征选择

为了降低数据维度,减少建模的时间,提高入侵检测的准确度,我们可以在数据预处理的过程中,从给定的数据集中选择包含信息较多,对建模影响较大的相关特征进行特征选择。

卡方检验作为一种假设检验方法,常用于检验某个连续变量分布是否与理论分布一致,也常用于独立性或相关性检验。它的基本思想是统计样本理论值与实际值的偏离程度。其基本公式:

5f9f815047d8f_html_e4f571b795b41509.gif

其中,A为实际值,T为理论值。5f9f815047d8f_html_6c05ec94f4ffbb55.gif 越大表示两者偏离越大,分布不符合,5f9f815047d8f_html_6c05ec94f4ffbb55.gif 越小,表示两者分布趋向符合。

本文提出改进的贝叶斯数据流入侵检测方法,就是引入特征选择卡方检验手段,筛选数据集中的特征,避免维数灾难,降低数据集的复杂度和特征数量,以提高朴素贝叶斯分类的准确率。

4算法基本思想

由于概念漂移的存在,数据流中的数据分布会发生变化,所以最近流入的数据与待分类数据的分布是最接近的,可以考虑存储最近流入的部分数据来建立模型。为此引入了滑动窗口的机制:假设BW是一个基本窗口,对应一个数据流子序列。SW是一个滑动窗口,对应一个连续的基本窗口序列,表示为SW= bw1,…, bwi,…, bwK,在基本窗口bwi训练得到对应的基分类器为Ci

核心算法如下:

EDKCBAYES ( D, E) // 其中D bwK+1的数据; E:基分类器集合;

方法: (1)对基本窗口BW1, BW2, BW3, BW4, BW5的数据通过卡方检验抽取数据集中的特征,得到精简特征的数据集,然后分别按照朴素贝叶斯算法构造基分类器C1、C2、C3、C4、C5

(2) while (bwK+1数据到达) {

(3) 对bwK+1的数据D进行卡方检验抽取数据集中的特征,得到精简特征的数据集D’。

(4) for (CiE ) { 计算CiD’上的F-度量;//公式(3)

计算Ci对应权重wi;}

(5) 将权重最小的基分类器Cl移出集合E;

(6) 在经过特征精简后的数据集D’上,构建朴素贝叶斯分类器CK+1,加入集合E;}

Ci权重wi用(4)式计算,其中FiCi在训练数据集上对稀有类分类的F-度量值,S是待分类样本。如果CiS分到稀有类,则令i(S)=2,否则i(S)=1。:

5f9f815047d8f_html_e706abb628c48586.gif ,(1  i  5) (4)

6总结

本文提出一种利用卡方检验优化集成贝叶斯分类器用于数据流入侵检测的方法,该方法对不同时间段的数据先根据卡方检验进行特征缩减等预处理,然后在多个时间段上学习生成贝叶斯分类器,并集成各个贝叶斯分类器,检测入侵行为。通过特征缩减,生成贝叶斯分类模型更加快速、准确率更高。

参考文献

[1] G Widmer, M Kubat. Learning in the presence of concept drift and hidden contexts. Machine Learning, 23:69-101

[2] 范明, 刘孟旭, 赵红领. 一种基于基本显露模式的分类算法. 计算机科学 Vol.31 No.11, pp211-214, 2004.11

[3] Saurabh M,Neelam S.Intrusion Detection Using Naïve Bayes Classifier with Feature Reduction[J] Procedia Technology,2012,4(01):119-128

2