商俊燕,丁 辉,胡学龙
(1.常州工业职业技术学院 信息工程学院,江苏 常州 213164;2.扬州大学信息工程学院,江苏 扬州 225127)
无线传感器网络凭借其传输数据量大且速度较快的优势,广泛地应用于不同研究领域[1]。但由于无线传感器网络的节点分布较为密集,节点与节点之间覆盖区域出现大量交叠情况,节点工作时会出现大量的冗余数据,造成能耗较大,消耗网络生存时间,消减网络使用寿命[2]。为此,对无线传感器网络开展有效的冗余数据检测,是网络管理部门亟待解决的问题。
文献[3]提出基于加权社会网络的低维冗余数据挖掘算法。该方法首先建立网络的加权社会模型,对网络采集数据展开可视化分析;依据分析结果提取数据冗余特征,计算数据的低维冗余支持度,并依据计算结果对低维数据的关联规则实施评价;最后通过数据关联规则对数据进行聚类处理,实现网络冗余数据的检测。该方法的检测耗时较短,但检测正确率较低。文献[4]对无线传感器网络中的冗余流量进行了研究。基于节点的剩余能量执行多跳路由,利用短信标消息处理基于区域的路由中产生的冗余数据包。较低区域的节点以最少的跳数将较高区域的数据路由到基站,并且仅利用路径上的那些节能且位于基站附近的节点。中继节点使用无线广播优势来确认源节点,而不向发送方发送任何特殊的ACK 包,这减少了路由过程中的控制开销。该方法具有较高的数据吞吐量,但存在检测召回率较低的问题。
为解决上述网络冗余数据检测过程中存在的问题,提出基于XGBoost 的无线传感器网络冗余数据检测算法。
为了有效实现无线传感器网络冗余数据检测,针对无线传感器网络缺失数据实施插补处理,从而有效预处理无线传感器网络数据。利用局部近邻算法,建立无线传感器网络数据辨识矩阵,降维无线传感器网络数据,由此提高无线传感器网络冗余数据检测正确率。
在无线传感器网络数据预处理过程中,需要使用相关算法对无线传感器网络中的缺失数据实施缺失值插补处理[5-6]。
通过数据采集器对无线传感器网络数据展开采集处理,建立无线传感器网络数据集A,并将其划分成测试集B 和检测集C。无线传感器网络缺失数据缺失值插补处理流程如下:
①确定无线传感器网络数据中的自变量与因变量。
在无线传感器网络数据集中确定缺失数据为因变量mi,未缺失数据为自变量ni。
②明确数据缺失值上、下限。
通过最近邻算法获取网络缺失值的上下限,并将其设定为[msi,mxi],缺失插补过程中迭代值不可超出该阈值。
③网络数据缺失值随机插补。
在设定的缺失值上下限阈值之间随机选取数据,初次对无线传感器网络[7]中的缺失数据开展缺失值插补处理。
④寻找最优复杂度模型。
通过构建具有传感器网络缺失数据的分组处理模型,以此来寻求数据最优复杂度。数据最优复杂度确定后,依据数据的分组插补方法计算网络数据缺失值的误差。
⑤开展缺失值插补处理。
重复上述流程对网络数据迭代计算,直至完成所有数据的插补处理。
无线传感器网络完成数据缺失值插补后,通过Z-score 算法完成无线传感器网络数据的标准化处理[8],结果如下式所示:
式中,n为无线传感器网络的数据总量,man,I为实际数据值,An为数据平均值。Sn为数据标准差,数man为据的标准化处理结果。
无线传感器网络数据在完成缺失值插补后,通过局部近邻算法[9]对网络数据实施降维处理。
1.2.1 建立辨识矩阵
设定无线传感器网络数据中有a个训练样本数据,根据数据集高维空间样本的局部近邻关系,构造了一个网络数据的近邻矩阵为:
式中,G为建立的近邻矩阵,网络数据样本xi与xj之间互为近邻关系,As为数据近邻样本集合。
设定近邻矩阵中任意向量为gij,依据网路数据的类别标签,建立网络数据的辨识矩阵,结果如下式所示:
式中,‖xi-xj‖为样本数据xi与xj之间的欧氏距离,o为调节常数,exp 为指数函数,B为建立的辨识矩阵。
1.2.2 数据降维
依据传感器网络数据近邻点数量建立数据的局部近邻图,再通过建立的近邻图,构建数据局部散度矩阵以及全局散度矩阵,过程如下式所示:
式中,K为拉普拉斯矩阵,Bk为建立的网络数据局部散度矩阵,BA为全局散度矩阵,T为逼近系数,i为矩阵行向量,j为列向量,X为网络样本数据集,m为常数,Bij为在i行j列的数据。
通过建立的数据散度矩阵[10]获取无线传感器网络数据的辨识向量c,以此建立无线传感器网络数据的变换函数模型,结果如下式所示:
式中,J(C)为建立的变换函数,C为辨识向量集合,JA(C)、Jk(C)为矩阵辨识系数,tr 为矩阵对角函数。
柑橘产量与气温、降水量呈显著正相关;与日照时数呈极显著负相关。需要加强研究柑橘各发育期气象因子与柑橘产量的关系,掌握柑橘生长发育期对气温、降水、日照的需求,有效利用气象条件,防范气象灾害,结合生产实际,加强果园管理,提高柑橘产量与品质。
模型建立后,通过模型的正交化约束,计算数据正交向量值,建立模型的正交函数计算模型的特征向量值,过程如下式所示:
式中,δm为变换函数模型正交特征向量,argmin 为对数函数。基于上述获取变换函数模型的正交基特征向量,获取模型目标函数解,实现无线传感器网络数据的降维,过程如下式所示:
式中,φ为模型目标函数解[11],s.t.为模型约束条件。
在上述无线传感器网络数据预处理的基础上,设计XGBoost 检测算法。采用XGBoost 算法,提取无线传感器网络数据冗余特征。利用决策树,建立无线传感器网络数据分类模型,分类无线传感器网络数据冗余特征,由此实现无线传感器网络的冗余数据检测,从而有效提高无线传感器网络冗余数据检测召回率。
使用XGBoost 算法,基于数据降维后的无线传感器网络数据样本以及冗余类别,建立无线传感器网络数据的目标函数,结果如下式所示:
式中,ei为数据i的目标实际值,ej为目标预测值,l(ei,ej)为二者之间的差异,m为样本数量,ϑ(fk)为数据样本k的特征参数,fk为分裂树的模型复杂度,K为数据样本的特征参数总量,U为建立的目标函数。
式中,U(t)为冗余数据的分裂树节点累加值,ωi为节点输出分数,I为分类树叶子上的样本集合,Ij为分裂树结构函数,T为叶子节点,gi、hi为数据冗余系数,γ、λ为权重因子。
分裂树建立后,依据冗余数据特征编码形式确定无线传感器网络数据的特征。设定网络数据训练样本集为{x1,x2,…,xn},数据样本在第K棵冗余数据分裂树上的对应节点位置为βnk,以此建立样本数据的索引向量矩阵,过程如下式所示:
式中,Z为建立的样本索引向量矩阵,K为分裂树数量。n为样本数量。
最后依据无线传感器网络数据样本索引向量矩阵计算结果,完成数据冗余特征的提取。
由于提取出的数据冗余特征包含多个类别,因此,依据建立的决策树对无线传感器网络数据实施分类处理,完成无线传感器网络冗余数据的检测。
基于提取的数据冗余特征建立无线传感器网络数据分类模型[12],过程如下式所示:
式中,M为建立的分类模型,η为网络数据的分类算子,t为样本标签,X为训练数据集。最后依据下式完成无线传感器网络冗余数据的分类,实现无线传感器网络冗余数据的检测,过程如下式所示:
式中,R为数据分类结果,loss 为分类模型的模型误差,Xbest为测试数据集,Ctest为分类标签。
为了验证基于XGBoost 的无线传感器网络冗余数据检测算法的有效性,需要对此方法进行仿真分析对比测试。采用NSL-KDD 数据集,基于MATLAB 2016a 软件进行了仿真分析。设定样本数据量为6 000 个,仿真参数迭代数量为150,学习率为0.1。XGBoost 算法实现的伪代码如下:
分别采用基于XGBoost 的无线传感器网络冗余数据检测算法(所提方法)、加权社会网络低维冗余数据快速挖掘算法仿真(文献[3]方法)、无线传感器网络区域路由中处理冗余流量的节能技术(文献[4]方法)展开测试。
选取检测正确率、召回率以及F1 值作为检测效果测试指标,以此测试上述3 种方法的冗余数据检测效果。
①检测正确率测试:检测正确率是指正确检测样本数据量占样本数据量总数的百分比。冗余数据检测正确率测试中,检测正确率越高,说明冗余数据检测效果越好;检测正确率越低,说明冗余数据的检测效果越差。对3 种方法的检测正确率展开测试,测试结果如图1 所示。
图1 不同方法的检测正确率测试结果
由图1 可知,样本数据量与3 种冗余数据检测方法的检测正确率呈负相关趋势。当样本数据量达到6 000 个时,文献[3]方法和文献[4]方法的检测正确率分别为90.45%和89.43%,而所提方法的检测正确率为97.59%。由此可知,所提方法测试出的检测正确率是3 种方法中最高的,由此可证明,所提方法在冗余数据检测时的检测效果较好。
②检测召回率测试:检测召回率是指检测为正确的检测样本数据量占实际的检测样本数据量的百分比。冗余数据检测召回率测试时,测试出的召回率越高,说明冗余数据的检测效果越好,反之则越差。对3 种方法的召回率展开测试,测试结果如图2 所示。
图2 不同方法的检测召回率测试结果
由图2 可知,样本数据量与3 种方法测试出的召回率呈负相关趋势。当样本数据量达到6 000 个时,文献[3]方法和文献[4]方法的检测召回率分别为84.45%和75.43%,而所提方法的检测召回率为95.00%。由此可知,所提方法的检测召回率较高,可证明所提方法在开展冗余数据检测时,具备有效性。
③检测F1 值测试:检测F1 值是指检测正确率和检测召回率的调和平均数。采用F1 值测试指标对所提方法、文献[3]方法以及文献[4]方法的冗余数据检测结果展开测试,测试过程中,F1 值测试结果越高,说明检测方法的检测效果越好,反之则越差。以此测试3 种方法冗余数据检测效果。测试结果如图3 所示。
图3 不同方法的检测F1 值测试结果
由图3 可知,样本数据量与检测方法的F1 值呈负相关趋势。当样本数据量达到6 000 个时,文献[3]方法和文献[4]方法的检测F1 值分别为60.96%和59.84%,而所提方法的检测F1 值为65.87%。由此可知,所提方法的F1 值测试结果较高,说明所提方法的检测效果较好。这主要是因为所提方法在冗余数据检测前,使用局部近邻算法对网络数据实施降维处理,所以该方法在开展冗余数据检测时的F1 值较高。
综上所述,所提方法在开展无线传感器网络冗余数据检测时,检测的正确率、召回率和F1 值较高。由此可证明,所提方法在冗余数据检测时的检测效果好。
随着传感器网络使用范围的增加,传感器网络冗余数据检测就变得尤为重要。针对传统冗余数据检测方法中存在的问题,提出基于XGBoost 的无线传感器网络冗余数据检测算法。该方法依据数据的降维结果,提取网络的冗余数据特征,建立无线传感器网络数据分类模型;最后依据建立的数据分类模型完成网络数据的分类,实现冗余数据的检测。该方法具有较好的检测效果,能够有效提升无线传感器网络的运行安全性。