一种基于MEA‑BP神经网络WSN异常检测方法与流程

文档序号:12069059阅读:634来源:国知局
一种基于MEA‑BP神经网络WSN异常检测方法与流程

本发明属于无线传感器网络(WSN)数据可靠性检测技术领域,具体是涉及一种基于MEA-BP神经网络WSN异常检测方法。



背景技术:

无线传感器网络(WSN)作为一种无线自组织网络,无线传感器网络具有低能耗、节点分别灵活、甚至无需人工维护,可以在恶劣环境中长时间工作等特点。通过将传感器网络节点散布在目标监测区域中,进行环境数据的采集以及特定事件的监测是目前最为普遍的应用之一。由于无线传感器节点资源有限,又容易受到外界因素的干扰和破坏,或者外部环境突发事件的影响,节点采集到的数据很有可能与正常情况下的环境特征产生明显偏差,这类数据称为异常数据。因此,设计一种有效的异常检测方法是近年来无线传感器网络异常检测研究的重点。

传统BP神经网络在训练学习时许多参数的选择没有理论依据,使得实际的神经网络应用具有局限性,存在不足之处主要有学习速度慢、容错能力差、会收敛于局部极小值等。以用于环境监测无线传感器网络节点为例,无线传感器网络节点采集到的温度数据无论是波动的幅度、频率,或者均值、中值、方差等统计特征都会和同一采样时间段内的其他数据有明显的差异,如果不考虑不同类型数据之间的差异性,无疑会影响检测算法的性能,想要更精确的判断数据异常,除了数据自身的时间相关性还要考虑空间相关性。另外,针对无线传感器网络环境数据的异常检测问题,BP神经网络算法存在容易陷入局部最优解、训练时间长、效率低等问题。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种基于MEA-BP神经网络WSN异常检测方法,针对BP神经网络算法存在容易陷入局部最优解、训练时间长、效率低等问题,利用思维进化算法对BP神经网络进行改进,提高了BP神经网络算法性能,加快了BP神经网络的学习速率,有效提高了异常数据检测的准确率,降低了误报率。

技术方案:为实现上述目的,本发明的基于MEA-BP神经网络WSN异常检测方法,所述方法包括以下步骤:

S1将各分布传感器节点初始化,各传感器节点开始采集数据;

设传感器节点个数为n,各传感器节点为Xtj(j=1,2,…,n),传感器节点Xtj的滑动窗口为Wj,各传感器节点的滑动窗口大小均为m,则传感器节点Xtj在其滑动窗口Wj上的测量数据序列为传感器节点Xtj在tp时刻采集的数据为该数据包括h个属性测量值,则

S2利用K-means算法对各传感器节点进行空间划分得到若干组分簇;

设q+1个传感器节点组成一组分簇,每组分簇中包括1个簇头节点Xtc和q个分布节点(Xt1,Xt2,…,Xtq);

S3利用思维进化算法对BP神经网络进行参数优化,通过趋同异化操作对BP神经网络的权值和阈值进行优化,得到最优权值和阈值,输入最优权值和阈值,建立MEA-BP神经网络模型;

S4采用分布式的算法,对每组分簇中传感器节点(Xt1,Xt2,…,Xtq)独立执行异常检测,异常检测完毕后传感器节点(Xt1,Xt2,…,Xtq)将检测结果传递到该组分簇的簇头节点Xtc进一步验证。

进一步地,所述步骤S2包括以下步骤:

S21首先从目标监测区域分布传感器节点对象中任意选择K个传感器节点对象作为K个聚类中心;

S22然后针对除聚类中心以外的传感器节点对象,分别计算传感器节点对象与K个聚类中心之间的相似度,得到与传感器节点对象相似度最接近的聚类中心;

S23将传感器节点对象分配给与该传感器节点对象相似度最接近的聚类中心的聚类,将所有传感器节点分配完成后得到K个聚类;

S24重新计算该K个聚类的聚类中心,得到新的聚类中心;

S25重新计算各传感器节点与新的聚类中心的相似度,回到步骤S22;

S26当重新计算的聚类中心收敛时,结束本操作。

进一步地,所述步骤S3包括以下步骤:产生训练数据;确定BP神经网络拓扑结构;通过思维进化算法进行参数设置;随机产生初始种群、优胜子种群和临时子种群;对子种群进行趋同操作;对子种群进行异化操作;判断是否满足结束条件,如果满足,则输出最优个体,获取最优权值和阈值,否则重新进行趋同异化操作。

进一步地,所述步骤S4包括以下步骤:

S41通过时间相关性对传感器节点(Xt1,Xt2,…,Xtq)独立执行异常检测,利用每个当前时刻通过传感器节点Xtj滑动窗口Wj的数据来训练神经网络,完成下一时刻数据的预报,选取训练数据的后v个样本数据,通过公式(1)计算MEA-BP神经网络的模型残差S:

其中,Er(r=1,2,…,v)为选取的样本数据值,F为选取的样本数据平均值,

S42计算传感器节点当前时刻的置信区间,置信区间为其中Spre为MEA-BP神经网络对下一时刻数据的预测值,tα/2,v-1为自由度v-1的t分布,在t分布表中选取合适的α值,得到t值;

S43当下一时刻数据Snew进入传感器节点滑动窗口内时,判断下一时刻数据Snew是否落入当前时刻的置信区间范围内,若是,则判断该数据Snew为正常数据;否则判断该数据Snew为异常数据;

S44异常检测完毕后传感器节点(Xt1,Xt2,…,Xtq)将检测结果传递到该组分簇的簇头节点Xtc中;

S45簇头节点Xtc通过空间相关性检测并引入投票机制验证传感器节点异常数据产生原因,原因包括事件异常、节点故障异常和误判。

进一步地,所述步骤S42中,选取α=0.05。

进一步地,所述步骤S45中进行空间相关性检测并引入投票机制包括以下步骤:

S451将传感器节点的异常数据和与该传感器节点在同一分簇中的其他节点数据进行比较;设q+1个传感器节点组成一组分簇,每组分簇中包括1个簇头节点Xtc和q个分布节点(Xt1,Xt2,…,Xtq);

S452预先设定误差值θ,设传感器节点的异常数据为ST,设与该传感器节点在同一分簇中的其他节点的数据为Si(i=1,2,…,q-1),若|ST-Si|<θ,则初始值为0的计数NN加1,统计最终的NN值;

S453若则判断该检测节点异常数据是由于事件异常;若则判断该检测节点异常数据是由于节点故障或误判;若则选取该分簇中的参照节点,设参照节点的数据为SCC,若|ST-SCC|≤θ,则判断该传感器节点异常数据是由于事件异常,若|ST-SCC|>θ,则判断该传感器节点异常数据是由于节点故障或误判;其中参照节点为距离该分簇中聚类中心节点欧氏距离最近的节点;

S454对于所述步骤S453中,当判断得到该传感器节点异常数据是由于节点故障或误判时,进一步判断该传感器节点异常数据是由于节点故障还是误判,具体包括以下步骤:通过对传感器节点进行时间相关性检测,当传感器节点连续时间内均产生异常数据,则判断该传感器节点异常数据是由于节点故障;当传感器节点只有该时刻为异常数据,其他时刻产生数据均为正常数据,则判断该传感器节点异常数据是由于误判。

有益效果:本发明与现有技术比较,具有的优点是:

传统BP神经网络算法存在容易陷入局部最优解、训练时间长、效率低等问题,难以满足检测需求,本发明提出的利用思维进化算法对BP神经网络进行改进以提高BP神经网络算法性能,在处理多维数据时利用传感器网路数据流之间的事件相关性和不同节点之间的空间相关性,从而有效提高了异常数据检测的准确率;

与常规的BP神经网络相比,本文方法通过优化权值和阈值之后加快了BP神经网络的学习速率,提高了异常检测率,降低了误判率。

附图说明

图1是t分布表示意图。

图2是k-means聚类算法流程图。

图3是MEA优化BP神经网络权值阈值流程图。

图4是MEA-BP神经网络异常数据检测流程图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

本发明提出了一种基于MEA-BP神经网络WSN异常检测方法,在介绍本发明方法之前,首先介绍一些定义:

1、传感器网络模型,在分布式传感器网络中,设传感器节点个数为n,各传感器节点为Xtj(j=1,2,…,n)。

2、时间序列数据,是由传感器节点按时间顺序产生的一系列序列数据,它的特点是变化快、大量和连续到达的。所以在建立检测模型之前,首先要引入滑动窗口机制,利用滑动窗口来观察最近一个时间段内数据的变化情况,在滑动窗口内部进行异常值检测。

3、滑动窗口模型,滑动窗口模型是用来观察最近一个采样时间段内的时间序列数据,方法是对传感器数据取一固定长度的滑动窗口,通过处理新加入和刚离开的数据降低时间复杂度;在分布式传感器网络中,设传感器节点个数为n,各传感器节点为Xtj(j=1,2,…,n),传感器节点Xtj的滑动窗口为Wj,各传感器节点的滑动窗口大小均为m,则传感器节点Xtj在其滑动窗口Wj上的测量数据序列为传感器节点Xtj在tp时刻采集的数据为该数据包括h个属性测量值,则

4、检测率,是指算法检测到的异常数据样本数与实际的异常数据样本总数之比。

5、误报率,是指被算法误判为异常的正常数据样本数与总的正常数据样本数之比。

本发明以传感器节点的时空相关性为基础,使用K-means算法对空间节点进行分簇,将数据相似的传感器节点划分到同一个簇中,然后提出基于MEA-BP神经网络WSN异常检测方法,该方法主要分为参数优化、异常数据的检测和数据异常的判定三个步骤,其主要特点有:(1)使用思维进化算法对BP神经网络进行参数优化,通过趋同异化等操作对BP神经网络的权值、阈值等进行优化;(2)在异常数据的检测阶段主要对传感器节点采集到的数据流中可能存在的异常数据点进行识别,该步骤采用分布式的算法,在各传感器节点独立执行,然后各传感器节点将结果传递到簇头节点进一步地验证;(3)异常数据检测时提出每个当前时刻通过传感器节点滑动窗口的历史数据集训练神经网络,来完成下一时刻的预报,通过神经网络的模型残差,确定用于判断下一时刻数据异常的置信区间,当下一时刻数据落入置信区间内,则该数据诶判定为正常,反之,该数据在簇头节点中通过空间相关性进一步地验证,具体的该方法包括以下步骤:

将各分部传感器节点初始化,各传感器节点开始采集数据,设传感器节点个数为n,各传感器节点为Xtj(j=1,2,…,n),传感器节点Xtj的滑动窗口为Wj,各传感器节点的滑动窗口大小均为m,则传感器节点Xtj在其滑动窗口Wj上的测量数据序列为传感器节点Xtj在tp时刻采集的数据为该数据包括h个属性测量值,则

利用K-means算法对各传感器节点进行空间分簇得到若干组簇,将数据相似的传感器节点划分到同一个簇中,提高簇内节点空间相似度,该工作在节点故障检测前完成,完成后再对节点采集数据进行时间相关性检测和空间相关性检测,在空间相关性检测时利用前面空间划分的结果,传感器节点对当前时刻采集的数据先进行时间相关性检测,当时间相关性检测显示有问题时,则该传感器节点将可疑数据告知簇头节点,簇头节点对该数据进行空间相关性检测;参照图2,基本思想是:首先从传感器节点对象中任意挑选K个对象作为聚类中心,对于剩下的传感器节点,则根据它们与被挑选出来的聚类中心的相似度(欧氏距离),分别将传感器节点分配给与其最相似的聚类中心的聚类,然后再计算每个新聚类的聚类中心(该聚类中所有对象的均值),不断重复这一过程直到聚类中心开始收敛为止;

K-means算法步骤如下:

设传感器节点数目为p,传感器节点的坐标为{x(1),x(2),…,x(p)},每个x(i)(i=1,2,…,p)∈R;

步骤1,随机选取K个传感器节点作为聚类中心,K个聚类中心的坐标为u(j)(j=1,2,…,k)∈R,K个聚类中心对应K个聚类;

步骤2,重复下面的过程直到聚类中心收敛

{

对于每个传感器节点样例i,计算其应该属于的聚类,公式如下:

c(i):=argminj||x(i)-u(j)||2 公式(2)

对于每个聚类j,重新计算该聚类的聚类中心,公式如下:

公式(2)中u(j)代表K个聚类中心中的一个,通过不断调整参数j(j=1,2,…,k),使得每一个点的开销函数c(i)达到最小值,c(i)代表传感器节点样例i与K个聚类中心中距离最近的聚类,把每一个点划分到距离其最近的一个聚类中心的聚类;

公式(3)中分母表示每个聚类中样本的总数,分子是每个聚类中传感器节点样例i对应的坐标和。

最终得到若干组簇,设q+1个传感器节点组成一组分簇,每组分簇中包括1个簇头节点Xtc和q个分布节点(Xt1,Xt2,…,Xtq);

利用思维进化算法对BP神经网络进行参数优化,通过趋同异化操作对BP神经网络的权值和阈值进行优化,得到最优权值和阈值,输入最优权值和阈值,建立MEA-BP神经网络模型,优化BP神经网络的流程如图3所示,大致步骤如下:

步骤1:思维进化初始群体产生,在解空间随机产生N组数作为初始群体,每组数中包含n个元素代表一个个体(即神经网络结构),每一个个体的矩阵为1*n,群体矩阵为N*n,群体包含N个个体;

步骤2:根据BP神经网络拓扑结构,将解空间映射到编码空间,每个编码空间对应问题的一个解,即一个个体,编码长度等于每个个体中的元素数目,编码长度n为

n=tL+wL+L+w 公式(4)

公式(4)中,t为神经网络输入节点数,w为输出节点数,L为隐含层节点数,此处选取t=19,L=20,w=1;

步骤3:定义跌代次数iter、优胜子群体M和临时子群体T的数目;进化过程的每一代中的所有个体的集合成为一个群体,一个群体分为M个优胜子群体和T个临时子群体,每个优胜子群体和临时子群体包含了SG个个体,SG为:

SG=N/(M+T) 公式(5)

通常选取iter=10,M=T=5,N=200,SG=20;

步骤4:得分函数的确定,神经网络由输入层、隐含层、输出层组成,网络训练样本输入层为AK=(a1k,a2k,…,atk),(K=1,2,…,P,P为训练样本数),输入矩阵为t*p,期望网络输出层为YK=(Y1k,Y2k,…,Ywk),输出矩阵为w*p,每一个样本输入对应一个输出,样本中一共有p个输入输出对;网络中间隐含层各节点输入为ZK=(z1,z2,…,zL),中间隐含层各节点输出为BK=(b1,b2,…,bL);网络各节点输入为QK=(q1,q2,…,qw),网络输出层各节点输出为GK=(g1,g2,…,gw)。定义输入层与隐含层权值Wij(i=1,2,…,t,j=1,2,…,L)、隐含层与输出层权值Vju(j=1,2,…,L,u=1,2,…,w)、隐含层阈值为{θj(j=1,2,…,L)}、输出层阈值{βu(u=1,2,…,w)},矩阵为w*w。根据编码规则,Wij为单个个体中第1个到第(L*t)个元素,矩阵为L*t;Vju为单个个体中第(L*t+1)个到(L*t+w*L)个元素,矩阵为w*L;θj为单个个体中第(L*t+w*L+1)个到第(L*t+w*L+L)个元素,矩阵为w*L;βu为单个个体中第(L*t+w*L+1)个到最后一个元素。计算网络隐含层各节点输入Zj,然后用{Zj}通过S型激活函数来计算隐含层各节点输出{bj},S型函数表达式为:

bj=f(Zj),j=1,2,…L 公式(7)

公式(7)中∑Wa称为此模型的激活值,是模型的输入求和;公式(7)中f()为模型激活函数。

然后根据隐含层的输出{bj},权值Vju及阈值{βu}计算输出层各节点输入Qu,然后用{Qu}通过S型函数来计算输出层各节点的输出{Gu}:

Gu=f(Qu)(u=1,2,…,w) 公式(9)

公式(8)(9)同上;

选择训练样本的均方误差的倒数作为各个个体与群体的得分函数yk表示第K个训练样本的期望输出值,矩阵为w*p,Gk表示实际的输出值,即通过神经网络训练出来的值,矩阵也为w*p,p为训练样本数目;

步骤5:训练权值和阈值,对于每个个体在(-1,1)之间以均匀分布产生n组随机数,个体矩阵为1*n,作为初始的权值阈值群体,根据网络计算规则,按照得分函数计算每个个体得分,得分最高的个体被称为优胜者,冲中选取q个得分最好的个体作为优胜者,选取q=10;

步骤6:子群体趋同操作,在子群体中,个体成为胜者而竞争的过程叫做趋同,一个子群体的趋同过程中,若不在产生新的胜者,则成为子群体成熟,趋同过程结束,分别以每一个优胜者为中心,服从正态分布产生个体,形成M个优胜子群体和T个临时子群体,每个子群体包含SG个个体,该正态分布可以表示为N(u,∑),式中u是正态分布的中心向量,∑是该正态分布的协方差矩阵,正态分布的中心就是胜者的坐标,即胜者的权值和阈值;

步骤7:子群体异化操作。异化过程是整个解空间内各子群体成为胜者而竞争的过程。通过全局公告板,它记录了各子群体得分函数值以及成熟度,在各个子群体之间进行全局竞争,若一个临时子群体得分高于某个成熟优胜子群体得分,则临时子群体替换掉优胜子群体,原优胜子群体中的个体被放弃;若一个成熟的临时子群体的得分低于任意一个优胜子群体的得分,则该临时子群体被放弃,其中的个体被释放。被放弃的临时子群体的个数记为Tr,被放弃的优胜子群体的个数记为Mr,在全局公告板的指导下,在解空间中重新产生Mr+Tr个临时子群体;

步骤8:解析最优个体。重复上述6,7步骤,当满足迭代停止条件时,思维进化算法结束优化过程。此时,根据编码规则,对寻找到的最优个体进行解析,从而得到对应的BP神经网络的最优权值和阈值,输入最优权值和阈值,建立MEA-BP神经网络模型;

参照图4,采用分布式的算法,对每组分簇中传感器节点(Xt1,Xt2,…,Xtq)独立执行异常检测,异常检测完毕后传感器节点(Xt1,Xt2,…,Xtq)将检测结果传递到该组分簇的簇头节点Xtc进一步验证,包括以下步骤:

S41通过时间相关性对传感器节点(Xt1,Xt2,…,Xtq)独立执行异常检测,利用每个当前时刻通过传感器节点Xtj滑动窗口Wj的数据来训练神经网络,完成下一时刻数据的预报,选取训练数据的后v个样本数据,通过公式(1)计算MEA-BP神经网络的模型残差S:

其中,Er(r=1,2,…,v)为选取的样本数据值,F为选取的样本数据平均值,

S42计算传感器节点当前时刻的置信区间,置信区间为其中Spre为MEA-BP神经网络对下一时刻数据的预测值,tα/2,v-1为自由度v-1的t分布,在t分布表中选取合适的α值,得到t值;t分布表如图1所示,正态分布又名高斯分布,若随机变量服从一个数学期望为μ、方差为σ2的高斯分布,记为N(μ,σ2),我们通常所说的标准正态分布是μ=0,σ=1的正态分布。从平均值为μ、方差为σ2的标准正态分布总体中抽取容量为v的样本,样本服从平均值为μ,方差为σ2/v的正态分布,总体方差σ2总是未知的,从而只能用s2来代替。如果v很大,那么,s2就是σ2的一个较好的估计量,仍然是一个近似的标准正态分布;如果v较小,s2与σ2的差异较大,因此,此时样本分布就不再是一个标准正态分布,而是服从t分布,t分布是依自由度而变的一条曲线,在坐标轴Y轴两侧对称分布,且均值为0,t分布适用于当总体标准差未知时,然后用样本标准差代替总体标准差。t分布中的自由度是指任何变量中可以自由变化的数目。此时的样本t检验仅估计一个参数:总体均值,样本大小v组成了v种用于估计总体均值及其变异性的信息,消耗一个自由度来估计均值,其余v-1个自由度用于估计变异性,因此,样本t检验使用自由度为v-1的t分布;当不需要估计参数时,自由度为v;通常选取α=0.05。

S43当下一时刻数据Snew进入传感器节点滑动窗口内时,判断下一时刻数据Snew是否落入当前时刻的置信区间范围内,若是,则判断该数据Snew为正常数据;否则判断该数据Snew为异常数据;

S44异常检测完毕后传感器节点(Xt1,Xt2,…,Xtq)将检测结果传递到该组分簇的簇头节点Xtc中;

S45簇头节点Xtc通过空间相关性检测并引入投票机制验证传感器节点异常数据产生原因,原因包括事件异常、节点故障异常和误判,具体包括以下步骤:

S451将传感器节点的异常数据和与该传感器节点在同一分簇中的其他节点数据进行比较;设q+1个传感器节点组成一组分簇,每组分簇中包括1个簇头节点Xtc和q个分布节点(Xt1,Xt2,…,Xtq);

S452预先设定误差值θ,设传感器节点的异常数据为ST,设与该传感器节点在同一分簇中的其他节点的数据为Si(i=1,2,…,q-1),若|ST-Si|<θ,则初始值为0的计数NN加1,统计最终的NN值;

S453若则判断该检测节点异常数据是由于事件异常;若则判断该检测节点异常数据是由于节点故障或误判;若则选取该分簇中的参照节点,设参照节点的数据为SCC,若|ST-SCC|≤θ,则判断该传感器节点异常数据是由于事件异常,若|ST-SCC|>θ,则判断该传感器节点异常数据是由于节点故障或误判;其中参照节点为距离该分簇中聚类中心节点欧氏距离最近的节点;参照节点:利用K-means算法对各传感器节点进行空间分簇得到若干组簇,将数据相似的传感器节点划分到同一个簇中,根据最终的分簇结果,选取距离该簇质心欧式距离最近的节点为参照节点;

S454对于所述步骤S453中,当判断得到该传感器节点异常数据是由于节点故障或误判时,进一步判断该传感器节点异常数据是由于节点故障还是误判,具体包括以下步骤:通过对传感器节点进行时间相关性检测,当传感器节点连续时间内均产生异常数据,则判断该传感器节点异常数据是由于节点故障;当传感器节点只有该时刻为异常数据,其他时刻产生数据均为正常数据,则判断该传感器节点异常数据是由于误判;

为了检测节点中的异常数据,每个节点都会以一定周期采集数据,形成属于该节点的数据流,为了保证该区域内节点采集数据样本的正确性,每个节点在上传数据前,都需要利用神经网络预测的值替换掉滑动窗口内的异常值。

数据样本来源于英特尔伯克利实验室的传感器网络数据,该数据采样频率为每隔31秒采样一次。选取传感器节点1-5号节点100组温度,湿度作为训练数据,20组温度,湿度作为预测数据。

S1训练=[20.6156,20.6254,20.6450,20.6352,20.6450,20.6156,20.6058,20.576420.4882,20.4588,20.4392,20.4196,20.3804,20.3510,20.3020,20.2726,20.2530,20.1942,20.184420.1354,20.0864,20.0668,20.0374,20.0178,19.9982,19.9786,19.9688,19.8414,19.8022,19.8022,19.7826,19.8022,19.8218,19.8316,19.8610,19.9002,19.9296,19.9786,19.9884,20.0080,20.0374,20.0472,20.1060,20.1060,20.1256,20.1354,20.1550,20.2236,20.2432,20.2432,20.3020,20.3216,20.3608,20.4588,20.4980,20.5176,20.5568,20.5666,20.5960,20.6254,21.4192,21.4094,21.3996,21.3604,21.3212,21.3016,21.2624,21.2330,21.2232,21.2036,21.1252,21.1252,21.1056,21.1056,21.0860,21.0860,21.0860,21.0762,21.0664,21.0664,21.0468,21.0076,20.9880,20.9586,20.9684,20.9096,20.8998,20.8998,20.8802,20.8704,20.8704,20.8704,20.8704,20.8802,20.8704,20.8802,20.8802,20.8802,20.8704,20.8704]

[37.5737,37.6079,37.6422,37.6422,37.7107,37.7107,37.7792,37.8477,38.0529,38.1213,38.189738.1897,38.3263,38.3946,38.4629,38.5311,38.5311,38.7357,38.8039,38.8720,39.0082,39.0763,39.1443,39.1783,39.2123,39.2803,39.3143,39.6200,39.755739.7896,39.755739.5521,39.5521,39.5521,39.4162,39.4502,39.3143,39.2803,39.2123,39.178339.1443,39.110339.0082,39.0082,38.9401,39.0082,38.9401,38.8379,38.8720,38.8039,38.7357,38.769838.7357,38.6675,38.4970,38.3946,38.3946,38.3263,38.2580,38.2580,38.2239,38.155537.9845,38.1897,38.1555,38.0529.37.9845,37.9161,37.8134,37.813437.8819,37.8819,37.9161,37.9503,37.9503,37.9161,37.9503,37.9161,37.8477,37.7792,37.7450,37.7450,37.7107,37.7107,37.7107,37.7107,37.6765,37.6765,37.6422,37.8134,37.7792,37.7107,37.7107,37.6765,37.6765,37.7107,37.7450,37.7792,37.9161,38.0529]

S1预测=[20.7724,20.7332,20.7528,20.7430,20.7332,20.7332,20.7234,20.7136,20.7234,22.1530,20.7038,20.6940,20.6940,20.7038,20.6940,22.1530,20.6744,20.6450,20.6352,20.6254][39.6200,39.9929,40.3652,40.9055,41.1414,41.2761,41.3771,41.4780,41.7805,41.8812,41.9818,41.9483,42.2500,42.3840,42.3170,52.3170,42.2500,42.2835,42.0824,41.9818]

S2训练=[20.6226,20.6224,20.6350,20.6352,20.6350,20.6256,20.6358,20.5764,20.4782,20.4388,20.4492,20.4296,20.3604,20.3310,20.3320,20.2326,20.2330,20.1042,20.1644,20.1354,20.0464,20.0468,20.0274,20.0178,19.9482,19.9486,19.9588,19.8614,19.8322,19.8222,19.7926,19.8122,19.8518,19.8516,19.8510,19.9502,19.9296,19.9386,19.9884,20.0080,20.0374,20.0472,20.1060,20.1060,20.1236,20.1454,20.1350,20.2236,20.2332,20.2432,20.3020,20.3216,20.3608,20.4588,20.4380,20.5376,20.5568,20.5666,20.5960,20.6354,20.6450,20.7136,20.7038,20.6744,20.7528,20.8412,20.8506,20.8600,20.8796,20.8802,20.8402,20.8704,20.8902,20.8704,20.8704,20.8704,20.8802,20.9096,20.9586,20.9782,20.9380,21.0376,21.0076,21.0174,21.0076,21.0272,21.0468,21.0566,20.9978,21.0370,21.0468,21.0366,21.0360,21.0368,21.0368,21.0634,21.0732,21.0938,21.0360,21.1356]

[37.5337,37.6179,37.6222,37.6322,37.7207,37.7307,37.7492,37.8277,38.0129,38.1113,38.149738.1597,38.3163,38.3546,38.4629,38.5311,38.5311,38.7357,38.8039,38.8720,39.0082,39.0763,39.1443,39.1783,39.2123,39.2803,39.3153,39.6200,39.7557,39.7896,39.7357,39.5521,39.5521,39.5521,39.4152,39.4502,39.3143,39.2803,39.2123,39.1783,39.1443,39.1103,39.0032,39.0082,38.9431,39.0042,38.8401,38.8479,38.8520,38.8039,38.7357,38.7698,38.7357,38.6635,38.4970,38.3946,38.3946,38.3263,38.2380,38.2380,38.2339,38.1355,37.9345,38.1897,38.1555,38.0529,37.9845,37.9161,37.8134,37.8134,37.8819,37.8819,37.9161,37.9503,37.9503,37.9161,37.9503,37.9161,37.8477,37.7792,37.7450,37.7450,37.7107,37.7107,37.7107,37.7107,37.6765,37.6765,37.6522,37.8034,37.7592,37.6907,37.6807,37.6565,37.6865,37.7207,37.7550,37.7732,37.9261,38.0629]

S2预测=(20.5670,20.5376,20.4788,20.4494,20.4984,20.4788,20.4592,20.4494,20.4788,20.4690,20.4788,20.4592,20.4592,20.4494,20.4396,20.4396,22.4396,20.4396,20.4396,20.3710)(39.4300,40.7863,40.4722,40.8955,41.3214,41.4361,41.5671,41.6880,41.8205,41.9036,42.0142,42.0100,42.3200,42.4140,42.3270,42.3370,52.3500,42.3825,42.1824,41.8918)

S3训练=[20.6156,20.6254,20.6450,20.6352,20.6450,20.6156,20.6058,20.576420.4882,20.4588,20.4392,20.4196,20.3804,20.3510,20.3020,20.2726,20.2530,20.1942,20.1844,20.1354,20.0864,20.0668,20.0374,20.0178,19.9982,19.9786,19.9688,19.8414,19.8022,19.8022,19.7826,19.8022,19.8218,19.8316,19.8610,19.9002,19.9296,19.9786,19.9884,20.0080,20.0374,20.0472,20.1060,20.1060,20.1256,20.1354,20.1550,20.2236,20.2432,20.2432,20.3020,20.3216,20.3608,20.4588,20.4980,20.5176,20.5568,20.5666,20.5960,20.6254,20.6450,20.7136,20.7038,20.6744,20.7528,20.8312,20.8606,20.8900,20.9096,20.8802,20.8802,20.8704,20.8802,20.8704,20.8704,20.8704,20.8802,20.9096,20.9586,20.9782,20.9880,21.0076,21.0076,21.0174,21.0076,21.0272,21.0468,21.0566,20.9978,21.0370,21.0468,21.0566,21.0860,21.0468,21.0468,21.0664,21.0762,21.0958,21.0860,21.1056]

[37.5737,37.6079,37.6422,37.6422,37.7107,37.7107,37.7792,37.8477,38.0529,38.1213,38.189738.1897,38.3263,38.3946,38.4629,38.5311,38.5311,38.7357,38.8039,38.8720,39.0082,39.0763,39.1443,39.1783,39.2123,39.2803,39.3143,39.6200,39.7557,39.7896,39.7557,39.5521,39.5521,39.5521,39.4162,39.4502,39.3143,39.2803,39.2123,39.1783,39.1443,39.1103,39.0082,39.0082,38.9401,39.0082,38.9401,38.8379,38.8720,38.8039,38.7357,38.7698,38.7357,38.6675,38.4970,38.3946,38.3946,38.3263,38.2580,38.2580,38.2239,38.1555,37.9845,38.1897,38.1555,38.0529,37.9845,37.9161,37.8134,37.8134,37.8819,37.8819,37.9161,37.9503,37.9503,37.9161,37.9503,37.9161,37.8477,37.7792,37.7450,37.7450,37.7107,37.7107,37.7107,37.7107,37.6765,37.6765,37.6422,37.8134,37.7792,37.7107,37.7107,37.6765,37.6765,37.7107,37.7450,37.7792,37.9161,38.0529]

S3预测=(20.4396,20.4102,20.4102,20.4004,20.3710,20.3612,20.3612,20.3612,20.3612,20.3514,20.3710,20.3808,20.3416,20.3220,20.3220,20.3318,20.3318,22.3220,20.3514,20.3416)(39.4200,40.7963,40.4422,40.8755,41.3614,41.4161,41.5871,41.6780,41.8405,41.9236,42.0242,42.0200,42.3300,42.4240,42.3170,42.3270,42.3400,52.3525,42.1624,41.8718)

S4训练=[20.4154,20.4254,20.4450,20.4352,20.4450,20.4154,20.4057,20.574420.4772,20.4577,20.4392,20.4194,20.3704,20.3510,20.3020,20.2724,20.2530,20.1942,20.1744,20.1354,20.0744,20.0447,20.0374,20.0277,19.9972,19.9774,19.9477,19.7414,19.7022,19.7022,19.7724,19.7022,19.7217,19.7314,19.7410,19.9002,19.9294,19.9774,19.9774,20.0070,20.0374,20.0472,20.1040,20.1040,20.1254,20.1354,20.1350,20.2234,20.2432,20.2432,20.3020,20.3214,20.3407,20.4577,20.4970,20.5174,20.5547,20.5444,20.5940,20.4254,20.4450,20.7134,20.7037,20.4744,20.7527,20.7312,20.7404,20.7900,20.9094,20.7702,20.7702,20.7704,20.7702,20.7704,20.7704,20.7704,20.7702,20.9094,20.9574,20.9772,20.9770,21.0074,21.0074,21.0174,21.0074,21.0272,21.0447,21.0544,20.9977,21.0370,21.0447,21.0544,21.0740,21.0447,21.0447,21.0444,21.0742,21.0957,21.0840,21.1054]

[37.5737,37.4079,37.4422,37.4422,37.7107,37.7107,37.7792,37.8477,38.0529,38.1213,38.189738.1897,38.3243,38.3944,38.4429,38.5311,38.5311,38.7357,38.8039,38.8720,39.0082,39.0743,39.1443,39.1783,39.2123,39.2803,39.3143,39.4200,39.755739.7894,39.755739.5521,39.5521,39.5521,39.4142,39.4502,39.3143,39.2803,39.2123,39.178339.1443,39.110339.0082,39.0082,38.9401,39.0082,38.9401,38.8379,38.8720,38.8039,38.7357,38.749838.7357,38.4475,38.4970,38.3944,38.3944,38.3243,38.2580,38.2580,38.2239,38.155537.9845,38.1897,38.1555,38.0529.37.9845,37.9141,37.8134,37.813437.8819,37.8819,37.9141,37.9503,37.9503,37.9141,37.9503,37.9141,37.8477,37.7792,37.7450,37.7450,37.7107,37.7107,37.7107,37.7107,37.4745,37.4745,37.4422,37.8134,37.7792,37.7107,37.7107,37.4745,37.4745,37.7107,37.7450,37.7792,37.9141,38.0529]

S4预测=(20.4394,20.4102,20.4788,20.4494,20.4984,20.4788,20.3412,20.3412,20.3412,20.3514,20.3710,20.3808,20.3414,20.2240,20.2240,20.2338,20.2240,20.3318,22.3514,20.3414)(39.4500,40.7343,40.4222,40.8555,41.4214,41.5341,41.4471,41.4980,41.8805,41.9334,42.0142,42.0120,42.3100,42.4240,42.3070,42.3470,42.3800,42.3925,52.2024,41.9118)

S5训练=[20.4154,20.4254,20.4450,20.4352,20.4450,20.4154,20.4058,20.574420.4882,20.4588,20.4392,20.4194,20.3804,20.3510,20.3020,20.2724,20.2530,20.1942,20.184420.1354,20.0844,20.0448,20.0374,20.0178,19.9982,19.9784,19.9488,19.8414,19.8022,19.8022,19.7824,19.8022,19.8218,19.8314,19.8410,19.9002,19.9294,19.9784,19.9884,20.0080,20.0374,20.0472,20.1040,20.1040,20.1254,20.1354,20.1550,20.2234,20.2432,20.2432,20.3020,20.3214,20.3408,20.4588,20.4980,20.5174,20.5548,20.5444,20.5940,20.4254,20.4450,20.7134,20.7038,20.4744,20.7528,20.8312,20.8404,20.8900,20.9094,20.8802,20.8802,20.8704,20.8802,20.8704,20.8704,20.8704,20.8802,20.9094,20.9584,20.9782,20.9880,21.0074,21.0074,21.0174,21.0074,21.0272,21.0448,21.0544,20.9978,21.0370,21.0448,21.0544,21.0840,21.0448,21.0448,21.0444,21.0742,21.0958,21.0840,21.1054]

[37.5737,37.4079,37.4422,37.4422,37.7107,37.7107,37.7792,37.8477,38.0529,38.1213,38.189738.1897,38.3243,38.3944,38.4429,38.5311,38.5311,38.7357,38.8039,38.8720,39.0082,39.0743,39.1443,39.1783,39.2123,39.2803,39.3143,39.4200,39.755739.7894,39.755739.5521,39.5521,39.5521,39.4142,39.4502,39.3143,39.2803,39.2123,39.178339.1443,39.110339.0082,39.0082,38.9401,39.0082,38.9401,38.8379,38.8720,38.8039,38.7357,38.749838.7357,38.4475,38.4970,38.3944,38.3944,38.3243,38.2580,38.2580,38.2239,38.155537.9845,38.1897,38.1555,38.0529.37.9845,37.9141,37.8134,37.813437.8819,37.8819,37.9141,37.9503,37.9503,37.9141,37.9503,37.9141,37.8477,37.7792,37.7450,37.7450,37.7107,37.7107,37.7107,37.7107,37.4745,37.4745,37.4422,37.8134,37.7792,37.7107,37.7107,37.4745,37.4745,37.7107,37.7450,37.7792,37.9141,38.0529]

S5预测=(20.4204,205002,20.4200,20.4200,20.3906,20.3612,20.3024,20.2828,20.3122,20.2828,20.2828,20.2632,20.2436,20.2240,20.2240,20.2338,20.2240,20.1848,20.1848,22.1848)(39.4050,40.7663,40.4532,40.8865,41.3314,41.4261,41.5871,41.7080,41.7905,41.9236,42.0242,42.0180,42.3150,42.4040,42.2970,42.3270,42.3700,42.3535,42.1924,51.9218)

现以传感器节点采集的温度为样例。如图1所示,首先通过K-means算法对空间节点进行划分,假设1-5号节点在同一个簇中,然后如图2所示利用节点的数据进行参数优化,建立MEA-BP神经网络模型。利用神经网络模型残差确定置信区间,此后节点采集新的数据,通过滑动窗口进行预测,若采集的数据不在置信区间内,则判定该数据为异常值,同时传递给簇头进行验证。否则,采集的数据是正常的。

神经网络的初始权值和阈值是随机的,通过优化算法得到最优个体,根据编码规则解析最优个体,个体中的元素被划分为四部分,输入层与隐含层权值W、隐含层与输出层权值V、隐含层阈值θ、输出层阈值β。

W=[0.5773,-0.0366,-0.5442,0.6235,1.1156,0.3768,0.3825,0.3136,0.1267,-0.7622,-0.5179,1.0760,-0.7651,-0.6149,0.3441,0.9941,0.0842,0.9022,-0.2135,0.0192;

1.0865,0.2526,0.6696,-0.5513,0.2104,0.2332,0.5453,-0.1723,1.3676,0.3422,-0.3744,0.8603,0.0330,0.3656,-0.2953,0.0479,-0.3960,-0.6000,0.2272,-0.7731;

-0.5749,0.5627,0.5373,1.0035,-0.9583,1.1374,0.9935,0.5132,0.5842,0.4948,-0.5388,0.9441,0.3067,-0.5114,0.3832,-0.0877,-0.6106,-0.8577,-0.4521,0.5040;

-0.1253,-0.9239,0.5082,0.5222,0.0151,0.0033,-0.2452,-0.3727,-0.7296,1.0824,1.0505,-0.6283,-0.5399,0.4255,0.3935,-0.5921,-0.6411,-0.8547,0.5181,0.7837;

-0.4296,-0.6532,0.1644,0.4362,1.2707,0.4877,-0.6715,0.9923,1.2893,0.8293,,0.9933,-0.6541,-0.1126,0.5300,-0.7672,0.0751,0.2299,-0.2186,0.8131,-0.9794;

-0.9365,-0.2176,1.0960,0.0105,1.3308,-0.3746,-1.0590,-0.5488,-0.8550,0.2305,0.4455,-0.2741,-0.0727,-0.8329,0.6602,0.6955,1.2929,-0.2030,0.6805,-0.1515;

0.9026,0.4729,0.4579,0.0247,-0.3627,-0.1774,0.3376,0.2647,-0.2081,-0.9794,0.8114,0.0375,-0.1698,0.1191,-0.1169,0.3339,0.4083,-0.3918,-0.3013,0.8716;

-0.1600,0.5712,-0.4983,-0.5316,-0.4528,-0.1343,0.6454,-0.6407,0.9763,-0.3584,-0.5402,0.1329,0.7943,0.3628,-0.3161,0.5328,0.5403,0.7219,-0.3242,0.4581;

-0.0458,-0.7775,0.1541,-0.0951,-0.5324,0.1833,-0.6400,-0.1086,-0.8386,-0.1227,-1.1306,0.3747,-1.2653,-0.4936,-0.1682,0.7071,-0.3657,1.0828,0.5700,1.1866;

-0.5898,-0.7801,0.5664,0.0111,0.3069,0.1700,0.3791,-0.3305,0.3633,0.3725,0.0423,-0.0695,0.2999,0.9656,0.6382,0.1977,-0.4587,0.2812,-0.5573,-0.3800;

0.9481,-0.0495,0.6783,-0.5981,-0.4970,0.8797,-0.9796,-0.3040,0.9687,-1.1954,0.3528,-0.1131,-0.1752,-0.8480,0.0283,-0.1791,1.1680,0.1180,1.0543,-0.7890;

0.9876,-0.5693,0.2064,1.0028,-0.7505,-0.0915,0.8364,0.0396,1.3324,0.6910,0.4675,0.2987,-0.7527,-0.5169,-0.8266,1.0537,0.9445,-0.1559,-0.2290,0.7849;

0.7757,0.0837,0.6734,-1.0255,0.2378,0.4449,0.5047,0.0004,0.4182,0.1178,0.5781,-0.2788,0.5544,-0.6854,0.2246,-0.9034,-0.5780,-1.0345,-1.0602,-0.5880;

-0.9348,-0.4230,-0.7827,-0.9307,-0.1429,-0.1718,0.2480,0.8521,-0.9502,0.8372,0.5072,-0.5041,0.0417,-0.0333,0.1855,-0.1131,0.7978,1.2911,0.3152,0.5734;

-0.4313,0.3686,-0.4494,-0.2113,-0.8895,-0.6692,0.8727,0.5028,-1.2660,-0.1608,-1.1177,0.9249,-0.7744,-0.8300,-0.6689,-0.6472,0.5649,-0.0527,-0.2023,0.7030;

0.8426,0.8520,0.6722,-0.9511-0.7137,-0.6196,0.1978,0.5044,-0.6855,-0.3957,-1.1713,0.8359,0.2987,-0.3332,-0.7046,-0.0307,0.7013,-1.0424,-0.2173,-0.8635;

0.4429,-0.5530,0.2594,-0.0055,-0.2293,-0.1312,0.1046,-1.1803,0.6552,1.1167,0.2293,0.8949,0.2872,0.0639,-0.7069,-0.6443,-0.5359,-0.7943,0.0749,0.2322;

0.1580,0.3637,-0.3663,0.3326,0.5618,-0.0908,0.6683,-0.1572,0.0053,-0.6843,-1.1245,0.6485-0.4312,-0.7010,-0.1113,0.7301,-0.0746,0.0622,0.1535,-0.0938;

-1.1087,-0.0046,-0.9751,-0.0265,1.1469,-0.7158,0.6888,-0.5601,0.5212,0.6409,-0.5567,1.1806,-0.1444,0.5397,-0.5531,0.5221,-0.5053,-1.2739,-0.4797,0.3794]

V=[-0.8852,-0.4987,-1.0526,0.3578,-0.0436,-0.6403,1.1844,-1.2437,-0.9961,-0.1289,-0.8779,-0.0577,-0.5220,0.4834,0.3050,0.5123,0.4276,-0.0404,0.9207,0.0199]

θ=[-0.3454,-0.0724,-0.9978,-1.0797,1.0350,0.2819,0.8036,0.2719,0.2332,-0.6689,0.9885,-0.7912,0.1800,-0.6851,-0.7595,0.2428,-0.1237,-0.2353,-0.0445,0.4698]

β=[-1.2285]

然后计算置信区间,随机选取节点1一个时刻的预测值,值为20.8692,此时选取训练数据的后40个数据通过公式1计算模型残差,求出的模型残差值S=0.1776,由图1得t值为2.02108,此时的区间上下界通过公式2计算为[20.5058,21.2326]。

假设节点S1已经训练好了MEA-BP模型,通过滑动窗口添加新的数据,如上所示,当滑动窗口预测第1个数据时,此时温度预测值为20.8692,置信区间范围为[20.5058,21.2326],此时刻传感器数据为20.7724,可以看出20.7724这个数据明显在区间范围之内,则认为该时刻数据是正常的;当滑动窗口预测第10个数据时,此时温度预测值为20.7062,置信区间范围为[20.3428,21.0696],而此时刻传感器数据为22.1530,该数据在区间范围之外,然后传递给簇头节点进行空间性验证,通过投票机制发现该时刻的数据在同一个簇内温度是异常的的,则节点1采集的温度数据异常,节点出现故障或误报,若发现在同一簇中数据相似,则认为出现事件。对于其他节点的湿度温度数据也同样能够准确识别出异常。

本发明方法以传感器节点的时空相关性为基础,用K-means算法对节点进行划分,然后在每个节点上建立MEA-BP神经网络模型,根据该模型来检测未来每一时刻各分布节点内到达的数据是否异常,然后把检测后的结果传递到簇头节点进行验证。目前,异常检测在各个领域中都是一个深入研究的问题,无线传感器网络独特的特点及严格的约束条件使得该问题的研究更具有挑战性。本发明提出的方法主要是针对资源受限的无线传感器网络复杂的异常检测,大大降低了节点之间的通信消耗,并能准确检测出异常数据,更具有环境适应能力。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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