基于双层异质集成学习器的入侵检测方法
论文摘要
入侵检测是网络安全领域中具有挑战性和重要性的任务。现有研究以增加时间消耗和误报率为代价,重点关注如何提高检测率,在实际应用中代价较大。为此,本文提出了一种使用双层异质学习器集成学习策略的入侵检测 IDHEL模型。
- 该模型使用概率核主成分分析方法降低数据维度
- 采用多个异质分类器通过分层十折交叉验证策略进行异常检测
- 并根据所提出的分类器评估算法筛选出在相关数据上表现最佳的三种分类器
- 基于概率加权投票的多分类器集成算法进行入侵检测。
实验结果表明IDHEL 模型在准确率、错误率和时间消耗方面均优于现有主流入侵检测模型。
论文解决的问题
- 提高了异常流量检测的准确率
- 降低了时间消耗
1.模型体系结构
2.数据降维
PCA算法的缺陷:
- PCA没有考虑数据的概率分布
- PCA仅考虑了数据的二阶统计信息,而没有利用高阶统计信息,忽略了数据的非线性相关性
概率主成分分析(PPCA):对PCA做了概率上的解释
核主成分分析(KPCA):通过非线性变换将数据映射到高维,并提取高维空间中的特征以改进特征提取
本篇文章对两种方法进行了结合。
3.交叉验证策略
传统交叉验证:只是单纯的将数据分成k折,没有考虑数据的分布。在现实生活中,数据经常是不平衡的。
分层交叉验证:将每折的数据按照原数据集的类别比值进行抽取。比如原数据集中有两个类别,数据集个数比值为1:2,那么交叉验证时每折数据都要按照1:2的方式获取。如下图所示:
4.分类评估算法
所谓分类评估算法,在本文中就是从五个基学习器中选择最优的三个学习器的算法。
公式如下:
5.多分类器集成算法
首先对每个类别j定义一个阈值 T j T_j Tj。选择好了三个基学习器,计算一下三个基学习器对某个样本的总的概率加权,然后用这个值和每个 T j T_j Tj进行比较,如果大于等于 T j T_j Tj,就把这个样本判断为属于j类别。
对于某个分类器
c
i
c_i
ci的概率加权计算方法:
其中
E
i
j
E_i^j
Eij为
c
i
c_i
ci分类器将样本判断为
D
j
D_j
Dj的期望输出,
y
i
y_i
yi为实际输出。
x
k
x_k
xk为第k个样本。
举个例子:对于一个二分类问题, c i c_i ci分类器把样本判断为类别1的期望输出为 E i j = ( 0 , 1 ) E_i^j = (0,1) Eij=(0,1),判断为类别2的期望输出为 E i j = ( 1 , 0 ) E_i^j = (1,0) Eij=(1,0);而 c i c_i ci对样本的最终预测值 y i = ( 0.9 , 0.1 ) y_i=(0.9,0.1) yi=(0.9,0.1),那么就可以知道,这个样本更可能是类别2。
多个分类器对某个样本的总概率加权:
根据上述公式,对所有分类器把某样本分成$D_j$的概率加权值算出来,然后求和即可。
如果这个值大于等于T_j,那么就把他判断为第j类。
6.总结
这篇文章最后的多分类器集成算法的公式感觉给的有点问题,我也不太清楚我这样理解对不对,如果有大佬弄明白了,希望可以在评论区教我一下,感激不尽。
参考文献
注意:特征向量不是把特征值按对角线从大到小排列,而是通过特征值算出特征向量,然后把对应的特征向量按照特征值从大到小的顺序排列。
KPCA不用计算出P,因为他的主成分也可以直接用核函数计算出来。