本发明涉及无线传感器网络信息安全领域,尤其涉及一种无线传感器网络异常检测方法。
背景技术:
无线传感器网络是一种不同于传统有线网络的特殊移动自组织网络。无线传感器网络因节点组网简单、能自组织形成网络、节点成本低廉等优势而广泛应用于各领域,如国防和反恐等军事领域。当无线网络传感器异常时,实时高效地检测出传感器网络中的异常数据,无论对于外部突发事件的预警防范,还是对于传感器网络本身的健康状况监测,都具有十分重要的意义。
近年来,国内外对无线传感器网络异常数据检测方法的研究已有诸多成果。在这些研究中,基于支持向量机的异常检测技术因结构简单、训练速度快、具有良好的预测准确度以及具有较为充分的理论基础已经成为异常检测技术的研究热点。然而,现有基于svm(支持向量机)的无线传感器网络异常检测模型大多没有引入模糊理论,导致这类模型相比于基于模糊理论的支持向量机模型对含有噪声样本的数据集泛化能力弱。
与svm一样,fsvm(模糊支持向量机)超参数的大小对模型的预测能力影响较大,且设置这类算法的超参数比较困难,需要采取一定的策略对其设置,针对该情况,本发明采用果蝇优化算法对其设置。
技术实现要素:
针对上述现有技术的不足,本专利申请所要解决的技术问题是:如何提供一种能够解决超参数设置、提升异常检测精度的无线传感器网络异常检测方法。
为了实现上述目的,本发明采用了如下技术方案:
一种无线传感器网络异常检测方法,基于果蝇优化算法,将模糊支持向量机应用于无线传感器网络异常检测领域包括以下步骤:
训练阶段:
s1:采集传感器检测数据,并对数据进行预处理,形成训练数据集;
s2:基于fsvm技术建立无线传感器网络异常检测模型;
s3:建立ifoa-fsvm模型,对数据集进行异常检测训练;
检测阶段:
s4:采集传感器检测数据,并对数据进行预处理,形成待测样本;
s5:将待测样本输入ifoa-fsvm模型进行检测,判定待测样本是否异常。
优选的,步骤s3中,对ifoa-fsvm模型的建立包括以下步骤:
a1:改进果蝇算法;
a2:结合步骤s1中的训练数据集和a1中的改进果蝇算法,搜索fsvm得到最优参数;
a3将最优参数带回fsvm完成异常检测模型训练。
优选的,步骤a1中,对果蝇算法进行改进包括以下步骤:
b1:初始化搜索算法中果蝇数量num,算法总共迭代次数t,果蝇种群当前最优位置hopt,j,果蝇种群历史最优气味浓度bestsmell,步长调节参数ρ和
b2:计算步长调节因子m(k);
其中,k为当前迭代次数,ρ∈[2,8],
b3:若k<t/2,果蝇种群分为两个子群group1和group2,每个子群执行不同前进步长范围的随机步长搜索策略。其中,group1按照正常步长范围的随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j randomvalue×m(k)
hi,j=hopt,j 3×randomvalue×m(k)
其中,i为种群中第i个果蝇个体,j为目标函数中第j个变量;
b4:若k<t/2,修改部分果蝇子群搜索步长范围。其中,group1仍按照b3中的正常步长范围随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j 0.2×randomvalue×m(k)
b5:根据适应度函数计算每只果蝇的气味浓度值smell;
smelli=function(hi)
其中,function函数为适应度函数,即待优化目标函数;
b6:对果蝇的气味浓度smell进行排序,找出smell值最大的果蝇个体(smllbest),即当前最优果蝇个体,并判断其smell是否大于历史最优气味浓度bestsmell,若是,则更新bestsmell和当前最优位置hopt,j;否则不更新,找出给定比例的最差果蝇群体;
b7:最差果蝇群体根据b3中的正常步长范围随机值进行重新搜索,计算对应smell值,找出本次搜索中最优果蝇个体,其smell值若大于bestsmell,则更新bestsmell和当前最优位置hopt,j;否则不更新。
b8:判断是否满足最大搜索次数t,若是,则停止搜索,返回搜索到的最优目标函数解;否则,从b2开始重复执行,直至满足终止条件。
优选的,步骤s1和s4中数据进行预处理包括缺失值填充和特征值标准化;在进行特征值标准化的过程中,采用min-max标准化对特征数据进行预处理,处理后特征的值域在[0,1]之间。给定数据:
其中,l为样本数,d为样本的特征数;。
矩阵x中每一列特征的最小值和最大值使用向量xtmin和xtmax表示,
xtmin={x1min,x2min,...,xdmin}
xtmax={x1max,x2max,...,xdmax}
每个样本xt∈xau进行如下标准化,
其中,xtp是xt归一化后的特征向量。
优选的,步骤s2的具体步骤为:
c1:给定模糊支持向量机的训练集d:
d={(x1,y1,s1),...,(xi,yi,si),...,(xl,yl,sl)},
其中,xi∈rd,d为每个样本的特征维数,l为样本个数;yi为每个样本的类别,表示正常或异常;si为每个样本的模糊隶属度,表示为对应样本属于某类的概率,fsvm分类超平面如下;
其中,zi为样本原始特征经过fsvm对应核函数处理后的特征值,即rd中的特征向量经过映射函数
c2:基于fsvm建立异常检测模型。
其中,ai为拉格朗日因子;k(·,·)为核函数,k(xi,xj)=zi·zj。
优选的,所述步骤a2和a3包含如下子步骤:
d1:初始化ifoa的迭代次数、步长调节因子等相关参数,根据数据集情况选择fsvm核函数;
d2:通过改进果蝇算法搜索fsvm超参数c和g,将搜索到的超参数输入fsvm算法,并在训练集上进行交叉验证,结合选定的误差函数得到该组参数对应本轮迭代种群最优的气味浓度smllbest;
d3:根据果蝇算法的更新策略,不断迭代找到最优的参数c和g,进而求出fsvm的w和b。
优选的,步骤s5对样本进行检测时采用公式:
有益效果
(1)本发明将模糊支持向量机应用于无线传感器网络异常检测领域,该模型相比于基于支持向量的异常检测算法具有相对较强的鲁棒性。
(2)本发明改进了果蝇算法,果蝇的前进步长能根据迭代次数而智能调节;果蝇分为两个子群,在搜索前期和后期执行不同步长范围的搜索策略;每轮迭代过程中选取一定比例的果蝇进行重新搜索,丰富了果蝇的搜索多样性,提高了果蝇算法的搜索能力。
(3)本发明采用改进果蝇算法搜索模糊支持向量机的超参数,提高了模糊支持向量机的异常检测精确度。
附图说明:
图1为本发明异常检测方法模型图;
图2为本发明改进果蝇算法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-图2,一种无线传感器网络异常检测方法,基于果蝇优化算法,将模糊支持向量机应用于无线传感器网络异常检测领域包括以下步骤:
训练阶段:
s1:采集传感器检测数据,并对数据进行预处理,形成训练数据集;
s2:基于fsvm技术建立无线传感器网络异常检测模型;
s3:建立ifoa-fsvm模型,对数据集进行异常检测训练;
检测阶段:
s4:采集传感器检测数据,并对数据进行预处理,形成待测样本;
s5:将待测样本输入ifoa-fsvm模型进行检测,判定待测样本是否异常。
本实施例中,步骤s3中,对ifoa-fsvm模型的建立包括以下步骤:
a1:改进果蝇算法;
a2:结合步骤s1中的训练数据集和a1中的改进果蝇算法,搜索fsvm得到最优参数;
a3将最优参数带回fsvm完成异常检测模型训练。
本实施例中,步骤a1中,对果蝇算法进行改进包括以下步骤:
b1:初始化搜索算法中果蝇数量num,算法总共迭代次数t,果蝇种群当前最优位置hopt,j,果蝇种群历史最优气味浓度bestsmell,步长调节参数ρ和
b2:计算步长调节因子m(k);
其中,k为当前迭代次数,p∈[2,8],
b3:若k<t/2,果蝇种群分为两个子群group1和group2,每个子群执行不同前进步长范围的随机步长搜索策略。其中,group1按照正常步长范围的随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j randomvalue×m(k)
hi,j=hopt,j 3×randomvalue×m(k)
其中,i为种群中第i个果蝇个体,j为目标函数中第j个变量;
b4:若k<t/2,修改部分果蝇子群搜索步长范围。其中,group1仍按照b3中的正常步长范围随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j 0.2×randomvalue×m(k)
b5:根据适应度函数计算每只果蝇的气味浓度值smell;
smelli=function(hi)
其中,function函数为适应度函数,即待优化目标函数;
b6:对果蝇的气味浓度smell进行排序,找出smell值最大的果蝇个体(smllbest),即当前最优果蝇个体,并判断其smell是否大于历史最优气味浓度bestsmell,若是,则更新bestsmell和当前最优位置hopt,j;否则不更新,找出给定比例的最差果蝇群体;
b7:最差果蝇群体根据b3中的正常步长范围随机值进行重新搜索,计算对应smell值,找出本次搜索中最优果蝇个体,其smell值若大于bestsmell,则更新bestsmell和当前最优位置hopt,j;否则不更新。
b8:判断是否满足最大搜索次数t,若是,则停止搜索,返回搜索到的最优目标函数解;否则,从b2开始重复执行,直至满足终止条件。
本实施例中,步骤s1和s4中数据进行预处理包括缺失值填充和特征值标准化;在进行特征值标准化的过程中,采用min-max标准化对特征数据进行预处理,处理后特征的值域在[0,1]之间。给定数据:
其中,l为样本数,d为样本的特征数;。
矩阵x中每一列特征的最小值和最大值使用向量xtmin和xtmax表示,
xtmin={x1min,x2min,...,xdmin}
xtmax={x1max,x2max,...,xdmax}
每个样本xt∈xall进行如下标准化,
其中,xtp是xt归一化后的特征向量。
本实施例中,步骤s2的具体步骤为:
c1:给定模糊支持向量机的训练集d:
d={(x1,y1,s1),...,(xi,yi,si),...,(xl,yl,sl)},
其中,xi∈rd,d为每个样本的特征维数,l为样本个数;yi为每个样本的类别,表示正常或异常;si为每个样本的模糊隶属度,表示为对应样本属于某类的概率,fsvm分类超平面如下;
其中,zi为样本原始特征经过fsvm对应核函数处理后的特征值,即rd中的特征向量经过映射函数
c2:基于fsvm建立异常检测模型。
其中,ai为拉格朗日因子;k(·,·)为核函数,k(xi,xj)=zi·zj。
本实施例中,所述步骤a2和a3包含如下子步骤:
d1:初始化ifoa的迭代次数、步长调节因子等相关参数,根据数据集情况选择fsvm核函数(对于非线性问题选择高斯核);
d2:通过改进果蝇算法搜索fsvm超参数c和g(核函数为高斯核),将搜索到的超参数输入fsvm算法,并在训练集上进行交叉验证,结合选定的误差函数(适应度函数)得到该组参数对应本轮迭代种群最优的气味浓度smllbest;
d3:根据果蝇算法的更新策略,不断迭代找到最优的参数c和g,进而求出fsvm的w和b。
本实施例中,步骤s5对样本进行检测时采用公式:
有益效果
(1)本发明将模糊支持向量机应用于无线传感器网络异常检测领域,该模型相比于基于支持向量的异常检测算法具有相对较强的鲁棒性。
(2)本发明改进了果蝇算法,果蝇的前进步长能根据迭代次数而智能调节;果蝇分为两个子群,在搜索前期和后期执行不同步长范围的搜索策略;每轮迭代过程中选取一定比例的果蝇进行重新搜索,丰富了果蝇的搜索多样性,提高了果蝇算法的搜索能力。
(3)本发明采用改进果蝇算法搜索模糊支持向量机的超参数,提高了模糊支持向量机的异常检测精确度。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
1.一种无线传感器网络异常检测方法,其特征在于:基于果蝇优化算法,将模糊支持向量机应用于无线传感器网络异常检测领域包括以下步骤:
训练阶段:
s1:采集传感器检测数据,并对数据进行预处理,形成训练数据集;
s2:基于fsvm技术建立无线传感器网络异常检测模型;
s3:建立ifoa-fsvm模型,对数据集进行异常检测训练;
检测阶段:
s4:采集传感器检测数据,并对数据进行预处理,形成待测样本;
s5:将待测样本输入ifoa-fsvm模型进行检测,判定待测样本是否异常。
2.根据权利要求1所述的一种无线传感器网络异常检测方法,其特征在于,步骤s3中,对ifoa-fsvm模型的建立包括以下步骤:
a1:改进果蝇算法;
a2:结合步骤s1中的训练数据集和a1中的改进果蝇算法,搜索fsvm得到最优参数;
a3将最优参数带回fsvm完成异常检测模型训练。
3.根据权利要求2所述的一种无线传感器网络异常检测方法,其特征在于,步骤a1中,对果蝇算法进行改进包括以下步骤:
b1:初始化搜索算法中果蝇数量num,算法总共迭代次数t,果蝇种群当前最优位置hopt,j,果蝇种群历史最优气味浓度bestsmell,步长调节参数ρ和
b2:计算步长调节因子m(k);
其中,k为当前迭代次数,ρ∈[2,8],
b3:若k<t/2,果蝇种群分为两个子群group1和group2,每个子群执行不同前进步长范围的随机步长搜索策略。其中,group1按照正常步长范围的随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j randomvalue×m(k)
hi,j=hopt,j 3×randomvalue×m(k)
其中,i为种群中第i个果蝇个体,j为目标函数中第j个变量;
b4:若k<t/2,修改部分果蝇子群搜索步长范围。其中,group1仍按照b3中的正常步长范围随机值进行搜索迭代,group2按照大步长范围的随机值进行搜索迭代;
hi,j=hopt,j 0.2×randomvalue×m(k)
b5:根据适应度函数计算每只果蝇的气味浓度值smell;
smelli=function(hi)
其中,function函数为适应度函数,即待优化目标函数;
b6:对果蝇的气味浓度smell进行排序,找出smell值最大的果蝇个体(smllbest),即当前最优果蝇个体,并判断其smell是否大于历史最优气味浓度bestsmell,若是,则更新bestsmell和当前最优位置hopt,j;否则不更新,找出给定比例的最差果蝇群体;
b7:最差果蝇群体根据b3中的正常步长范围随机值进行重新搜索,计算对应smell值,找出本次搜索中最优果蝇个体,其smell值若大于bestsmell,则更新bestsmell和当前最优位置hopt,j;否则不更新。
b8:判断是否满足最大搜索次数t,若是,则停止搜索,返回搜索到的最优目标函数解;否则,从b2开始重复执行,直至满足终止条件。
4.根据权利要求3所述的一种无线传感器网络异常检测方法,其特征在于,步骤s1和s4中数据进行预处理包括缺失值填充和特征值标准化;在进行特征值标准化的过程中,采用min-max标准化对特征数据进行预处理,处理后特征的值域在[0,1]之间。给定数据:
其中,l为样本数,d为样本的特征数;。
矩阵x中每一列特征的最小值和最大值使用向量xtmin和xtmax表示,
xtmin={x1min,x2min,…,xdmin}
xtmax={x1max,x2max,…,xdmax}
每个样本xt∈xall进行如下标准化,
其中,xtp是xt归一化后的特征向量。
5.根据权利要求4所述的一种无线传感器网络异常检测方法,其特征在于,步骤s2的具体步骤为:
c1:给定模糊支持向量机的训练集d:
d={(x1,y1,s1),...,(xi,yi,si),...,(xl,yl,sl)},
其中,xi∈rd,d为每个样本的特征维数,l为样本个数;yi为每个样本的类别,表示正常或异常;si为每个样本的模糊隶属度,表示为对应样本属于某类的概率,fsvm分类超平面如下;
其中,zi为样本原始特征经过fsvm对应核函数处理后的特征值,即rd中的特征向量经过映射函数
c2:基于fsvm建立异常检测模型。
其中,ai为拉格朗日因子;k(·,·)为核函数,k(xi,xj)=zi·zj。
6.根据权利要求5所述的一种无线传感器网络异常检测方法,其特征在于,所述步骤a2和a3包含如下子步骤:
d1:初始化ifoa的迭代次数、步长调节因子等相关参数,根据数据集情况选择fsvm核函数;
d2:通过改进果蝇算法搜索fsvm超参数c和g,将搜索到的超参数输入fsvm算法,并在训练集上进行交叉验证,结合选定的误差函数得到该组参数对应本轮迭代种群最优的气味浓度smllbest;
d3:根据果蝇算法的更新策略,不断迭代找到最优的参数c和g,进而求出fsvm的w和b。
7.根据权利要求6所述的一种无线传感器网络异常检测方法,其特征在于,步骤s5对样本进行检测时采用公式: