适用于无线传感器网络的异常数据检测方法与流程

文档序号:15650449发布日期:2018-10-12 23:05阅读:406来源:国知局

本发明涉及一种网络异常的检测方法,具体涉及一种针对密集部署的无线传感器网络的异常数据检测方法。



背景技术:

随着网络技术的日新月异,现有针对无线传感器网络异常数据检测方案主要分为两种,即集中式检测方案和分布式检测方案。具体分析其特征和优缺点:其中集中式检测方案的核心思想是将各个节点的检测数据统一地发送到汇聚节点,汇聚节点接收各个节点传送过来的数据,根据汇聚节点的异常数据检测模型提取异常数据,并且定位到相应的异常节点。这种方法的优点是每个传感器节点不需要额外的计算开销,只需要将数据传递给汇聚节点。但是这种方案的缺点也很明显:(1)汇聚节点的处理能力要很强,一旦汇聚节点被攻击,那么整个网络将难以避免地瘫痪。(2)每个节点都需要将自己的数据传送给汇聚节点,节点能量随着频繁的通信而迅速消耗,也很容易导致整个网络瘫痪(需要注意的是节点之间进行通信是最消耗节点能量的)。

由于集中式检测方案使得网络的健壮性非常差,因此现阶段主要用的都是分布式检测方案。分布式检测方案的核心思想是让各个节点都能够自动检测异常数据,这样一来不仅可以解决网络中通信频繁的问题,也可以保证网络中一个节点出问题不会使网络瘫痪,大大提高了网络的健壮性和生命周期。然而这种方案也有明显的缺陷:(1)网络中每一个节点都需要额外的计算资源,如果计算耗费的资源很高,那么节点很快就会成为死节点。(2)每一个节点只根据自己所建立的模型来检测异常数据,存在误报率较高,检测率较低的情况。

目前主流的分布式检测方案包括:基于支持向量机(svm)的检测方案,基于分类器的检测方案,基于主成分分析(pca)的检测模型。横向比较来看,基于svm的检测方案计算较为复杂,而且根据内核函数的选取不同,异常数据的检测率和误报率会有很大差别,这种方案下内核函数的选取尤为重要。基于分类器的检测方案能够达到较高的异常数据检测率和较低的误报率,但是此方案需要提供异常数据和正常数据来训练分类器,而通常情况下只拥有正常的数据去训练数据模型。基于主成分分析的检测方案根据数据向量的特征分量建立检测模型,只需要提供正常数据。这些方案虽然计算并不复杂,但是异常数据的误报率偏高,检测率相对较低。



技术实现要素:

鉴于此,本发明的目的旨在提出一种适用于无线传感器网络的异常数据检测方法,解决此类网络异常数据检测中计算资源分配不合理、误报率较高、检测率较低的问题。

本发明解决上述问题所采用的技术方案为:适用于无线传感器网络的异常数据检测方法,其特征在于包括步骤:

网络节点的分簇:根据分簇算法将采集数据相关的节点分在一个组中,并在这个组中选出一个簇头节点进行该组节点数据的传送和处理;

双重检测:每个节点通过训练数据集结合pca算法得到自分区阀值,并由对应簇的簇头节点计算得到全局区分阀值,任意节点在检测到新数据后基于自区分阀值和全局区分阀值进行检测;

检测模型更新:设定检测模型中初始训练数据集由m个时间窗口中的正常数据构成,其中m为大于2的整数,随新的检测数据到来,训练数据集由当前m个窗口时间内的正常数据构成。

进一步地,其特征在于还包括方案评估:利用拟合的数据集、英特尔伯克利实验室采集的传感器数据集对自定义时段内的双重检测结果进行分析和仿真,进行评估,其中自定义时段为检测模型更新周期的s倍,s为大于5的整数。

进一步地,所述分簇算法为gaf分簇算法、拓扑发现算法、leach算法、heed算法、分簇算法,能量平衡拓扑发现算法中的一种。

进一步地,所述双重检测分为局部检测和全局检测,其中局部检测为当某个节点检测到新数据时,本节点计算新数据向量到最大主成分分量的投影距离,并与本节点的自区分阀值比较,对于小于自区分阀值的新数据判定为正常数据,对于超出自区分阀值的新数据判定为可疑数据并发送对应的计算结果至簇头节点中与全局区分阈值比较,对于大于全局区分阈值的新数据标记为异常数据,对于小于全局区分阀值的新数据判定为正常数据。

更进一步地,所述双重检测的细分步骤包括:

异常检测模型的建立,每个节点和簇头节点分别使用三元组建立各自的异常数据检测模型;异常数据检测,每个节点计算自身最大主成分分量和最大投影距离,并广播至相关联的簇头节点中;簇头节点根据相关联的全部节点的最大投影距离计算全局最大投影距离;

异常数据源检测,对异常数据分析引发的原因,包括简单的噪声或内部错误。

与现有技术相比,本发明具有突出的实质性特点和显著的进步性,其有益效果体现为:本发明在已有的pca分布式检测方案上,提出可靠性更高的检测方案。该方案结合已有pca方案的优势,仅需要使用正常数据来训练检测模型并且拥有较低的计算复杂度。同时在已有技术的基础上,通过考虑邻居节点之间数据的相关性,通过双重检测机制有效地降低了异常数据的误报率。为了保持检测模型的可靠性,对检测模型进行定时的更新来满足网络的实时变化,有效地提高网络异常数据检测率。对该方案评估如下:每个节点消耗的计算资源较少,只需要正常数据训练检测模型,同时该方案有效地提高了网络中异常数据的检测率,降低了异常数据的误报率,有效地识别网络中是否有异常事件发生。

附图说明

图1以s0为簇头节点的网络结构。

图2数据向量到第一主成分的距离示意图。

图3异常数据检测模型的更新过程示意图。

图4训练数据集合和待检测数据集合的对比示意图。

图5拟合数据下模型的性能分析。

图6不同时间窗口下模型异常数据检测率比较。

图7不同的信噪比下模型的误报率比较.

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,所举实例只用于解释本发明,并非用于限定本发明的范围。

1、网络节点的分簇

无线传感器网络中经典的分簇算法主要包括:santi的改进gaf(geographicaladaptivefidelity)分簇算法、deb的topdisc(topologydiscovery)拓扑发现算法、heinzelman的leach(lowenergyadaptiveclusteringhierarchy)算法和younis的heed算法等。其中最经典的是最小支配集理论topdisc算法,该算法采用贪心算法来选取网络中的骨干节点,具体分为两种类型:三色法和四色法。有学者对该方案进行改进,提出了power-balancedtopdisc算法,该方法充分考虑了网络中节点的剩余能量,有效地提高网络的生命期。本方案中采取power-balanced算法分簇。如图1所示,根据分簇算法将采集数据相关的节点(s1-s6)分在一个组中,并在这个组中选出一个簇头节点s0进行该组节点数据的传送和处理。

2、双重检测机制

主成分分析法(primarycomponentsanalysis)简称为pca算法。pca算法在数据挖掘领域和人脸识别中起了非常重要的作用,算法的核心思想是对数据进行降维,通过将一组具有相关性的变量转化为一组线性无关的变量,转换之后的变量叫做主成分分量。无线传感器网络中监测的数据一般是多维的数据,例如intelberkeleyresearchlab项目组监测的数据就包括:温度、湿度、电压、光照强度等数据。对数据进行降维,不仅能够保留数据向量的基本特征,还可以大大降低数据的处理复杂度,降低网络的通信开销。在本方案中通过pca算法和训练数据集获取最大主成分分量,计算训练数据集中的数据向量到最大主成分分量的投影距离,取出该计算值中的最大值作为门限值,根据该门限值判断新到达的数据是否为异常数据。下表给出了本方案中主要使用的符号,方便理解:

2.1异常检测模型建立

假设节点si在m个时间窗口中能够获得ni个数据向量,记做xi(ni)如式(1)所示:

xi(ni)=(xi(1),xi(2),…,xi(ni))t(1)

,其中每个数据向量xi(k)是一个d维的向量,其中d代表的是监测数据的属性个数。首先,si将xi(ni)标准化为[0,1]区间的数值,然后计算以列为中心的矩阵:

,其中是由xi(ni)每一列的均值构成的向量,eni=(1,1,1,…1)是一个长度为ni的单位向量,矩阵xi(ni)的主成分分量(pcs)由奇异值(svd)分解得到:

,其中代表xi(ni)矩阵的主成分分量构成的矩阵,λi(ni)代表的是由xi(ni)的特征值构成的对角矩阵,其中特征值按照从大到小的顺序排列。第一主成分分量记做:然后节点si计算每个数据向量xi(k)∈xi(ni)到第一主成分分量的距离,如图2所示:

所有数据向量到第一主成分分量的最大距离值定义为最后,每个节点使用三元组建立各自的异常数据检测模型。异常检测模型的伪代码如下:

2.2异常数据检测

充分利用传感器节点之间的数据相关性,每个节点都能够很好的检测异常数据。检测阶段分为局部检测和全局检测。初始化阶段,每个传感器节点通过它在m个时间窗口中获得的正常数据计算最大主成分分量和最大投影距离di(max)。接着,每个节点将它的最大投影距离di(max)广播到其相邻的簇头节点中,簇头节点根据各个节点发送的最大投影距离di(max)计算全局最大投影距离dl(global),通常情况下该全局最大投影距离取的是各个节点最大投影距离的中位数。当一个新的数据向量xi(t)达到节点si,节点i首先根据其三元组计算当前数据向量到第一主成分的距离di(c),然后比较di(c)和di(max)。如果di(c)<=di(max),那么当前数据向量被认为是一个正常的数据,否则的话,该数据向量被标记为可疑数据,并将其di(c)发送到簇头节点中和dl(global)进行比较,如果di(c)>dl(global),那么xi(t)最终被认为是一个异常数据,否则将其可疑标记去除,认为其是一个正常数据。因此,最终的异常数据判别函数如式5所示:

,根据(5)式判别,如果f(x)的最终结果等于-1,那么该数据被认为是一个异常数据。异常数据检测的伪代码如下:

2.3异常数据源检测

区分是何种原因引起了网络中的异常数据是一项非常重要的工作。无线传感器网络中,引起数据异常的原因主要包括以下几种:噪声和内部错误、真实的事件发生和恶意攻击。本方案着重讨论如何区分异常数据是由简单的噪声或者内部错误引起还是由真实事件导致。主要思路如下:一旦节点si侦测到某个数据是异常数据并通知给簇头节点,簇头节点立即从各个非簇头节点中收集当前到达的数据向量的投影距离di(c),计算将该计算值和dl(global)比较。如果那么当前网络中有真实的事件发生(比如森林火灾发生时,会有一大批异常数据同时发生)否则当前的异常数据只是由单纯的噪声或者内部错误引起的。

异常数据源的检测算法流程如下:

3、异常数据检测模型的更新

随着无线传感器网络部署环境的变化,监测数据实时变化,所以异常数据检测模型需要进行实时的更新。令t代表当前的时间窗口,为了更新dl(global),每个传感器节点都需要根据当前时间窗口的前m个时间窗口中的正常数据重新计算di(max)。具体的数据模型更新过程如图3所示。异常数据检测模型的更新,能有效的提高异常数据的检测效率,该方案的核心思想是减少对旧数据的依赖性,根据实时的数据来提高模型的精确性。

4、性能评估

本方案在已有的pca分布式检测方案的基础上,旨在提高检测模型的可靠性。在无线传感器网络中,通常选取两个指标来衡量检测模型的性能,即:异常数据的检测率(detectionrate,dr),误报率(falsealarmrate,far)。异常数据的检测率指的是检测模型检测到的异常数据占总的异常数据的比例,误报率指的是检测模型将正常的数据误判为异常数据的比例,异常数据的检测率越高,误报率越低,检测模型的性能就越高好。

在本方案中,使用两种数据集来分析异常检测模型的性能,并将该方案同已有的pca分布式检测方案和集中式检测方案做出比较。

4.1拟合的数据集

采用三维数据集来进行仿真,每个维度的数据值服从高斯分布,方差为0.03,均值为(0.3,0.35,0.4)中的随机值。每个节点中的异常数据定义为某个维度上的数据值服从均匀分布,取值范围在[0.5,0.7]。选取四个时间窗口中的正常数据来训练异常检测模型,接着在每个时间窗口中选取200个正常数据值和50个异常数据值,分析每一个时间窗口中,检测模型的异常数据检测率和误报率。拟合的数据集合如图4所示,实验的结果如图5所示。

由图5分析可得,在各个时间窗口中,异常检测模型的误报率平均值约为1.5%,检测率约为95%。这在绝大部分的应用场景中已经能够满足需求,这也充分体现了本方案中所提出的双重检测机制和检测模型更新带来的优势。

4.2ibrl数据集

英特尔伯克利实验室采集的传感器数据集(ibrl)是评估无线传感器网络中异常数据检测模型性能的主要数据源。该网络测量的数据包括:环境温度,湿度,光照强度和电压。该网络每隔31秒收集一次数据,使用2004年2月28号的数据进行仿真。

由于ibrl采集的数据值都是正常值,为了分析异常检测模型的性能,需要对这些数据加上噪声,模拟异常数据,这也是绝大多数研究中采用的方法。使用信噪比(snr)来衡量噪声的强度,在snr为20db的时候,对不同时间窗口到达的数据进行检测,比较不同方案下模型的异常数据检测率如图6所示。为了着重比较不同方案的误报率,以snr为变量,讨论不同方案下模型的误报率如图7所示。

图6的结果说明了本方案所采用的异常检测模型能在实际场景中取得很好的效果,它能够达到近乎98%的异常数据检测率,比已提出的分布式pca方案和集中式分布方案达到的效果更好。另一方面,从图7可以看出,通过本方案提出的双重检测机制和模型更新策略,该检测模型能够有效的降低异常数据的误报率,比已经提出的分布式和集中式pca方案更加的可靠。综上所述,本方案在继承原有pca异常检测模型优点(计算简单、只需正常数据训练模型)的基础上,提高了模型的异常数据检测率、降低了误报率,该方案的可靠性更高,更加适合于实际场景。

以上详细描述了本发明的优选实施方式,但是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内进行修改或者等同变换,均应包含在本发明的保护范围之内。

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