一种基于混合特征选择的XGBoost的WSN入侵检测系统

文档序号:37925740发布日期:2024-05-11 00:04阅读:7来源:国知局
一种基于混合特征选择的XGBoost的WSN入侵检测系统

本发明属于无线入侵检测,特别涉及一种基于混合特征选择的xgboost的wsn入侵检测系统。


背景技术:

1、无线传感器网络(wsn, wireless sensor network)是一种由大量传感器节点组成的分布式传感网络,也是无线通信网络的一种,实现了数据的采集、传输和处理功能。作为21世纪最具影响力的研究方向之一,wsn具有大规模、自组织、路由多跳性、生存能力强、资源有限等特点。虽然wsn可以进行较大规模的监测,但是由于其资源受限的特点,网络的使用寿命、数据传输效率、信道误差率等都会受到一定的影响。随着计算机网络环境的不断变化发展,网络面临的攻击种类逐渐增加,因此对网络环境进行安全防护是不可或缺的。

2、目前主要的网络环境安全防护方法包括防火墙、入侵检测等。防火墙作为第一层网络防御机制可以通过对网络通信的扫描过滤一部分攻击,但是无法应对复杂的攻击;入侵检测作为第二层网络防御机制是一种有效的主动防御技术,可以有效对网络环境进行实时监控,从而弥补第一层防御机制的不足,并减少网络攻击带来的损失,因此入侵检测成为本领域的研究重点。

3、基于机器学习的入侵检测方法可以高效地处理大量数据并进行分类检测,但是由于数据集中经常存在冗余特征,因此机器学习算法的性能受到了影响。目前主要采用特征选择的方式解决数据冗余的问题,特征选择是通过从数据集中剔除冗余特征从而降低特征空间维度。目前的特征选择方法分为过滤式特征选择方法、封装式特征选择方法和嵌入式特征选择方法等,过滤式特征选择方法与后续的机器学习算法无关,通常使用评价标准来对特征进行评估和排序,计算时间较少,但是效果较差;封装式特征选择方法依赖于后续的机器学习算法,以分类准确率作为特征子集的评价标准,通过启发式或序列式搜索策略进行选择,选择的特征子集性能较好,但是计算代价较大;嵌入式特征选择则是将特征选择与分类器模型的学习过程相结合,因此目前嵌入式特征选择方法被广泛应用,然而wsn本身就具有能量资源受限的特点,而目前的特征选择方法仅从数据的一个方面进行度量,因此度量并不全面,无法有效消除数据冗余,从而导致现有基于机器学习的入侵检测方法检测精度低,检测时间长。


技术实现思路

1、本发明目的是为了解决现有入侵检测方法检测精度低,检测时间长的问题,而提出了一种基于混合特征选择的xgboost的wsn入侵检测系统。

2、一种基于混合特征选择的xgboost的wsn入侵检测系统包括:流量数据预处理模块、特征条件互信息最大化得分获取模块、特征费舍尔分数获取模块、权重分配模块、特征子集获取模块、特征排序模块、最优特征子集获取模块和入侵检测模块;

3、所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,并将预处理后的流量数据集发送给特征条件互信息最大化得分获取模块和特征费舍尔分数获取模块;

4、所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,从而获得特征条件互信息最大化得分向量 a={ a1, a2,..., a n},并将 a发送给权重分配模块;

5、其中,是预处理后的流量数据集中的特征总数;

6、所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,从而获得特征费舍尔分数向量 b={ b1, b2,..., b n},并将 b发送给权重分配模块;

7、所述权重分配模块利用 a和 b进行权重分配,从而获得特征的综合权重值,并将特征的综合权重值发送给特征子集获取模块;

8、所述特征子集获取模块用于按照特征的综合权重值对预处理后的流量数据集中的特征从大到小排序,并剔除小于预设权重阈值的特征综合权重值对应的特征,获得特征子集,并将特征子集发送给特征排序模块;

9、所述特征排序模块上部署xgboost模型,利用特征子集对xgboost模型预训练,获得中每个特征对应的贡献度得分,按照贡献度得分对特征子集中的特征从大到小排序,将排序后的特征子集发送给最优特征子集获取模块;

10、所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集,并将最优特征子集发送给入侵检测模块;

11、所述入侵检测模块上部署xgboost模型,且根据特征排序模块中的预训练好的xgboost模型同步更新模型参数 ,然后将最优特征子集分为训练集和测试集,并对预训练好的xgboost模型训练并测试,获得入侵检测模型,然后获取待检测入侵数据的最优特征子集,并将待检测入侵数据的最优特征子集输入到入侵检测模型中,获得入侵检测结果;

12、所述待检测入侵数据的最优特征子集通过以下方式获得:获取待测流量数据集,对待测流量数据集进行预处理,获取预处理后的待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量,利用待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量进行权重分配,获得待测流量数据集中每个特征的综合权重值,利用待测流量数据集中每个特征的综合权重值获取待测流量数据集的特征子集,将待测流量数据集的特征子集输入到预训练好的xgboost模型中,获得待测流量数据集的特征子集中每个特征的贡献度得分,按照贡献度得分对待测流量数据集的特征子集中的特征排序,对排序后的待测流量数据集的特征子集进行序列后向选择,获得待检测入侵数据的最优特征子集。

13、进一步地,所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,具体为:

14、首先,获取wsn-ds数据集;

15、所述wsn-ds数据集中包括:正常流量数据和异常流量数据;

16、所述异常流量数据包括:黑洞攻击流量数据、灰洞攻击流量数据、调度攻击流量数据、洪泛攻击流量数据;

17、然后,对wsn-ds数据集中的流量数据归一化,具体为:

18、

19、其中, x是流量数据, x max是wsn-ds数据集中每个特征最大值组成的矩阵, x min是wsn-ds数据集中每个特征最小值组成的矩阵,是归一化后的 x;

20、然后,将归一化后的流量数据进行数值化,将非数值型数据转换为数值型数据,获得预处理后的流量数据集。

21、进一步地,所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,具体为:

22、

23、

24、其中,是预处理后流量数据集中的特征,,是预处理后流量数据集中的特征总数,是特征 fi的条件互信息最大化得分, f是预处理后流量数据集中特征的集合, s是已选特征集合,是已选特征, c是已选特征集合中不包含特征的所属类别集合,是已选特征集合中不包含特征的所属类别,是特征评价函数,是特征和特征在已选特征下的联合概率分布,是特征在已选特征下的条件概率分布,是特征在已选特征下的条件概率分布,是特征、已选特征、特征的联合概率分布。

25、进一步地,所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:

26、a1-1、获取预处理后流量数据特征的类间重叠加权系数,具体为:

27、

28、其中,是特征 f i的类间重叠加权系数, n是流量数据总数,、是流量数据类别标号, m是流量数据类别总数, n ik是第 i个特征中第 k类流量数据的数据量,是第 i个特征中第类流量数据的数据量,是第 i个特征中第 k类流量数据与第类流量数据的数据重叠个数,是中间变量;

29、a1-2、获取预处理后的流量数据特征的方差膨胀因子,具体为:

30、

31、其中,是特征的方差膨胀因子, r 2是预设检测模型解释能力的统计指标;

32、a1-3、利用a1-1获得的类间重叠加权系数和a1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数。

33、进一步地,所述a1-3中的利用a1-1获得的类间重叠加权系数和a1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:

34、

35、其中,、是的费舍尔分数, n k是第 k类流量数据的数目,是特征 f i下第 k类流量数据的均值,是第 i个特征 f i下所有流量数据的均值,是第 k类流量数据中的数据标号,是第 k类流量数据中的第 j个流量数据在第 i个特征下的取值。

36、进一步地,所述权重分配模块利用 a和 b进行权重分配,从而获得特征的综合权重值,具体为:

37、b1-1、使用归一化方法对 a和 b中的元素缩放,获得归一化结果、,从而获得归一化后的向量和,具体为:

38、

39、其中,是向量 a中第 i个元素 a i归一化后的结果,是向量 b中第 i个元素 b i归一化后的结果,max( b)是向量 b中的最大值,max( a)是向量 a中的最大值,min( b)是向量 b中的最小值,min( a)是向量 a中的最小值;

40、b1-2、将和中的0值替换为1×10-8,获得和,并获取和的熵值、,具体为:

41、

42、

43、

44、其中,是的熵值,是的熵值,是的概率分布权重,是的概率分布权重,是中的第 i个元素,是中的第 i个元素;

45、b1-3、利用b1-2获得的、获取、的权重、;

46、b1-4、利用b1-3获得的权重、获取特征的综合权重。

47、进一步地,所述b1-3中的利用b1-2获得的、获取、的权重、,具体为:

48、

49、进一步地,所述b1-4中的利用b1-3获得的权重、获取特征的综合权重,具体为:

50、

51、其中,是特征的综合权重值。

52、进一步地,所述特征排序模块中的利用特征子集对xgboost模型预训练,获得中每个特征对应的贡献度得分,按照贡献度得分对特征子集中的特征从大到小排序,具体为:

53、首先,利用特征子集对xgboost模型预训练,获得中每个特征对应的贡献度得分,最终获得预训练好的xgboost模型;

54、所述中每个特征对应的贡献度得分,具体为:

55、

56、其中, x p是待解释流量数据的特征向量,是中的特征个数,是特征组合下xgboost模型的输出,是包含第 p个特征的组合数量,是选择第 p个特征后剩余组合数量,是第个特征的贡献度得分;

57、然后,基于中每个特征对应的贡献度得分对中的特征从大到小进行排序,获得排序后的特征子集。

58、进一步地,所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集,具体为:

59、c1、初始化=,;

60、其中,是中特征的标号,是迭代次数;

61、c2、将中的第个特征删除,将删除之后的集合记为 f;

62、c3、获取和 f的马修斯相关系数:

63、

64、

65、其中,是的马修斯相关系数,是 f的马修斯相关系数,是中的真阳性,是中 f的真阳性,是中的假阳性,是 f中的假阳性,是中的真阴性,是 f中的真阴性,是中的假阴性,是 f中的假阴性;

66、c4、比较 mcc2与 mcc1的大小:

67、若 mcc2大于等于 mcc1,则判断是否大于1,若大于1,则执行c5;若等于1,第 n次迭代获得的集合 f为最优特征子集;

68、若 mcc2小于 mcc1,则判断是否大于1,若大于1,则执行c6;若等于1,第 n-1次迭代获得的集合为最优特征子集;

69、c5、令,=,,然后返回c2;

70、c6、保留中的第个特征,令=,,然后返回c2。

71、本发明的有益效果为:

72、本发明首先将流量数据集中的流量数据进行归一化和数值化处理,消除了流量数据间的数量级差别,避免了入侵检测误差过大的问题。本发明基于条件互信息最大化度量标准计算特征的条件互信息最大化得分,基于改进的费舍尔分数度量标准计算特征的费舍尔分数得分,使用熵权法利用特征的条件互信息最大化得分和费舍尔分数得分进行权重分配并加权获得特征综合权重值,根据特征的综合权重值剔除排名靠后的特征得到特征子集,从而筛选出了更值得选择的流量数据特征。本发明基于沙普利加和解释标准,同时结合xgboost获得特征子集中特征的贡献度得分并按贡献度得分大小降序排序;以xgboost分类检测的马修相关系数为指标进行序列后向选择得到最优特征子集;将最优特征子集划分为训练集和测试集,将xgboost作为分类器进行分类检测,最终实现了入侵检测。本发明基于多方面对流量数据集进行了综合度量,获得了最具有代表性的特征子集,同时使用xgboost作为分类器进行分类检测,从而在进行wsn入侵检测时达到了降低特征维度、消除数据冗余、提高检测精度、减少检测时间的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1