基于加权混合孤立森林的无线传感网络异常数据检测方法与流程

文档序号:15878844发布日期:2018-11-09 17:30阅读:245来源:国知局
基于加权混合孤立森林的无线传感网络异常数据检测方法与流程

本发明涉及无线传感器网络数据可靠性领域,特别是涉及基于加权混合孤立森林的无线传感网络异常数据检测方法。

背景技术

数据作为无线传感网络中的载体,通常都有很多有用的信息,尤其是异常数据中潜在更多信息的暗示(除去节点本身故障),因此,想要了解各类事物的变化规律,就必须通过各种异常检测技术找出异常数据,并通过它们获取对我们有帮助的信息知识。在各领域异常检测技术作为近年较为深入研究的问题,无线传感器网络独特的特点及严格的约束条件使得该问题的研究更具有挑战性。针对无线传感器网络中异常数据的检测问题,目前已有很多种方法,按检测手段可分为基于统计学原理、基于近邻、基于聚类、基于分类以及基于谱分解的方法。此外,按照传感器网络体系结构异常检测技术又可以分为集中式的和分布式的。

f.t.liu等人提出的孤立森林算法在数据异常检测中具有广泛应用,该算法主要是通过对历史数据集构建孤立树集成模型,并以测试样本的平均搜索深度计算其异常分值s(y),对当前检测样本集的异常分值降序排列并取前一定数目的样本作为检测出来的异常值,从而决定其异常与否。该方法的优点是原理简单、算法复杂度较低且检测精度理想,但其对于一些凹面数据集的异常检测适用性较低,并且忽略了森林中各棵树对最终异常分值的计算所给予的贡献应当不同,该方法在无线传感器网络异常数据检测应用中尚未见到。

现有技术文献如下:

f.t.liu,k.m.tingandz.h.zhou,isolation-basedanomalydetection,tkdd,2011.

aryals,kaimt,wellsjr,etal.improvingiforestwithrelativemass[c]//pacific-asiaconferenceonknowledgediscoveryanddatamining.springer,cham,2014:510-521.

marteaupf,soheily-khahs,béchetn.hybridisolationforest-applicationtointrusiondetection[j].2017.



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于加权混合孤立森林的无线传感网络异常数据检测方法,该方法利用传感器节点采集的历史数据集,首先以孤立森林算法为基础构造一定规模的孤立树集合iforest,在其各叶子节点上引入待测样本与其各类样本中心的距离信息,并结合多样性度量对孤立树进行权值系数的设定,最终利用改进的孤立森林算法对无线传感网络数据异常情况进行判定。通过对各传感器节点数据集进行实验,结果表明,本发明提出的算法提高了异常检测的精度,具有广阔的应用前景。

一种基于孤立森林的异常数据检测方法,包括:

步骤1:以数据集中训练数据集构建whiforest中的子模型即孤立树,包括参数bootstrap采样数ψ、森林规模大小t、权值系数阈值μ、验证样本集val_w大小和已知异常样本添加率ratio的设定;

步骤2:随机选取少量已知异常样本加入到已经训练完毕的itrees中;

步骤3:计算每棵树的叶子结点中的训练样本中心cen-s,以及每个待测样本x在叶节点中与上述的cen-s间的距离,将其在森林中的每棵树的均值记作sc(x);

sc(x)=e(δ(x))

步骤4:在其叶子结点中计算异常样本中心cen-a(若某些叶节点无异常样本,则记为0),并计算每个待测样本x在叶节点中与上述的cen-a间的距离记作δa(x),并将δ(x)和δa(x)在所有孤立树中均值的比值记作sa(x);

步骤5:根据历史采集的数据集选取一定数目的样本val-w,并使用whiforest对其检测,结合集成学习中基分类器多样性的思想,通过不合度量对森林中孤立树间的多样性进行计算,得到一个对角为0的n*n对称矩阵diversity;

步骤6:对所述diversity矩阵按列求和并按森林规模大小t作商得到b,此刻将b中值与阈值μ比较,权值设置如下所示;

步骤7:设定b中值大于等于μ的树的权值w1=b(index)+1,小于μ的树的权值w2=1-b(index),对后边用到的几个变量都乘以w1和w2,以下式计算sc(x)和sa(x)

δ(x)=w*δ(x)

δa(x)=w*δa(x)

步骤8:将当前数据窗口内样本的原始score分值以及目前引入的基于距离的2个分值即{score,sa(x),sc(x)}进行归一化处理,使用的归一化公式如下所示,

其中s(x)代指的就是上述3个分值,为归一化后的值,最终以下式融合3个分值得到最终的窗口样本异常分值sfinal;

步骤9:降序排列sfinal,根据领域知识或参考原先数据集已知的异常数目比例ratio,得到异常分值最高的一定数目的数据样本,再和待测数据样本标记对比,计算检测率以及误报率相关评价指标;

步骤10:若节点检测到数据窗口内有异常样本,则将其所属顺序编号传递到簇头节点,进行下一步的验证或处理。

一种基于加权混合孤立森林的无线传感网络异常数据检测方法,包括:

步骤1:对传感器节点采集所得的历史数据集进行划分,分别为训练集和测试集;

步骤2:利用训练集通过孤立森林模型的训练得到iforest模型;

步骤3:对所得所述iforest模型手动添加少量已知异常样本,并利用权利要求1所述的基于孤立森林的异常数据检测方法建立whiforest模型;

步骤4:对于各分布节点,当有一定数量的新样本进入数据窗口内时,使用已经训练好的所述whiforest模型对这些新数据进行检测得到异常分值并判断数据是否异常;

步骤5:若步骤4中存在样本异常,则将节点对数据的检测结果传递给簇头节点,以便执行进一步的后续操作。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现任一项所述方法的步骤。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。

上述基于加权混合孤立森林的无线传感网络异常数据检测方法,该方法利用传感器节点采集的历史数据集,首先以孤立森林算法为基础构造一定规模的孤立树集合iforest,在其各叶子节点上引入待测样本与其各类样本中心的距离信息,并结合多样性度量对孤立树进行权值系数的设定,最终利用改进的孤立森林算法对无线传感网络数据异常情况进行判定。通过对各传感器节点数据集进行实验,结果表明,本发明提出的算法提高了异常检测的精度,具有广阔的应用前景。

附图说明

图1为本申请实施例提供的一种基于孤立森林的异常数据检测方法的流程示意图。

图2为基于加权混合孤立森林的无线传感网络异常数据检测方法中的agd数据集示意图之一。

图3为基于加权混合孤立森林的无线传感网络异常数据检测方法中的agd数据集示意图之二。

图4为基于加权混合孤立森林的无线传感网络异常数据检测方法中的传统iforest模型的异常分值图。

图5为基于加权混合孤立森林的无线传感网络异常数据检测方法中的whiforest模型的异常分值图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参阅图1,一种基于孤立森林的异常数据检测方法,包括:

步骤1:以数据集中训练数据集构建whiforest中的子模型即孤立树,包括参数bootstrap采样数ψ、森林规模大小t、权值系数阈值μ、验证样本集val_w大小和已知异常样本添加率ratio的设定;

步骤2:随机选取少量已知异常样本加入到已经训练完毕的itrees中;

步骤3:计算每棵树的叶子结点中的训练样本中心cen-s,以及每个待测样本x在叶节点中与上述的cen-s间的距离,将其在森林中的每棵树的均值记作sc(x);

sc(x)=e(δ(x))

步骤4:在其叶子结点中计算异常样本中心cen-a(若某些叶节点无异常样本,则记为0),并计算每个待测样本x在叶节点中与上述的cen-a间的距离记作δa(x),并将δ(x)和δa(x)在所有孤立树中均值的比值记作sa(x);

步骤5:根据历史采集的数据集选取一定数目的样本val-w,并使用whiforest对其检测,结合集成学习中基分类器多样性的思想,通过不合度量对森林中孤立树间的多样性进行计算,得到一个对角为0的n*n对称矩阵diversity;

步骤6:对所述diversity矩阵按列求和并按森林规模大小t作商得到b,此刻将b中值与阈值μ比较,权值设置如下所示;

步骤7:设定b中值大于等于μ的树的权值w1=b(index)+1,小于μ的树的权值w2=1-b(index),对后边用到的几个变量都乘以w1和w2,以下式计算sc(x)和sa(x)

δ(x)=w*δ(x)

δa(x)=w*δa(x)

步骤8:将当前数据窗口内样本的原始score分值以及目前引入的基于距离的2个分值即{score,sa(x),sc(x)}进行归一化处理,使用的归一化公式如下所示,

其中s(x)代指的就是上述3个分值,为归一化后的值,最终以下式融合3个分值得到最终的窗口样本异常分值sfinal;

步骤9:降序排列sfinal,根据领域知识或参考原先数据集已知的异常数目比例ratio,得到异常分值最高的一定数目的数据样本,再和待测数据样本标记对比,计算检测率以及误报率相关评价指标;

步骤10:若节点检测到数据窗口内有异常样本,则将其所属顺序编号传递到簇头节点,进行下一步的验证或处理。

一种基于加权混合孤立森林的无线传感网络异常数据检测方法,包括:

步骤1:对传感器节点采集所得的历史数据集进行划分,分别为训练集和测试集;

步骤2:利用训练集通过孤立森林模型的训练得到iforest模型;

步骤3:对所得所述iforest模型手动添加少量已知异常样本,并利用权利要求1所述的基于孤立森林的异常数据检测方法建立whiforest模型;

步骤4:对于各分布节点,当有一定数量的新样本进入数据窗口内时,使用已经训练好的所述whiforest模型对这些新数据进行检测得到异常分值并判断数据是否异常;

步骤5:若步骤4中存在样本异常,则将节点对数据的检测结果传递给簇头节点,以便执行进一步的后续操作。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现任一项所述方法的步骤。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。

上述基于加权混合孤立森林的无线传感网络异常数据检测方法,该方法利用传感器节点采集的历史数据集,首先以孤立森林算法为基础构造一定规模的孤立树集合iforest,在其各叶子节点上引入待测样本与其各类样本中心的距离信息,并结合多样性度量对孤立树进行权值系数的设定,最终利用改进的孤立森林算法对无线传感网络数据异常情况进行判定。通过对各传感器节点数据集进行实验,结果表明,本发明提出的算法提高了异常检测的精度,具有广阔的应用前景。

下面介绍一下本申请的一个具体应用场景:

本文通过对孤立森林算法的改进,提出了一种基于whiforest的无线传感网络异常数据检测算法。不同于孤立森林算法,该方法首先以孤立森林算法为基础首先构造一定规模的孤立树集合iforest,在其各叶子节点上引入待测样本与其各类样本中心的距离信息,并结合多样性度量对孤立树进行权值系数的设定,最终利用改进的孤立森林算法对无线传感网络数据异常情况进行判定。为进一步阐明方法的原理和创新之处,首先介绍一些基本概念。

1、检测率,指算法检测到的异常数据样本数与数据集中实际所含异常数据样本总数之比。

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

3、数据窗口,在执行异常检测时,通常会选取最近一个时间段内的数据,对传感器数据取固定长度的滑动窗口作为一个数据块进行检测处理。

4、孤立树构建终止条件,样本不可再分,即只包含一条数据值或数据样本完全相同或孤立树的深度达到最大值log(ψ),其中ψ为根节点数据采样数。

5、搜索路径深度,表示数据样本x在孤立树上的路径长度,其中t.size表示训练时与x落在同一叶子节点的样本数目,e代表的是样本x从根节点到叶子节点所经过的边的个数。

h(x)=e+c(t.size)

6、二叉树的平均路径长度,是以一定数目的数据构建的二叉树的平均路径长度。其中,h(n-1)可用ln(n-1)+0.5772156649估算,后边一项为欧拉常数e。

7、检测异常分值,待测数据样本的最终异常分值score(x),由数据x的路径长度均值e(h(x))和以采样数ψ构建的树的平均搜索路径长度c(ψ)归一化得到。

本专利提出的方法主要思想及创新之处如下:

应对目前大规模无线传感网络的异常数据检测,本专利提出了一种基于whiforest的无线传感网络数据异常检测方法。本文方法利用传感器节点采集的部分历史数据,以孤立森林算法为基础首先构造一定规模的孤立树集合iforest,并于各叶子节点上引入待测样本与其各类样本中心的距离信息,通过选取的验证集val-w对已有孤立树集成模型iforest进行评价,通过计算不合度量等信息对各棵孤立树添加权值系数w,本发明的算法提高了检测率,并降低了误报率。

1.总体实施方案

s1:对传感器节点采集所得的历史数据集进行划分,分别为训练集和测试集。

s2:利用训练集通过孤立森林模型的训练得到iforest模型。

s3:对s2中所得模型手动添加少量已知异常样本,并基于孤立树叶节点的两类距离信息融合森林中多样性计算所得的权值系数建立whiforest模型。

s4:对于各分布节点,当有一定数量的新样本进入数据窗口内时,使用已经训练好的whiforest模型对这些新数据进行检测得到异常分值并判断数据是否异常。

s5:若s4中存在样本异常,则将节点对数据的检测结果传递给簇头节点,以便执行进一步的后续操作。

1、基于whiforest的异常值检测方法

在异常检测中,比如环境检测领域通常会有一些异常数据记录在档,这样做一方面可以提高检测算法的效率,另一方面也有助于提高算法发现类似新异常值的检测能力。本发明通过向已构建的itrees中加入少量随机选取的已知异常值,由于无线传感器网络数据异常值的出现并无特定规律,如果传感器采集到的无线传感网络数据的异常值持续、频繁出现,且当数据呈凹面分布时,孤立森林的异常检测方法并不能有效地检测出异常值。为了解决此问题,提出了一种基于加权混合孤立森林(weightedhybridisolationforest)的无线传感网络异常数据检测方法。在此,首先分别给出待测数据样本与孤立树叶结点中正常、异常数据样本中心的距离信息(即sc(x)和δa(x))这两个定义。

whiforest算法的流程图如图1所示,大致步骤如下

首先使用训练集进行孤立森林模型的训练。

以下简要说明whiforest算法的基本步骤。

步骤1:以历史传感器数据集中训练数据集构建whiforest中的子模型即孤立树,包括参数bootstrap采样数ψ、森林规模大小t权值系数阈值μ、验证样本集val_w大小、已知异常样本添加率ratio等参数的设定。

步骤2:随机选取少量已知异常样本加入到已经训练完毕的itrees中,其伪代码如下所示。

步骤3:计算每棵树的叶子结点中的训练样本中心cen-s,以及每个待测样本x在叶节点中与上述的cen-s间的距离,将其在森林中的每棵树的均值记作sc(x)。

sc(x)=e(δ(x))(4)

步骤4:在其叶子结点中计算异常样本中心cen-a(若某些叶节点无异常样本,则记为0),并计算每个待测样本x在叶节点中与上述的cen-a间的距离记作δa(x),并将δ(x)和δa(x)在所有孤立树中均值的比值记作sa(x),如公式(5)所示。

步骤5:根据历史采集的数据集选取一定数目的样本val-w,并使用whiforest对其检测,结合集成学习中基分类器多样性的思想,通过不合度量对森林中孤立树间的多样性进行计算,得到一个对角为0的n*n对称矩阵diversity。

步骤6:对所述diversity矩阵按列求和并按森林规模大小t作商得到b,此刻将b中值与阈值μ比较,权值设置如公式(6)所示。

步骤7:设定b中值大于等于μ的树的权值w1=b(index)+1,小于μ的树的权值w2=1-b(index)。对后边用到的几个变量都乘以w1和w2,以公式(7)和(8)计算sc(x)和sa(x)

δ(x)=w*δ(x)(7)

δa(x)=w*δa(x)(8)

步骤8:将当前数据窗口内样本的原始score分值以及目前引入的基于距离的2个分值即{score,sa(x),sc(x)}进行归一化处理(使用的归一化公式如下(9)所示,其中s(x)代指的就是上述3个分值,为归一化后的值),最终以公式(10)融合3个分值得到最终的窗口样本异常分值sfinal。

步骤9:降序排列sfinal,根据领域知识或参考原先数据集已知的异常数目比例ratio,得到异常分值最高的一定数目的数据样本,再和待测数据样本标记对比,计算检测率以及误报率相关评价指标。

步骤10:若节点检测到数据窗口内有异常样本,则将其所属顺序编号传递到簇头节点,进行下一步的验证或处理。

该算法具有两个相对较优的特点:1)若数据集呈图2所示的分布,则由该算法执行检测时,由于在异常分值计算时加入了叶子结点两个中心的距离信息,使得处于正常样本中心的异常点被漏报的概率大大降低,有效地提高了对该类异常值的检测率;2)没有加入权值系数时的算法对于某些数据样本的检测会受到森林中某些相关度较低的孤立树的决策结果的影响,对检测结果也存在一定程度上的负面影响,而whiforest算法则通过不合度量以及权值系数的加入,进一步提高了检测精度并降低了误报率。

本文利用无线传感网络节点所采集的数据流样本,以孤立森林算法为基础,首先构造一定规模的孤立树集合iforest,在其各叶子节点上引入待测样本与其各类样本中心的距离信息,并结合多样性度量对孤立树进行权值系数的设定,最终利用改进的孤立森林算法对wsn单位大小的数据样本集中异常分值降序排列,并结合参数ratio进行异常情况的判定。以下给出该方法在具体数据集中的实施案例。

数据样本来源于英特尔伯克利实验室中所部署的wsn节点所采集的数据(ibrl),该系统包含有54个mica2传感器节点,每个节点的数据采样周期为30s,采集数据特征包含温度、湿度、光照强度以及节点电压4个属性。在此选取25号节点在2004年3月份测得的7500组温度、湿度以及光照强度作为样本数据。其中t表示温度数据矩阵,h表示湿度数据矩阵,l表示光照强度数据矩阵,则有:

t=[19.616,19.449,-19.760,19.145,-16.898,18.933,-14.468,-13.527,-13.390…

29.406,18.606,18.587,18.557,18.538,18.498,18.479,18.479,18.469…

18.302,18.322,18.322,18.322,18.322,18.312,18.302,18.302,18.302….

18.293,18.263,18.244,18.263,18.244,18.234,18.234,18.224,18.214...

17.920,17.930,17.930,17.921,17.901,17.901,17.891,17.891,17.871...

17.861,17.861,17.852,17.842,17.852,17.832,17.832,17.823,17.822…...];

h=[37.573,37.847,22.465,38.394,22.538,38.803,22.685,22.721,22.685…

23.051,39.552,39.552,39.687,39.687,39.755,39.755,39.823,40.026…

40.060,39.959,39.959,39.925,39.959,39.925,39.925,39.959,39.891….

39.959,40.026,40.026,40.026,40.026,39.959,40.026,40.026,40.060...

40.162,40.094,40.094,40.162,40.094,40.094,40.263,40.162,40.196...

40.229,40.229,40.229,40.230,40.2976,40.196,40.229,40.229,40.264…...];

l=[97.52,97.52,0.46,97.52,0.46,97.52,0.46,0.46,0.46…

0.46,97.52,101.2,97.52,97.52,97.52,97.52,101.2,97.52…

97.52,97.52,97.52,97.52,97.52,101.2,97.52,97.52,97.52….

101.2,101.2,101.2,101.2,101.2,101.2,101.2,101.2,101.2...

97.52,97.52,97.52,97.52,101.2,101.2,101.2,97.52,101.2...

101.2,97.52,97.52,97.52,97.52,97.52,97.52,101.2,101.2…...];

将上述t、h以及l组成大小为s行3列的矩阵d,在此将它按3:1拆分成训练数据样本train和测试数据样本test,以train数据集为输入进行孤立森林的训练,并在训练过程中根据领域知识添加少量已知异常样本计算2种距离,接着选取大小为val-w的验证样本集,使用该森林计算每棵树的不合度量值,结合其检测精度以及权值系数阈值为该森林中每棵孤立树设定权值系数。

使用引入了距离信息的森林模型对test数据集执行检测,对当前单位大小size-t个样本的异常分值降序排列,结合ratio,取前size-t*ratio个数据作为当前单位大小样本集中的异常数据;而后续异常分值更低的数据点则为正常值。

为体现该方法在凹面数据集上的优势,另外在人工生成的agd(artificialglobaldataset)数据集上进行了实验,该数据集的属性数目为3,选取的测试数据集大小分别是15000和21000。该数据分布大致为一个中心以及边缘分别存在异常簇的同心球体,如图3所示。本实验中,生成该数据集的基本参数有中心异常簇以及边缘异常簇样本的分布均值和协方差,分别表示为mea-center、mea-edge以及cov-center和cov-edge,具体参数设置如下表所示。

表1:agd数据集具体参数

具体检测流程与上文相同,选取部分测试数据的检测结果可参照图4和图5,可以看出本发明中的算法对中心绿色异常点以及边缘异常点的检测率明显高于传统孤立森林算法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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