CN117998364A - 一种基于混合特征选择的XGBoost的WSN入侵检测系统 - Google Patents
一种基于混合特征选择的XGBoost的WSN入侵检测系统 Download PDFInfo
- Publication number
- CN117998364A CN117998364A CN202410398844.XA CN202410398844A CN117998364A CN 117998364 A CN117998364 A CN 117998364A CN 202410398844 A CN202410398844 A CN 202410398844A CN 117998364 A CN117998364 A CN 117998364A
- Authority
- CN
- China
- Prior art keywords
- feature
- flow data
- features
- score
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 76
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 32
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 abstract description 3
- 238000010187 selection method Methods 0.000 description 12
- 238000013145 classification model Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008260 defense mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
一种基于混合特征选择的XGBoost的WSN入侵检测系统,涉及无线入侵检测技术领域。本发明是为了解决现有入侵检测方法检测精度低,检测时间长的问题。本发明包括:对流量数据集预处理;获取预处理后流量数据集的条件互信息最大化得分向量A和费舍尔分数向量B;利用A和B权重分配,获得特征综合权重值;将流量数据集中的特征排序,剔除小于预设权重阈值的特征综合权重对应特征,获得特征子集F1;利用F1对XGBoost模型预训练,获得每个特征的贡献度得分,将特征按贡献度得分排序,获得F1';利用F1'获得最优特征子集F2;利用F2对预训练好的XGBoost模型训练并测试,获得入侵检测模型;将待检测入侵数据的最优特征子集输入入侵检测模型,获得检测结果。本发明用于入侵检测。
Description
技术领域
本发明属于无线入侵检测技术领域,特别涉及一种基于混合特征选择的XGBoost的WSN入侵检测系统。
背景技术
无线传感器网络(WSN, Wireless Sensor Network)是一种由大量传感器节点组成的分布式传感网络,也是无线通信网络的一种,实现了数据的采集、传输和处理功能。作为21世纪最具影响力的研究方向之一,WSN具有大规模、自组织、路由多跳性、生存能力强、资源有限等特点。虽然WSN可以进行较大规模的监测,但是由于其资源受限的特点,网络的使用寿命、数据传输效率、信道误差率等都会受到一定的影响。随着计算机网络环境的不断变化发展,网络面临的攻击种类逐渐增加,因此对网络环境进行安全防护是不可或缺的。
目前主要的网络环境安全防护方法包括防火墙、入侵检测等。防火墙作为第一层网络防御机制可以通过对网络通信的扫描过滤一部分攻击,但是无法应对复杂的攻击;入侵检测作为第二层网络防御机制是一种有效的主动防御技术,可以有效对网络环境进行实时监控,从而弥补第一层防御机制的不足,并减少网络攻击带来的损失,因此入侵检测成为本领域的研究重点。
基于机器学习的入侵检测方法可以高效地处理大量数据并进行分类检测,但是由于数据集中经常存在冗余特征,因此机器学习算法的性能受到了影响。目前主要采用特征选择的方式解决数据冗余的问题,特征选择是通过从数据集中剔除冗余特征从而降低特征空间维度。目前的特征选择方法分为过滤式特征选择方法、封装式特征选择方法和嵌入式特征选择方法等,过滤式特征选择方法与后续的机器学习算法无关,通常使用评价标准来对特征进行评估和排序,计算时间较少,但是效果较差;封装式特征选择方法依赖于后续的机器学习算法,以分类准确率作为特征子集的评价标准,通过启发式或序列式搜索策略进行选择,选择的特征子集性能较好,但是计算代价较大;嵌入式特征选择则是将特征选择与分类器模型的学习过程相结合,因此目前嵌入式特征选择方法被广泛应用,然而WSN本身就具有能量资源受限的特点,而目前的特征选择方法仅从数据的一个方面进行度量,因此度量并不全面,无法有效消除数据冗余,从而导致现有基于机器学习的入侵检测方法检测精度低,检测时间长。
发明内容
本发明目的是为了解决现有入侵检测方法检测精度低,检测时间长的问题,而提出了一种基于混合特征选择的XGBoost的WSN入侵检测系统。
一种基于混合特征选择的XGBoost的WSN入侵检测系统包括:流量数据预处理模块、特征条件互信息最大化得分获取模块、特征费舍尔分数获取模块、权重分配模块、特征子集获取模块、特征排序模块、最优特征子集获取模块和入侵检测模块;
所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,并将预处理后的流量数据集发送给特征条件互信息最大化得分获取模块和特征费舍尔分数获取模块;
所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,从而获得特征条件互信息最大化得分向量A={A 1,A 2,...,A n },并将A发送给权重分配模块;
其中,是预处理后的流量数据集中的特征总数;
所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,从而获得特征费舍尔分数向量B={B 1,B 2,...,B n },并将B发送给权重分配模块;
所述权重分配模块利用A和B进行权重分配,从而获得特征的综合权重值,并将特征的综合权重值发送给特征子集获取模块;
所述特征子集获取模块用于按照特征的综合权重值对预处理后的流量数据集中的特征从大到小排序,并剔除小于预设权重阈值的特征综合权重值对应的特征,获得特征子集,并将特征子集/>发送给特征排序模块;
所述特征排序模块上部署XGBoost模型,利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,按照贡献度得分对特征子集/>中的特征从大到小排序,将排序后的特征子集/>发送给最优特征子集获取模块;
所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集/>,并将最优特征子集/>发送给入侵检测模块;
所述入侵检测模块上部署XGBoost模型,且根据特征排序模块中的预训练好的XGBoost模型同步更新模型参数 ,然后将最优特征子集分为训练集和测试集,并对预训练好的XGBoost模型训练并测试,获得入侵检测模型,然后获取待检测入侵数据的最优特征子集,并将待检测入侵数据的最优特征子集输入到入侵检测模型中,获得入侵检测结果;
所述待检测入侵数据的最优特征子集通过以下方式获得:获取待测流量数据集,对待测流量数据集进行预处理,获取预处理后的待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量,利用待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量进行权重分配,获得待测流量数据集中每个特征的综合权重值,利用待测流量数据集中每个特征的综合权重值获取待测流量数据集的特征子集,将待测流量数据集的特征子集输入到预训练好的XGBoost模型中,获得待测流量数据集的特征子集中每个特征的贡献度得分,按照贡献度得分对待测流量数据集的特征子集中的特征排序,对排序后的待测流量数据集的特征子集进行序列后向选择,获得待检测入侵数据的最优特征子集。
进一步地,所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,具体为:
首先,获取WSN-DS数据集;
所述WSN-DS数据集中包括:正常流量数据和异常流量数据;
所述异常流量数据包括:黑洞攻击流量数据、灰洞攻击流量数据、调度攻击流量数据、洪泛攻击流量数据;
然后,对WSN-DS数据集中的流量数据归一化,具体为:
其中,X是流量数据,X max 是WSN-DS数据集中每个特征最大值组成的矩阵,X min 是WSN-DS数据集中每个特征最小值组成的矩阵,是归一化后的X;
然后,将归一化后的流量数据进行数值化,将非数值型数据转换为数值型数据,获得预处理后的流量数据集。
进一步地,所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,具体为:
其中,是预处理后流量数据集中的特征,/>,/>是预处理后流量数据集中的特征总数,/>是特征f i的条件互信息最大化得分,F是预处理后流量数据集中特征的集合,S是已选特征集合,/>是已选特征,C是已选特征集合中不包含特征的所属类别集合,/>是已选特征集合中不包含特征的所属类别,/>是特征评价函数,/>是特征/>和特征/>在已选特征/>下的联合概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>、已选特征/>、特征/>的联合概率分布。
进一步地,所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:
A1-1、获取预处理后流量数据特征的类间重叠加权系数,具体为:
其中,是特征f i 的类间重叠加权系数,N是流量数据总数,/>、/>是流量数据类别标号,M是流量数据类别总数,n ik 是第i个特征中第k类流量数据的数据量,/>是第i个特征中第/>类流量数据的数据量,/>是第i个特征中第k类流量数据与第/>类流量数据的数据重叠个数,/>是中间变量;
A1-2、获取预处理后的流量数据特征的方差膨胀因子,具体为:
其中,是特征/>的方差膨胀因子,R 2 是预设检测模型解释能力的统计指标;
A1-3、利用A1-1获得的类间重叠加权系数和A1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数。
进一步地,所述A1-3中的利用A1-1获得的类间重叠加权系数和A1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:
其中,、/>是/>的费舍尔分数,n k 是第k类流量数据的数目,/>是特征f i 下第k类流量数据的均值,/>是第i个特征f i 下所有流量数据的均值,/>是第k类流量数据中的数据标号,/>是第k类流量数据中的第j个流量数据在第i个特征下的取值。
进一步地,所述权重分配模块利用A和B进行权重分配,从而获得特征的综合权重值,具体为:
B1-1、使用归一化方法对A和B中的元素缩放,获得归一化结果、,从而获得归一化后的向量/>和/>,具体为:
其中,是向量A中第i个元素A i 归一化后的结果,/>是向量B中第i个元素B i 归一化后的结果,max(B)是向量B中的最大值,max(A)是向量A中的最大值,min(B)是向量B中的最小值,min(A)是向量A中的最小值;
B1-2、将和/>中的0值替换为1×10-8,获得/>和/>,并获取/>和/>的熵值/>、/>,具体为:
其中,是/>的熵值,/>是/>的熵值,/>是的概率分布权重,/>是/>的概率分布权重,/>是/>中的第i个元素,/>是/>中的第i个元素;
B1-3、利用B1-2获得的、/>获取/>、/>的权重/>、/>;
B1-4、利用B1-3获得的权重、/>获取特征/>的综合权重/>。
进一步地,所述B1-3中的利用B1-2获得的、/>获取、/>的权重/>、/>,具体为:
进一步地,所述B1-4中的利用B1-3获得的权重、/>获取特征/>的综合权重,具体为:
其中,是特征/>的综合权重值。
进一步地,所述特征排序模块中的利用特征子集对XGBoost模型预训练,获得中每个特征对应的贡献度得分,按照贡献度得分对特征子集/>中的特征从大到小排序,具体为:
首先,利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,最终获得预训练好的XGBoost模型;
所述中每个特征对应的贡献度得分,具体为:
其中,x p 是待解释流量数据的特征向量,是/>中的特征个数,/>是特征组合/>下XGBoost模型的输出,/>是包含第p个特征的组合数量,/>是选择第p个特征后剩余组合数量,/>是第/>个特征的贡献度得分;
然后,基于中每个特征对应的贡献度得分/>对/>中的特征从大到小进行排序,获得排序后的特征子集/>。
进一步地,所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集/>,具体为:
C1、初始化=/>,/>;
其中,是/>中特征的标号,/>是迭代次数;
C2、将中的第/>个特征删除,将删除之后的集合记为F;
C3、获取和F的马修斯相关系数:
其中,是/>的马修斯相关系数,/>是F的马修斯相关系数,/>是/>中的真阳性,/>是中F的真阳性,/>是/>中的假阳性,/>是F中的假阳性,/>是/>中的真阴性,/>是F中的真阴性,/>是/>中的假阴性,/>是F中的假阴性;
C4、比较MCC 2与MCC 1的大小:
若MCC 2大于等于MCC 1,则判断是否大于1,若大于1,则执行C5;若等于1,第n次迭代获得的集合F为最优特征子集/>;
若MCC 2小于MCC 1,则判断是否大于1,若大于1,则执行C6;若等于1,第n-1次迭代获得的集合/>为最优特征子集/>;
C5、令,/>=/>,/>,然后返回C2;
C6、保留中的第/>个特征,令/>=/>,/>,然后返回C2。
本发明的有益效果为:
本发明首先将流量数据集中的流量数据进行归一化和数值化处理,消除了流量数据间的数量级差别,避免了入侵检测误差过大的问题。本发明基于条件互信息最大化度量标准计算特征的条件互信息最大化得分,基于改进的费舍尔分数度量标准计算特征的费舍尔分数得分,使用熵权法利用特征的条件互信息最大化得分和费舍尔分数得分进行权重分配并加权获得特征综合权重值,根据特征的综合权重值剔除排名靠后的特征得到特征子集,从而筛选出了更值得选择的流量数据特征。本发明基于沙普利加和解释标准,同时结合XGBoost获得特征子集/>中特征的贡献度得分并按贡献度得分大小降序排序;以XGBoost分类检测的马修相关系数为指标进行序列后向选择得到最优特征子集/>;将最优特征子集/>划分为训练集和测试集,将XGBoost作为分类器进行分类检测,最终实现了入侵检测。本发明基于多方面对流量数据集进行了综合度量,获得了最具有代表性的特征子集,同时使用XGBoost作为分类器进行分类检测,从而在进行WSN入侵检测时达到了降低特征维度、消除数据冗余、提高检测精度、减少检测时间的目的。
附图说明
图1为本发明流程图;
图2为混合特征选择方法;
图3为本发明与不同分类模型在准确率、精确率、召回率和F1分数上的对比图;
图4为本发明与不同分类模型在检测时间上的对比图;
图5为本发明最终得到的最优特征子集与原始特征子集在特征数量上的对比图。
具体实施方式
具体实施方式一:本实施方式一种基于混合特征选择的XGBoost的WSN入侵检测系统,包括:流量数据预处理模块、特征条件互信息最大化得分获取模块、特征费舍尔分数获取模块、权重分配模块、特征子集获取模块、特征排序模块、最优特征子集获取模块和入侵检测模块;本发明流程图如图1所示;
所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,获得预处理后的流量数据集,并将预处理后的流量数据集发送给特征条件互信息最大化得分获取模块和特征费舍尔分数获取模块;
所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,从而获得特征条件互信息最大化得分向量A={A 1,A 2,...,A n },并将A发送给权重分配模块;
其中,是预处理后的流量数据集中的特征总数;
所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,从而获得特征费舍尔分数向量B={B 1,B 2,...,B n },并将B发送给权重分配模块;
所述权重分配模块基于熵权法利用A和B进行权重分配,从而获得特征的综合权重值,并将特征的综合权重值发送给特征子集获取模块;
所述特征子集获取模块用于按照特征的综合权重值对预处理后的流量数据集中的特征从大到小进行排序,并剔除小于预设权重阈值的特征综合权重值对应的特征,获得特征子集,并将特征子集/>发送给特征排序模块;
所述特征排序模块上部署XGBoost模型,利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,按照贡献度得分对特征子集/>中的特征从大到小排序,将排序后的特征子集/>发送给最优特征子集获取模块;
所述最优特征子集获取模块结合XGBoost以分类检测的马修相关系数为指标对中的特征进行序列后向选择,获得最优特征子集/>,并将最优特征子集/>发送给入侵检测模块;
所述入侵检测模块上部署XGBoost模型,且根据特征排序模块中的预训练好的XGBoost模型同步更新模型参数 ,然后将最优特征子集分为训练集和测试集,并对预训练好的XGBoost模型训练并测试,获得入侵检测模型,然后获取待检测入侵数据的最优特征子集,并将待检测入侵数据的最优特征子集输入到入侵检测模型中,获得入侵检测结果;
所述待检测入侵数据的最优特征子集通过以下方式获得:获取待测流量数据集,对待测流量数据集进行预处理,获取预处理后的待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量,利用待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量进行权重分配,获得待测流量数据集中每个特征的综合权重值,利用待测流量数据集中每个特征的综合权重值获取待测流量数据集的特征子集,将待测流量数据集的特征子集输入到预训练好的XGBoost模型中,获得待测流量数据集的特征子集中每个特征的贡献度得分,按照贡献度得分对待测流量数据集的特征子集中的特征排序,对排序后的待测流量数据集的特征子集进行序列后向选择,获得待检测入侵数据的最优特征子集。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,获得预处理后的流量数据集,具体为:
首先,获取WSN-DS数据集:
所述WSN-DS数据集中包括正常流量数据和异常流量数据;
所述异常流量数据包括:黑洞攻击、灰洞攻击、调度攻击、洪泛攻击;
然后,对WSN-DS数据集中的流量数据进行归一化,具体为:
其中,X是流量数据,X max 是WSN-DS数据集中每个特征最大值组成的矩阵,X min 是WSN-DS数据集每个特征最小值组成的矩阵,是归一化后的X;
归一化是将所有数值型数据转换为[0,1]之间的数据来消除数据之间数量级的差别从而避免后续的分类检测预测误差过大;
然后将归一化后的流量数据进行数值化,将非数值型数据转换为数值型数据,获得预处理后的流量数据集。
其他步骤与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,从而获得条件互信息最大化得分向量A={A 1,A 2,...,A n },具体为:
其中,是预处理后流量数据集中的特征,/>,/>是预处理后流量数据集中的特征总数,/>、/>是特征f i的条件互信息最大化得分,F是流量数据集中特征f 1,f 2,...,f n 的集合,S是已选特征集合,/>是已选特征,C是已选特征集合中不包含特征的所属类别的集合,/>是已选特征集合中不包含特征的所属类别,/>是特征评价函数,是特征/>和特征/>在已选特征/>下的联合概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>、已选特征/>、特征/>的联合概率分布;
其他步骤与具体实施方式一或二相同。
本实施方式中,计算对于预处理后的流量数据集中特征集合f 1,f 2,...,f n 中的每一个特征f i ,使用条件互信息最大化特征选择方法衡量特征与标签之间的条件互信息最大化得分,计算出每一个特征的条件互信息最大化得分,条件互信息最大化得分越高,说明该特征重要性越强。条件互信息最大化是一种基于互信息的特征选择方法,旨在寻找与目标变量拥有最大条件互信息的特征,通过最大化每个特征与目标变量的条件互信息进行特征选择,既考虑了特征之间的依赖关系,也考虑了特征与目标变量的关系,这样也可以在特征选择时降低冗余特征的选择概率。考虑到对集合S进行计算时计算代价较高,因此采用单个已选特征s代替已选特征集合S,其中的选择标准是使/>取得最小值。由条件互信息的定义可知,如果/>不包含新信息,即S中包含了/>能提供的所有信息时,/>取最小值。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述特征费舍尔分数评分获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,从而获得费舍尔分数向量B={B 1,B 2,...,B n },具体为:
A1-1、获取预处理后流量数据特征的类间重叠加权系数,具体为:
其中,是特征f i 的类间重叠加权系数,N是流量数据总数,M是流量数据类别总数,k和q是流量数据类别标号,n ik 是第i个特征中第k类流量数据的数据量,/>是第i个特征中第/>类流量数据的数据量,/>是第i个特征中第k类流量数据与第/>类流量数据的数据重叠个数,/>是中间变量;
A1-2、获取预处理后的流量数据特征的方差膨胀因子:
其中,是特征/>的方差膨胀因子,R 2 是预设的表示检测模型解释能力的统计指标,R 2 越大说明当前变量被其他变量的解释程度越高,线性相关程度就越高;
A1-3、利用A1-1获得的类间重叠加权系数和A1-2获得的方差膨胀因子对费舍尔分数进行修正,获得修正后的费舍尔分数,从而组成费舍尔分数向量B={B 1,B 2,...,B n },具体为:
其中,n k 是第k类流量数据的数目,是特征f i 下第k类流量数据的均值,/>是第i个特征f i 下所有流量数据的均值,/>是第k类流量数据中的数据标号,/>是第k类流量数据中的第j个流量数据在第i个特征下的取值,/>是/>的费舍尔分数。
其他步骤与具体实施方式一至三之一相同。
本实施方式通过引入类间重叠加权系数对费舍尔分数进行修正,其中费舍尔分数没有考虑类间重叠问题带来的影响,当类间重叠问题存在时,类与类之间存在的相同数值会影响类间间距的大小,从而影响特征的费舍尔分数。通过引入方差膨胀因子对费舍尔分数进行修正,其中费舍尔分数没有考虑特征与特征之间的线性相关问题,方差膨胀因子是一种判断变量之间是否存在多重共线性的指标,方差膨胀因子越大,说明共线性程度越大,该变量就越不倾向被选择。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述权重分配获取模块基于熵权法利用A和B进行权重分配,从而获得特征的综合权重值,具体为:
B1-1、使用归一化方法对A和B缩放,使A和B输出处于同一数值范围内,获得归一化后的向量和/>,具体为:
其中,是向量A中第i个数据归一化后的结果,/>是向量B中第i个数据归一化后的结果,A i 是向量A中的第i个数据,B i 是向量B中的第i个数据,max(B)是向量B中的最大值,max(A)是向量A中的最大值,min(B)是向量B中的最小值,min(A)是向量A中的最小值;
B1-2、将归一化后的和/>中的0值转换为1×10-8,获得/>和/>,并获取/>和/>的熵值:
/>
其中,是/>的熵值,/>是/>的熵值,/>是的概率分布权重,/>是/>的概率分布权重,/>是/>中的第i个元素,/>是/>中的第i个元素;
由于数据进行归一化后,数据中会出现0值数据,而0值数据会导致进行熵值计算时出现lnx=-∞的情况,因此在计算熵值之前先将0值数据的数值转换为1×10-8这个足够小的数值来避免出现lnx=-∞的情况,同时不影响最终熵值的大小。
B1-3、利用B1-2获得的、/>获取/>、/>的权重、/>,具体为:
B1-4、利用B1-3获得的权重、/>获取特征/>的综合权重/>:
其中,是特征/>的综合权重值。
其他步骤与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述特征排序模块中的利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,将特征子集/>中的特征按照贡献度得分从大到小排序,具体为:
首先,利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,最终获得预训练好的XGBoost模型;
所述中每个特征对应的贡献度得分(沙普利值),如下式:
其中,是待解释流量数据的特征向量,/>是/>中的特征个数,/>是特征子集/>下XGBoost模型的输出,/>是包含第p个特征的组合数量,/>是选择第p个特征后剩余组合数量,/>是第/>个特征的贡献度得分;
然后,基于中每个特征对应的贡献度得分/>对/>中的特征从大到小进行排序,获得排序后的特征子集/>。/>
其他步骤与具体实施方式一至五之一相同。
本实施方式对于中的每个特征,使用沙普利加和解释结合XGBoost求得特征子集/>中每个特征对应的贡献度得分,沙普利加和解释是一种基于博弈论的解释模型预测的方法,它可以应用于机器学习模型,可以解释每个样本、每个特征对于预测的贡献,将全局性和局部性解释进行统一。沙普利加和解释的核心是通过沙普利值来表示特征对模型预测的影响程度。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述最优特征子集获取模块结合XGBoost以分类检测的马修相关系数为指标对进行序列后向选择,获得最优特征子集/>,具体为:
C1、初始化=/>,/>;
其中,是/>中特征的标号,/>是迭代次数;
C2、将中的第/>个特征删除,将删除之后的集合记为F;
C3、获取和F的马修斯相关系数:
其中,是/>的马修斯相关系数,/>是F的马修斯相关系数,/>是/>中的真阳性,/>是F中的真阳性,/>是/>中的假阳性,/>是F中的假阳性,/>是/>中的真阴性,/>是F中的真阴性,/>是/>中的假阴性,/>是F中的假阴性;
C4、比较MCC 2与MCC 1的大小:
若MCC 2大于等于MCC 1,则判断是否大于1,若大于1,则执行C5;若等于1,第n次迭代获得的集合F为最优特征子集/>;
若MCC 2小于MCC 1,则判断是否大于1,若大于1,则执行C6;若等于1,第n-1次迭代获得的集合/>为最优特征子集/>;
C5、令,/>=/>,/>,然后返回C2;
C6、保留中的第/>个特征,令/>=/>,/>,然后返回C2。
特征选择过程中的混合特征选择方法流程图如图2所示。本发明获得的最优特征子集与原始特征集在特征数量上的对比图,如图5所示。可以看出,本发明提供的基于混合特征选择和XGBoost的WSN入侵检测系统剔除了大量特征,降低了特征维度,消除了冗余。
其他步骤与具体实施方式一至六之一相同。
实施例:为了验证本发明的有益效果,本实施例分别采用朴素贝叶斯分类器NB,逻辑回归分类器LR,决策树分类器DT,随机森林分类器RF,梯度提升树分类器GBDT,自适应提升算法分类器AdaBoost,极限梯度提升树XGBoost作为对比分类器进行入侵检测与所提出的系统进行的对比,采用以下指标对基于不同分类模型的入侵检测方法进行评价:
其中,是准确率,/>是精确率,/>是召回率,/>是F1分数,/>是真阳性,/>是假阳性,/>是真阴性,/>是假阴性。
不同分类模型在准确率、精确率、召回率和F1分数上的对比图如图3所示,每个分类模型中从左到右的指标依次为准确率、精确率、召回率、F1分数,不同分类模型在检测时间上的对比图如图4所示,可以看出,本发明相比于其他分类器都展示出了更好的分类检测效果。
Claims (10)
1.一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于所述系统包括:流量数据预处理模块、特征条件互信息最大化得分获取模块、特征费舍尔分数获取模块、权重分配模块、特征子集获取模块、特征排序模块、最优特征子集获取模块和入侵检测模块;
所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,并将预处理后的流量数据集发送给特征条件互信息最大化得分获取模块和特征费舍尔分数获取模块;
所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,从而获得特征条件互信息最大化得分向量A={A 1,A 2,...,A n },并将A发送给权重分配模块;
其中,是预处理后的流量数据集中的特征总数;
所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,从而获得特征费舍尔分数向量B={B 1,B 2,...,B n },并将B发送给权重分配模块;
所述权重分配模块利用A和B进行权重分配,从而获得特征的综合权重值,并将特征的综合权重值发送给特征子集获取模块;
所述特征子集获取模块用于按照特征的综合权重值对预处理后的流量数据集中的特征从大到小排序,并剔除小于预设权重阈值的特征综合权重值对应的特征,获得特征子集,并将特征子集/>发送给特征排序模块;
所述特征排序模块上部署XGBoost模型,利用特征子集对XGBoost模型预训练,获得中每个特征对应的贡献度得分,按照贡献度得分对特征子集/>中的特征从大到小排序,将排序后的特征子集/>发送给最优特征子集获取模块;
所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集/>,并将最优特征子集/>发送给入侵检测模块;
所述入侵检测模块上部署XGBoost模型,且根据特征排序模块中的预训练好的XGBoost模型同步更新模型参数,然后将最优特征子集分为训练集和测试集,并对预训练好的XGBoost模型训练并测试,获得入侵检测模型,然后获取待检测入侵数据的最优特征子集,并将待检测入侵数据的最优特征子集输入到入侵检测模型中,获得入侵检测结果;
所述待检测入侵数据的最优特征子集通过以下方式获得:获取待测流量数据集,对待测流量数据集进行预处理,获取预处理后的待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量,利用待测流量数据集中特征的条件互信息最大化得分向量和特征的费舍尔分数向量进行权重分配,获得待测流量数据集中每个特征的综合权重值,利用待测流量数据集中每个特征的综合权重值获取待测流量数据集的特征子集,将待测流量数据集的特征子集输入到预训练好的XGBoost模型中,获得待测流量数据集的特征子集中每个特征的贡献度得分,按照贡献度得分对待测流量数据集的特征子集中的特征排序,对排序后的待测流量数据集的特征子集进行序列后向选择,获得待检测入侵数据的最优特征子集。
2.根据权利要求1所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述流量数据预处理模块用于获取流量数据集,对流量数据集进行预处理,具体为:
首先,获取WSN-DS数据集;
所述WSN-DS数据集中包括:正常流量数据和异常流量数据;
所述异常流量数据包括:黑洞攻击流量数据、灰洞攻击流量数据、调度攻击流量数据、洪泛攻击流量数据;
然后,对WSN-DS数据集中的流量数据归一化,具体为:
其中,X是流量数据,X max 是WSN-DS数据集中每个特征最大值组成的矩阵,X min 是WSN-DS数据集中每个特征最小值组成的矩阵,是归一化后的X;
然后,将归一化后的流量数据进行数值化,将非数值型数据转换为数值型数据,获得预处理后的流量数据集。
3.根据权利要求2所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述特征条件互信息最大化得分获取模块用于获取预处理后的流量数据集中每个特征的条件互信息最大化得分,具体为:
其中,是预处理后流量数据集中的特征,/>,/>是预处理后流量数据集中的特征总数,/>是特征f i的条件互信息最大化得分,F是预处理后流量数据集中特征的集合,S是已选特征集合,/>是已选特征,C是已选特征集合中不包含特征的所属类别集合,/>是已选特征集合中不包含特征的所属类别,/>是特征评价函数,/>是特征/>和特征/>在已选特征/>下的联合概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>在已选特征/>下的条件概率分布,/>是特征/>、已选特征/>、特征/>的联合概率分布。
4.根据权利要求3所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述特征费舍尔分数获取模块用于获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:
A1-1、获取预处理后流量数据特征的类间重叠加权系数,具体为:
其中,是特征f i 的类间重叠加权系数,N是流量数据总数,/>、/>是流量数据类别标号,M是流量数据类别总数,n ik 是第i个特征中第k类流量数据的数据量,/>是第i个特征中第/>类流量数据的数据量,/>是第i个特征中第k类流量数据与第/>类流量数据的数据重叠个数,/>是中间变量;
A1-2、获取预处理后的流量数据特征的方差膨胀因子,具体为:
其中,是特征/>的方差膨胀因子,R 2 是预设的表示检测模型解释能力的统计指标;
A1-3、利用A1-1获得的类间重叠加权系数和A1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数。
5.根据权利要求4所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述A1-3中的利用A1-1获得的类间重叠加权系数和A1-2获得的方差膨胀因子,获取预处理后的流量数据集中每个特征的费舍尔分数,具体为:
其中,、/>是/>的费舍尔分数,n k 是第k类流量数据的数目,/>是特征f i 下第k类流量数据的均值,/>是第i个特征f i 下所有流量数据的均值,/>是第k类流量数据中的数据标号,/>是第k类流量数据中的第j个流量数据在第i个特征下的取值。
6.根据权利要求5所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述权重分配模块利用A和B进行权重分配,从而获得特征的综合权重值,具体为:
B1-1、使用归一化方法对A和B中的元素缩放,获得归一化结果、/>,从而获得归一化后的向量/>和/>,具体为:
其中,是向量A中第i个元素A i 归一化后的结果,/>是向量B中第i个元素B i 归一化后的结果,max(B)是向量B中的最大值,max(A)是向量A中的最大值,min(B)是向量B中的最小值,min(A)是向量A中的最小值;
B1-2、将和/>中的0值替换为1×10-8,获得/>和/>,并获取/>和/>的熵值/>、/>,具体为:
其中,是/>的熵值,/>是/>的熵值,/>是的概率分布权重,/>是/>的概率分布权重,/>是/>中的第i个元素,/>是/>中的第i个元素;
B1-3、利用B1-2获得的、/>获取/>、/>的权重/>、/>;
B1-4、利用B1-3获得的权重、/>获取特征/>的综合权重/>。
7.根据权利要求6所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述B1-3中的利用B1-2获得的、/>获取/>、权重/>、/>,具体为:
。
8.根据权利要求7所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述B1-4中的利用B1-3获得的权重、/>获取特征/>的综合权重/>,具体为:
其中,是特征/>的综合权重值。
9.根据权利要求8所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述特征排序模块中的利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,按照贡献度得分对特征子集/>中的特征从大到小排序,具体为:
首先,利用特征子集对XGBoost模型预训练,获得/>中每个特征对应的贡献度得分,最终获得预训练好的XGBoost模型;
所述中每个特征对应的贡献度得分,具体为:
其中,x p 是待解释流量数据的特征向量,是/>中的特征个数,/>是特征子集/>下XGBoost模型的输出,/>是包含第p个特征的组合数量,/>是选择第p个特征后剩余组合数量,/>是第/>个特征的贡献度得分;
然后,基于中每个特征对应的贡献度得分/>对/>中的特征从大到小进行排序,获得排序后的特征子集/>。
10.根据权利要求9所述的一种基于混合特征选择的XGBoost的WSN入侵检测系统,其特征在于:所述最优特征子集获取模块用于对中的特征进行序列后向选择,获得最优特征子集/>,具体为:
C1、初始化=/>,/>;
其中,是/>中特征的标号,/>是迭代次数;
C2、将中的第/>个特征删除,将删除之后的集合记为F;
C3、获取和F的马修斯相关系数:
其中,是/>的马修斯相关系数,/>是F的马修斯相关系数,/>是/>中的真阳性,/>是F中的真阳性,/>是/>中的假阳性,/>是F中的假阳性,/>是/>中的真阴性,/>是F中的真阴性,/>是/>中的假阴性,/>是F中的假阴性;
C4、比较MCC 2与MCC 1的大小:
若MCC 2大于等于MCC 1,则判断是否大于1,若大于1,则执行C5;若等于1,第n次迭代获得的集合F为最优特征子集/>;
若MCC 2小于MCC 1,则判断是否大于1,若大于1,则执行C6;若等于1,第n-1次迭代获得的集合/>为最优特征子集/>;
C5、令,/>=/>,/>,然后返回C2;
C6、保留中的第/>个特征,令/>=/>,/>,然后返回C2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410398844.XA CN117998364B (zh) | 2024-04-03 | 2024-04-03 | 一种基于混合特征选择的XGBoost的WSN入侵检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410398844.XA CN117998364B (zh) | 2024-04-03 | 2024-04-03 | 一种基于混合特征选择的XGBoost的WSN入侵检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117998364A true CN117998364A (zh) | 2024-05-07 |
CN117998364B CN117998364B (zh) | 2024-05-28 |
Family
ID=90895657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410398844.XA Active CN117998364B (zh) | 2024-04-03 | 2024-04-03 | 一种基于混合特征选择的XGBoost的WSN入侵检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117998364B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686399B1 (ko) * | 2006-03-08 | 2007-02-26 | 전남대학교산학협력단 | 컴퓨터 상에서 상관관계 기반의 하이브리드 특징 선택을 통한 경량화된 침입탐지방법 |
CN111709440A (zh) * | 2020-05-07 | 2020-09-25 | 西安理工大学 | 基于FSA-Choquet模糊积分的特征选择方法 |
CN113434859A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 入侵检测方法、装置、设备及存储介质 |
CN113486926A (zh) * | 2021-06-08 | 2021-10-08 | 同济大学 | 一种自动化码头设备异常检测系统 |
KR20230086976A (ko) * | 2021-12-09 | 2023-06-16 | 국방과학연구소 | 하이브리드 특징 선택과 데이터 균형을 통한 효율적인 네트워크 탐지 방법 및 시스템 |
-
2024
- 2024-04-03 CN CN202410398844.XA patent/CN117998364B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686399B1 (ko) * | 2006-03-08 | 2007-02-26 | 전남대학교산학협력단 | 컴퓨터 상에서 상관관계 기반의 하이브리드 특징 선택을 통한 경량화된 침입탐지방법 |
CN111709440A (zh) * | 2020-05-07 | 2020-09-25 | 西安理工大学 | 基于FSA-Choquet模糊积分的特征选择方法 |
CN113486926A (zh) * | 2021-06-08 | 2021-10-08 | 同济大学 | 一种自动化码头设备异常检测系统 |
CN113434859A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 入侵检测方法、装置、设备及存储介质 |
KR20230086976A (ko) * | 2021-12-09 | 2023-06-16 | 국방과학연구소 | 하이브리드 특징 선택과 데이터 균형을 통한 효율적인 네트워크 탐지 방법 및 시스템 |
Non-Patent Citations (1)
Title |
---|
姜来为等: "机器学习在WSN入侵检测中的应用研究", 《西安电子科技大学学报》, 27 December 2023 (2023-12-27) * |
Also Published As
Publication number | Publication date |
---|---|
CN117998364B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784881B (zh) | 网络异常流量检测方法、模型及系统 | |
CN105224872B (zh) | 一种基于神经网络聚类的用户异常行为检测方法 | |
CN110298663B (zh) | 基于序列宽深学习的欺诈交易检测方法 | |
CN111835707B (zh) | 一种基于改进后的支持向量机的恶意程序识别方法 | |
CN107103332A (zh) | 一种面向大规模数据集的相关向量机分类方法 | |
CN112039687A (zh) | 一种面向小样本特征的基于改进生成对抗网络的故障诊断方法 | |
CN114019370B (zh) | 基于灰度图像和轻量级cnn-svm模型的电机故障检测方法 | |
CN113326377A (zh) | 一种基于企业关联关系的人名消歧方法及系统 | |
CN110363230A (zh) | 基于加权基分类器的stacking集成污水处理故障诊断方法 | |
CN107025468A (zh) | 基于pca‑ga‑svm算法的高速公路拥堵识别方法 | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN109255029A (zh) | 一种采用加权优化训练集增强自动Bug报告分配的方法 | |
CN115051864B (zh) | 基于pca-mf-wnn的网络安全态势要素提取方法及系统 | |
CN114037001A (zh) | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 | |
CN117998364B (zh) | 一种基于混合特征选择的XGBoost的WSN入侵检测系统 | |
CN115659258B (zh) | 一种基于多尺度图卷积孪生网络的配电网故障检测方法 | |
CN108898157B (zh) | 基于卷积神经网络的数值型数据的雷达图表示的分类方法 | |
CN115879030A (zh) | 一种针对配电网的网络攻击分类方法和系统 | |
Saneja et al. | A hybrid approach for outlier detection in weather sensor data | |
CN113822771A (zh) | 一种基于深度学习的低误检率窃电检测方法 | |
Binu et al. | Support vector neural network and principal component analysis for fault diagnosis of analog circuits | |
Ling et al. | Graph Attention Mechanism-Based Method for Tracing APT Attacks in Power Systems | |
CN114501525B (zh) | 基于条件生成对抗网络的无线网络中断检测方法 | |
Dimf et al. | CNN with BI-LSTM electricity theft detection based on modified cheetah optimization algorithm in deep learning | |
Priyadarsini et al. | Towards effective time series classification of multi-class imbalanced learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |