首页> 中国专利> 一种无线传感器网络半监督在线异常检测方法

一种无线传感器网络半监督在线异常检测方法

摘要

本发明公开了一种无线传感器网络半监督在线异常检测方法,属于无线传感器网络数据可靠性技术领域。所述方法通过综合时空相关性和双检验机制的无线传感器网络半监督在线异常检测方法,解决了有监督学习异常检测算法需要完善的有标注数据集、无监督学习异常检测算法只适合检测统计异常、半监督学习异常检测算法对分布不均匀数据分类效果差的的问题,达到了利用少量有标注数据训练模型并在在线检测阶段异常检测准确度高,并且,本申请所提出的K‑means模型更新算法可以有效提高现有异常检测模型的检测准确度。

著录项

  • 公开/公告号CN112288034A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 江南大学;

    申请/专利号CN202011307249.9

  • 发明设计人 李光辉;唐海贤;

    申请日2020-11-19

  • 分类号G06K9/62(20060101);G06N3/04(20060101);

  • 代理机构23211 哈尔滨市阳光惠远知识产权代理有限公司;

  • 代理人林娟

  • 地址 214000 江苏省无锡市滨湖区蠡湖大道1800号

  • 入库时间 2023-06-19 09:44:49

说明书

技术领域

本发明涉及一种无线传感器网络半监督在线异常检测方法,属于无线传感器网络数据可靠性技术领域。

背景技术

无线传感器网络经常被于环境监测领域,传感器节点需要不间断地采集环境参数,形成随时间变化的传感器数据流。受监测环境、通信信道或传感器节点本身等多方面因素的影响,传感器节点采集到的原始数据流不可避免地存在缺失、数据异常等问题,而这些问题通常意味着所监测环境发生异常事件或者部分传感器节点发生异常问题。

传感器数据流的异常检测是为了及时发现数据流中与正常模式有明显差异的数据。检测到异常数据之后,便可以实现对环境事件的实时报警、异常数据修复、节点故障修复等应用。因此,传感器数据流的异常检测对于监测系统的可靠性保障和管理部门的决策支持均有重要意义。

数据流的异常检测是数据科学中非常重要的一方面。近年来,已经有大量的研究者利用机器学习方法提取数据流(比如传感器数据流)的特征来进行数据流的异常检测。异常检测算法按照是否需要人工标注好的数据集,可分为有监督学习异常检测算法、无监督学习异常检测算法以及半监督学习异常检测算法。

其中,有监督学习异常检测算法可以有效利用环境监测数据流的时空特性,对各种异常都有高的检测准确率,但是需要提前人工标注数据,而实际应用中难以获取有效的有标注数据集;无监督学习异常检测算法不需要提前标注数据,但是有很大的局限性,只适合检测统计异常;而半监督学习异常检测算法可以利用少部分有标注数据集来训练模型并检测无标签数据,并可以将置信度高的无标签数据加入训练集,一起训练模型,是一种迭代的过程,适合用来进行在线检测。但是目前的半监督分类模型对于数据分布不均衡的数据(如异常检测数据集)的检测效果差,难以评估。

发明内容

为了解决现有的半监督学习异常检测算法对数据分布不均衡的监测数据检测效果差的问题,本发明提供了一种综合时空相关性和双检验机制的无线传感器网络半监督在线异常检测方法,综合时空相关性和双检验机制实现在线异常检测,充分利用了无线传感网络数据流的时空特征,不需要提前准备完善的有标注数据集,并且可以自动适应新的异常种类,即使数据分布不均衡也能够获得较好的检测结果。

一种无线传感器网络半监督在线异常检测方法,所述方法包括:

S1获取待检测的无标记的传感器网络数据,构成无标注数据集;

S2利用预训练好的时空特征提取模型获取无标注数据集中的数据的分类标签Y

S3根据S2得出的分类标签Y

S4若S3的判断结果为无需更新,则直接输出分类标签Y

S5若S3的判断结果为需要更新,则生成新的训练数据训练时空特征提取模型中的LSTM模型,不断迭代至获取到的分类标签Y

可选的,所述S2中利用预训练好的时空特征提取模型获取无标记数据集中的数据的分类标签Y

使用卷积神经网络CNN模型提取数据的空间特征;

将提取出的空间特征输入长短时记忆网络LSTM模型的LSTM层提取相应的时间特征;

将提取出的时间特征和空间特征输入长短时记忆网络的全连接层,对数据进行分类,得到分类标签Y

可选的,所述S2中利用K-means获取无标注数据集中的数据对应K-means的分类标签Y

将无标注数据集中的数据聚类为4个簇C={c

将4个簇中数据量最少的簇c

可选的,各聚类中心到其余聚类中心的合向量的模vm

其中cp

可选的,所述S3根据S2得出的分类标签Y

根据下式计算分类标签Y

其中W

可选的,所述S5包括:

S51依据分类标签Y

S52将分类所得标签Y

S53利用K-means算法对不可信数据以k=2进行再次聚类,并将聚类所得簇中,数据量少的认定为异常簇,数据量多的认定为正常簇,并对其进行标注;

S54将步骤53中标注好的数据依据数据的时间戳合并,作为新的有标注数据集;

S55将步骤54得到的新的有标注数据集中的数据输入CNN模型提取对应的空间特征,并将提取到的空间特征作为LSTM网络的输入;

S56利用反向传播不断更新LSTM网络的参数,直到LSTM网络的输出经全连接层以及Softmax分类器得到的分类结果同原始有标注数据误差小于分类误差的预定阈值时,结束迭代;若迭代次数超过20次,结束迭代;

S57输出此时得到的分类标签Y

可选的,所述S1中预训练好的时空特征提取模型的训练过程为:

预采集传感器网络数据流数据,并对数据进行标注,将预采集到的数据中数值符合规律的数据,标注为正常数据,标签为0;将数值突变、与正常数据变化趋势不同的数据,标注为异常数据,标签为1,得到用于训练时空特征提取模型的有标注数据集;所述传感器网络数据流数据为待检测的无线传感器网络;

利用有标注的数据集对时空特征提取模型进行预训练,获取预训练模型,即预训练好的时空特征提取模型。

可选的,所述获取预训练模型,包括:

使用卷积神经网络提取有标注数据集中的数据的空间特征;

将提取出的空间特征输入长短时记忆网络中的LSTM层提取相应的时间特征;

将提取出的时间特征和空间特征输入长短时记忆网络的全连接层,对数据进行分类;

利用反向传播更新预训练模型的模型参数,得到预训练模型,即预训练好的时空特征提取模型。

可选的,所述利用反向传播更新预训练模型的模型参数,得到预训练模型,包括:

利用平均交叉熵作为预训练模型的损失函数;

利用实际标签y与预测标签y′计算交叉熵H

其中y′

损失函数为:loss=H

本申请还提供一种基于无线传感器网络的环境监测方法,所述方法采用上述无线传感器网络半监督在线异常检测方法对传感器采集到的数据进行异常检测,根据异常检测结果判断环境监测结果;所述传感器采集到的数据包括环境温度、湿度、光照强度及传感器电压。

本发明有益效果是:

通过综合时空相关性和双检验机制的无线传感器网络半监督在线异常检测方法,解决了有监督学习异常检测算法需要完善的有标注数据集、无监督学习异常检测算法只适合检测统计异常、半监督学习异常检测算法对分布不均匀数据分类效果差的的问题,达到了利用少量有标注数据训练模型并在在线检测阶段异常检测准确度高,并且,本申请所提出的K-means模型更新算法可以有效提高现有异常检测模型的检测准确度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例中无线传感器网络数据流在线异常检测方法的流程图。

图2(a)-图2(d)为本发明一个实施例中CNN、LSTM、C-LSTM、CKM、LKM、C-LKM算法在各时间段上对应不同异常值数量占比的F1分数仿真结果图;

其中图2(a)为在异常值数量占比为1%的数据集上,各算法在各时间段上的F1分数;

图2(b)为在异常值数量占比为2%的数据集上,各算法在各时间段上的F1分数;

图2(c)为在异常值数量占比为5%的数据集上,各算法在各时间段上的F1分数;

图2(d)为在异常值数量占比为10%的数据集上,各算法在各时间段上的F1分数。

图3(a)-图3(d)为本发明一个实施例中CNN、LSTM、C-LSTM、CKM、LKM、C-LKM算法在各时间段上对应不同异常值数量占比的召回率仿真结果图;

其中图3(a)为在异常值数量占比为1%的数据集上,各算法在各时间段上的召回率;

图3(b)为在异常值数量占比为2%的数据集上,各算法在各时间段上的召回率;

图3(c)为在异常值数量占比为5%的数据集上,各算法在各时间段上的召回率;

图3(d)为在异常值数量占比为10%的数据集上,各算法在各时间段上的召回率。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一:

本实施例提供一种无线传感器网络半监督在线异常检测方法,参见图1,所述方法包括:

一、预训练阶段:利用待检测的传感器网络数据训练已有的时空特征提取模型,获取相应的模型参数。其中传感器网络数据即为无线传感网络中的传感器采集的数据;比如,如果是利用无线传感网络进行环境监测,则传感器网络数据即为传感器采集的环境的温度、湿度、光照强度以及传感器自身的电压。具体的,预训练过程包括:

步骤1:预采集传感器网络数据流,并对数据进行标注。

将预采集到的数据中数值符合规律的数据,标注为正常数据,标签为0;将数值突变、与正常数据变化趋势不同的数据,标注为异常数据,标签为1;得到有标注的数据集。

步骤2:利用有标注的数据集对时空特征提取模型进行预训练,获取预训练模型。

步骤21:使用卷积神经网络(CNN)提取数据的空间特征;

步骤22:将提取出的空间特征输入长短时记忆网络(LSTM)中的LSTM层提取相应的时间特征;

步骤23:将提取出的时间特征和空间特征输入长短时记忆网络(LSTM)的全连接层,对数据进行分类;

时空特征提取模型中的卷积神经网络(CNN)包含两个卷积层,两个最大池化层,每一个卷积层都包含64个大小为[5,5]的卷积核,以步长为1进行卷积,利用tanh函数作为激活函数,每个卷积层后接一个最大池化层,卷积和池化的操作均不使用数据填充(padding)。

长短时记忆网络(LSTM)包含两个LSTM层和两个作为分类器的全连接层。其中两个LSTM层每层包含64个节点;分类器包含两个全连接层,第一个全连接层包含32个节点,利用tanh函数作为激活函数,第二个全连接层包含2个节点,最后利用softmax函数获取最终的分类标签;

步骤24:利用反向传播更新预训练模型的模型参数,即得到待检测的传感器网络数据对应的时空特征提取模型的模型参数。

具体的,利用平均交叉熵作为预训练模型的损失函数。

利用实际标签y与预测标签y′计算交叉熵H

其中y′

由交叉熵函数可知,预测标签越准确,交叉熵越小。

损失函数为:loss=H

二、在线检测过程:将预训练得到的时空特征提取模型参数应用于在线异常检测方法中,实现对于待检测的传感器网络数据的异常检测。具体的,在线检测过程包括:

步骤3:利用时空特征提取模型获取新数据的分类标签Y

同时利用K-means获得新数据的K-means的分类标签Y

步骤31将无标注的传感器数据聚类为4个簇C={c

步骤32:将4个簇中数据量最少的簇c

若存在多个数据量最小的簇,则计算各聚类中心到其余簇聚类中心的合向量的模Vector

据此,获取新的簇的集合{C

其中各聚类中心cp

步骤4:对比时空特征提取模型获取的新数据的分类标签Y

如果分类误差低于预定阈值,则判定时空特征提取模型获取的新数据的分类标签准确,可以直接输出;否则判定时空特征提取模型获取的新数据的分类标签不准确,时空特征提取模型需要进行调整。

分类误差ε是指,Y

其中W

步骤5:如果需要调整时空特征提取模型参数,则生成新的有标注数据集,并对模型进行更新。

步骤51:依据时空特征提取模型获取的新数据的分类标签Y

步骤52:认定分类所得标签Y

步骤53:利用K-means算法对不可信数据以k=2进行再次聚类,并将聚类所得簇中,数据量少的认定为异常簇,数据量多的认定为正常簇,并对其进行标注;

步骤54:将步骤53中标注好的数据依据数据的时间戳合并,作为新的有标注数据集;

步骤55:将步骤54得到的新的有标注数据集中的数据输入预训练的CNN提取数据的空间特征,并将提取好的特征作为LSTM网络的输入;

步骤56:利用反向传播不断更新LSTM网络的参数,直到LSTM网络的输出经全连接层以及Softmax分类器分类结果同原始有标注数据误差小于分类误差的预定阈值时,结束迭代;若迭代次数超过20次,结束迭代。

步骤6:输出新采集数据的分类标签,得出异常检测的结果。

为验证本申请提出的半监督在线异常检测(C-LKM)方法对于数据分布不均衡的数据(如异常检测数据集)的检测效果,特进行仿真实验,如下所述:

本申请选择在真实的数据集Berkeley datasets中检验本申请方法的检测性能。

英特尔实验室数据集收集自2004年2月28日至4月5日期间部署在英特尔伯克利研究实验室的54个Mica2Dot传感器。每个节点每31秒收集一次相对湿度、温度、光照和电压值。

本实施例实验数据为31号节点前40000组数据,忽略长时间丢失数据的情况,并对其余缺失值使用线性插值法进行补齐,取补齐后数据的前60000组数据作为实验数据集,并默认此数据集不存在异常值。之后,对数据插入异常点。随机选取一定比例的正常时刻,将其四个属性值改为异常值。

异常值计算方法为,以随机选取的异常点为中心,以15为时间窗口,计算该时间窗口内各属性的均值

其中m为计算机生成的随机数,m为正整数,r

实验中,分别向IBRL_31数据集中插入1%、2%、5%、10%的异常点,获取四组异常占比分别为1%、2%、5%、10%的有标注数据集。取每组前5000组数据做训练集,预训练时空特征提取模型。

实验将本申请提出的C-LKM(CNN-LSTM-K-means)方法与传统卷积神经网络CNN、长短时记忆网络LSTM、C-LSTM,以及使用了K-means模型更新算法的CKM(CNN-K-means)、LKM(LSTM-K-means)方法做对比。

本实验将异常检测作为二分类问题进行解决,最终分类结果为:异常P、正常N。对于二分类问题,将最终分类结果划分为:真正例TP(True Positive)、假正例FP(FalsePositive)、真反例TN(True Negative)、假反例FN(False Negative),其中正例P为异常数据,反例N为正常数据。异常检测数据集存在正反例占比不均的问题,为准确反映各对比模型的异常检测性能,采用召回率Recall、准确率Accuracy、F1-Score作为算法的评价指标。

Recall=TP/(TP+FN)

Accuracy=(TP+TN)/(P+N)

实验结果如图2所示。

上述方法中,CNN算法可参考:Napoletano P,Piccoli F,Schettini R.Anomalydetection in nanofibrous materials by cnn-based self-similarity[J].Sensors,2018,18(1):209.

LSTM算法可参考:Hochreiter S,Schmidhuber J.Long Short-Term Memory[J].Neural computation,1997,9(8):1735-1780.

C-LSTM算法可参考:Kim T-Y,Cho S-B.Web Traffic Anomaly Detection UsingC-LSTM Neural Networks[J].Expert Systems with Applications,2018,106:66-76.

根据图2和图3所示的试验结果可知:

本申请提供的C-LKM方法较C-LSTM方法在F1-Score和召回率上有明显提升。当异常占比为1%时,C-LKM在每一段测试集上的F1-Score最高为0.942,召回率最高为0.983,在全部55000组数据上的F1-Score均值为0.939,召回率均值为0.954。当异常占比为2%时,C-LKM在每一段测试集上的F1-Score最高为0.956,召回率最高为0.989,在全部55000组数据上的F1-Score均值为0.948,召回率均值为0.949。当异常占比为5%时,C-LKM在每一段测试集上的F1-Score最高为0.968,召回率最高为0.980,在全部55000组数据上的F1-Score均值为0.965,召回率均值为0.964。当异常占比为10%时,C-LKM在每一段测试集上的F1-Score最高为0.976,召回率最高为0.977,在全部55000组数据上的F1-Score均值为0.970,召回率均值为0.954。

综上可知,本申请提出的C-LKM方法在面对数据分布极度不均匀的情况(上述实验数据中,异常占比只为1%、2%、5%、10%),相较于其他对比算法,本申请提供的C-LKM算法提升了异常点检测准确度。

对比未使用K-means模型更新算法的原算法,使用K-means模型更新算法之后,模型在各区间上的F1-Score和召回率均获得明显提升,其中,K-means模型更新算法对CNN以及LSTM算法提升最明显。这是由于单独的CNN无法有效提取传感器数据流的时间特征,单独的LSTM算法无法有效提取传感器数据流的空间特征,这导致预训练期间,他们的模型无法有效拟合。随着输入数据增加,K-means模型更新算法可以利用新获取的传感器数据继续训练预训练模型,帮助模型进一步拟合,从而提升模型异常检测效果。C-LSTM算法本身已经可以有效提取传感器数据流的时空特征,在预训练阶段已经获得了较好的拟合效果,但是由于训练集数量较少,只有5000组数据,并且训练集异常占比低,数据分布极度不均匀,异常种类不全,导致模型并未完全拟合。因此检测结果没有本申请方法好。

本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号