CN113645098B - 一种无监督的基于增量学习的动态物联网异常检测方法 - Google Patents

一种无监督的基于增量学习的动态物联网异常检测方法 Download PDF

Info

Publication number
CN113645098B
CN113645098B CN202110918457.0A CN202110918457A CN113645098B CN 113645098 B CN113645098 B CN 113645098B CN 202110918457 A CN202110918457 A CN 202110918457A CN 113645098 B CN113645098 B CN 113645098B
Authority
CN
China
Prior art keywords
sample
confidence
cluster
data
normal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110918457.0A
Other languages
English (en)
Other versions
CN113645098A (zh
Inventor
许艳
葛江涛
仲红
崔杰
刘辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN202110918457.0A priority Critical patent/CN113645098B/zh
Publication of CN113645098A publication Critical patent/CN113645098A/zh
Application granted granted Critical
Publication of CN113645098B publication Critical patent/CN113645098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种无监督的基于增量学习的动态物联网异常检测方法,包括:1获取历史数据,并筛选出高置信度正常样本来训练聚类模型,对异常进行初步识别;2将当前待检测数据训练孤立森林模型,对异常进行进一步识别;3根据训练好的聚类和孤立森林模型,分别构建相应的2个异常检测结果集;4根据数据分布的相似程度在当前和历史数据间建立连接,将2个异常检测结果集进行融合以准确识别异常;5检测完成后,从当前数据中筛选适量的高置信度正常样本来更新已有的聚类模型,以达到持续学习数据中最新出现的正常行为模式的目的。本发明能够有效的从动态变化的物联网数据中持续学习有价值信息,并提高异常检测的准确率。

Description

一种无监督的基于增量学习的动态物联网异常检测方法
技术领域
本发明涉及异常检测领域,具体地说是一种无监督的基于增量学习的动态物联网异常检测方法。
背景技术
近年来,数据传感设备随着物联网的快速发展广泛应用于智能家居、智慧交通、智慧农业等诸多领域。这些设备的出现改变了人们的日常生活方式,同时也产生了海量的数据资源。从数据中衍生出的有价值信息可以服务于各种应用,如设备开关控制、城市交通分析、环境质量检测等。但在数据收集的过程中,由于设备故障、恶意攻击、环境干扰等因素,不可避免地会出现数据异常的情况。这种异常数据会导致错误的决策和决定,从而降低了物联网应用的可靠性、可伸缩性和互操作性。特别是一些关键性安全应用,这个问题甚至会造成灾难性的后果。因此,需要有效的异常检测方法为物联网应用提供高质量数据的保障。
在物联网应用中,数据传感设备生成的数据通常以流的形式持续到达,需要及时区分那些与正常行为不同的异常。但实际物联网应用中存在环境和操作条件等因素经常性变化的问题。该问题将导致物联网数据底层分布会随着时间发生一些不确定性的变化。这意味着过去收集的正常行为模式会随着时间发生演变,即当前的正常行为概念在未来可能不再具有足够的代表性。一旦物联网异常检测模型不能跟随数据的分布的变化进行相应的调整,将会导致其无法精确地识别出异常。因此,物联网异常检测任务面临着数据的动态变化而导致的模型预测精度不佳的问题。
发明内容
本发明是为了避免上述现有技术所存在的问题,提出了一种无监督的基于增量学习的动态物联网异常检测方法,以期能够有效从物联网数据中持续学习有价值信息,并充分利用物联网时序数据间的关联来检测异常,从而适应物联网数据的动态变化,并提高异常检测的精度和准确率。
本发明为解决技术问题采用如下技术方案:
本发明一种无监督的基于增量学习的动态物联网异常检测方法的特点是按如下步骤进行:
步骤1、按照时间顺序获取物联网场景中的数据集记为
Figure GDA0003638747730000011
其中,
Figure GDA0003638747730000012
为初始数据块,
Figure GDA0003638747730000013
表示第t时间段的原始数据,t=1,2,...,T;T表示总时间;
对所述数据集XO进行预处理,得到预处理后的数据集X={XS,X1,X2,…,Xt,…,XT};XS为预处理后的初始数据块,且XS={xs1,xs2,...,xsm,...,xsM},xsm表示预处理后的初始数据块XS中第m个样本;M表示样本总量;Xt表示预处理后的第t时间段的原始数据,且Xt={xt1,xt2,...,xtn,...,xtN},xtn表示预处理后的第t时间段的原始数据Xt中第n个样本;N表示样本总量;
步骤2、构建高置信度正常样本集;
步骤2.1、对预处理后的初始数据块XS进行k-means聚类,从而划分为K个簇,记为C={C1,C2,...,Ck,...,CK};Ck表示将预处理后的初始数据块XS聚类后的第k个簇,k=1,2,...,K;
步骤2.2、根据式(1)计算从第k个簇Ck中筛选的高置信度正常样本数量Nk
Nk=|Ck|×θ (1)
式(1)中,参数θ是筛选的高置信度正常样本数量所占预处理后的初始数据块XS中样本总量M的百分比;|Ck|为第k个簇Ck中对应的样本数量;
步骤2.3、利用核密度估计方法计算第k个簇Ck中所包含样本的密度值,并根据样本的密度值大小进行降序排序,从而选择密度值最高的前Nk个样本并构成第k个高置信度正常样本集合,记为
Figure GDA0003638747730000021
Figure GDA0003638747730000022
表示第k个高置信度正常样本集合
Figure GDA0003638747730000023
中第nk个正常样本;
步骤2.4、按照步骤2.2和步骤2.3的过程依次选择K个簇的高置信度正常样本集合,并构建高置信度正常样本集
Figure GDA0003638747730000024
Figure GDA0003638747730000025
表示从第k个簇Ck中筛选出的高置信度正常样本集;
步骤2.5、根据高置信度正常样本集XH来训练k-means模型,从而划分为K′个簇,并得到聚类结果记为C′={C′1,C′2,...,C′k′,...,C′K′},C′k′表示将高置信度正常样本集XH聚类后的第k′个簇;令聚类中心为U={u1,u2,...,uk′,...,uK′};uk′表示为高置信度正常样本集XH中第k′个簇C′k′的聚类中心;
步骤3、利用式(2)计算预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度PS(xtn):
Figure GDA0003638747730000031
步骤4、通过预处理后的第t时间段的原始数据Xt训练孤立森林模型,并通过训练好的孤立森林模型对预处理后的第t时间段的原始数据Xt中的异常样本进行进一步识别:
步骤4.1、训练孤立森林模型:
步骤4.1.1、从预处理后的第t时间段的原始数据Xt中随机抽取ψ个样本构成预处理后的第t时间段的原始数据Xt的子集
Figure GDA0003638747730000032
放入根节点;
Figure GDA0003638747730000033
表示子集X′t中的第
Figure GDA0003638747730000034
个样本;
步骤4.1.2、随机指定子集X′t中第
Figure GDA0003638747730000035
个样本
Figure GDA0003638747730000036
的一个维度,并用于在当前样本
Figure GDA0003638747730000037
中随机产生一个切割点p;
步骤4.1.3、将预处理后的第t时间段的原始数据Xt中其余样本的维度依次与p进行比较,若小于p,则将相应样本放入第
Figure GDA0003638747730000038
个样本
Figure GDA0003638747730000039
的左子节点,否则放入第
Figure GDA00036387477300000310
个样本
Figure GDA00036387477300000311
的右子节点;
步骤4.1.4、按照步骤4.1.2和步骤4.1.3的过程对左右子节点进行递归操作,直至所有的叶子节点都只有一个样本点或者孤立树已经达到指定的高度;从而得到一棵孤立树;
步骤4.1.5、按照步骤4.1.1至步骤4.1.4的过程进行循环操作,直至生成指定数目的孤立树并构成训练好的孤立森林模型;
步骤4.2、根据训练好的孤立森林模型,对预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度进行计算:
步骤4.2.1、遍历训练好的每一棵孤立树,并计算第n个样本xtn在孤立森林模型中的平均高度h(xtn);
步骤4.2.2、利用式(3)计算第n个样本xtn的异常分数CS(xtn):
Figure GDA00036387477300000312
式(3)中,N是参与构建森林的样本总数,H(·)为调和级数;
步骤5、将两种异常模型检测结果进行融合,识别预处理后的第t时间段的原始数据Xt中的异常样本:
步骤5.1、根据式(4)计算高置信度正常样本集XH与预处理后的第t时间段的原始数据Xt的数据分布的相似度S(P,Q):
Figure GDA0003638747730000041
式(4)中,P表示所筛选出的高置信度正常样本数据集XH的概率分布;Q表示预处理后的第t时间段的原始数据Xt的概率分布;且S(P,Q)∈[0,1];
步骤5.2、利用式(5)得到调节参数ω:
ω=min(max(S(P,Q),σ),ρ) (5)
式(5)中,σ和ρ均是预定义的参数,且σ和ρ分别是参数ω的下界和上界,ω∈[0,1];
步骤5.3、利用式(6)得到第n个样本xtn的综合异常分数AS(xtn)并作为两种异常检测模型的融合结果:
AS(xtn)=(1-ω)×PS(xtn)+ω×CS(xtn) (6)
步骤5.4、根据预先设定的异常阈值对预处理后的第t时间段的原始数据Xt中包含的所有样本进行异常检测,从而得到Xt的预测结果;
步骤6、从预处理后的第t时间段的原始数据Xt以及所述高置信度正常样本集XH中筛选出新的高置信度正常样本:
步骤6.1、根据式(7)计算从所述高置信度正常样本集XH中进行进一步筛选的数量Nk′
Nk′=|C′k′|×(1-S(P,Q)) (7)
式(7)中,|C′k′|为第k′个簇C′k′中对应的样本数量;
步骤6.2、根据Xt的预测结果,筛选出预测结果为正常的样本,并形成正常数据集
Figure GDA0003638747730000042
步骤6.3、对正常数据集
Figure GDA0003638747730000043
进行k-means聚类,从而划分为K″个簇,并记为C″={C″1,C″2,...,C″k″,...,C″K″};C″k″表示将正常数据集
Figure GDA0003638747730000044
聚类后的第k″个簇;
步骤6.4、根据式(8)计算从第k″个簇C″k″中筛选的高置信度正常样本数目Nk″
Nk″=|C″k″|×θ (8)
式(8)中,|C″k″|为第k″个簇C″k″中对应的样本数量,参数θ是提取的高置信度正常样本数量所占正常数据集
Figure GDA00036387477300000519
中样本总数的百分比;
步骤6.5、利用核密度估计方法分别计算第k′个簇C′k′以及第k″个簇C″k″中所包含的样本密度值,并根据样本密度值大小分别进行降序排序,分别依次选择第k′个簇C′k′和第k″个簇C″k″簇中的密度值最高的前Nk′和前Nk″个样本作为相应的高置信度正常样本,从而构成第k′个高置信度正常样本集合
Figure GDA0003638747730000051
和第k″个高置信度正常样本集合
Figure GDA0003638747730000052
其中,
Figure GDA0003638747730000053
表示为第k′个高置信度正常样本集合
Figure GDA0003638747730000054
中的第nk′个样本,
Figure GDA0003638747730000055
表示为第k″个高置信度正常样本集合
Figure GDA0003638747730000056
中的第nk″个样本;
步骤6.6、重复步骤6.1和步骤6.5的过程依次选择K′个簇和K″个簇的高置信度正常样本集合,并相应构建高置信度正常样本集和;从而构成第t时间段的高置信度正常样本集;
步骤7、对第t时间段k-means模型的聚类结果进行更新,以检测第t+1时间段的原始数据Xt+1
步骤7.1、对XH′和XH″分别进行k-means聚类,相应获得历史高置信度样本聚类
Figure GDA0003638747730000057
和当前高置信度样本聚类
Figure GDA0003638747730000058
Figure GDA0003638747730000059
表示历史高置信度样本聚类Ch′中的第k′个簇,
Figure GDA00036387477300000510
表示当前高置信度样本聚类Ch″中的第k″个簇;
步骤7.2、根据式(9)计算历史高置信度样本聚类Ch'中第k′个簇
Figure GDA00036387477300000511
中的第nk′个样本
Figure GDA00036387477300000512
到其聚类中心
Figure GDA00036387477300000513
的最大距离Tk′并作为合并阈值;
Figure GDA00036387477300000514
式(9)中,
Figure GDA00036387477300000515
表示历史高置信度样本聚类Ch'中第k′个簇
Figure GDA00036387477300000516
的聚类中心;
步骤7.3、初始化k″=1;
步骤7.4、分别计算第k″个簇
Figure GDA00036387477300000517
到历史高置信度样本聚类Ch′中各个聚类中心之间的距离,并找出最小距离,若最小距离小于合并阈值Tk′,则将最小距离所对应的簇
Figure GDA00036387477300000518
以及第k″个簇
Figure GDA0003638747730000061
进行合并后,加入更新后的高置信度样本聚类
Figure GDA0003638747730000062
否则将最小距离所对应的簇
Figure GDA0003638747730000063
以及第k″个簇
Figure GDA0003638747730000064
分别加入更新后的高置信度样本聚类
Figure GDA0003638747730000065
步骤7.5、将k″+1赋值给k″,将
Figure GDA0003638747730000066
赋值给Ch′,并返回步骤7.4执行,直到k″>K″为止;从而得到第t时间段的高置信度正常样本集
Figure GDA0003638747730000067
的更新后的高置信度样本聚类
Figure GDA0003638747730000068
以及更新后的高置信度样本聚类
Figure GDA0003638747730000069
的聚类中心
Figure GDA00036387477300000610
其中,
Figure GDA00036387477300000611
表示更新后的高置信度样本聚类
Figure GDA00036387477300000612
中的第q个簇,
Figure GDA00036387477300000613
表示第q个簇
Figure GDA00036387477300000614
的距离中心;Q′表示
Figure GDA00036387477300000615
中的簇的数量;
步骤7.6、将
Figure GDA00036387477300000616
赋值给C′,将t+1赋值给t后,返回步骤3执行,直到t=T为止,从而完成物联网场景中数据的异常检测。
与已有技术相比,本发明有益效果体现在:
1、本发明通过分别使用历史数据和当前数据来训练模型,并将两个模型的预测结果进行巧妙地融合,以当前和过去两个角度来综合考虑数据的异常程度,充分考虑了物联网数据中的时间因素,实现了对物联网异常的高效识别。
2、本发明通过聚类和概率密度函数相结合的方法来筛选数据流中的高置信度样本,该处理方式使筛选的正常样本更具有代表性,为后续的模型的更新持续提供大量有价值数据。
3、本发明通过不断从数据流中筛选出的高置信度正常样本来更新聚类模型,该处理模式考虑到了物联网数据的行为模式的动态变化,实现了在不忘记过去所学知识的基础上学习了新的知识。
4、本发明通过数据分布的相似度在当前与历史数据间建立连接,该处理模式可以平衡当前和历史数据所训练模型的检测结果集的重要性进行融合,使模型能够跟随数据分布的变化进行动态调整,实现了对物联网异常更精确的检测。
附图说明
图1为本发明一种无监督的基于增量学习的动态物联网异常检测方法流程图;
图2为本发明异常检测方法示意图。
具体实施方式
本实施例中,参见图1,一种无监督的基于增量学习的动态物联网异常检测方法是按如下步骤进行:
步骤1、按照时间顺序获取物联网场景中的数据集记为
Figure GDA0003638747730000071
其中,
Figure GDA0003638747730000072
为初始数据块,
Figure GDA0003638747730000073
表示第t时间段的原始数据,t=1,2,...,T;T表示总时间;
对所述数据集XO进行预处理,得到预处理后的数据集X={XS,X1,X2,...,Xt,...,XT};XS为预处理后的初始数据块,且XS={xs1,xs2,...,xsm,...,xsM},xsm表示预处理后的初始数据块XS中第m个样本;M表示样本总量;Xt表示预处理后的第t时间段的原始数据,且Xt={xt1,xt2,...,xtn,...,xtN},xtn表示预处理后的第t时间段的原始数据Xt中第n个样本;N表示样本总量;该真实智能家居异常数据集为DS2OS,其中异常样本中包含7种攻击类型,其分别是网络扫描,间谍,恶意控制,恶意操作,拒绝服务,数据类型探测和错误设置;在本实例中按照数据收集的时间顺序,将前9%的数据作为初始化数据块XS;余下数据按照时间顺序等量分为十个批次,即T=10;
步骤2、构建高置信度正常样本集;
步骤2.1、对预处理后的初始数据块XS进行k-means聚类,从而划分为K个簇,记为C={C1,C2,…,Ck,...,CK};Ck表示将预处理后的初始数据块XS聚类后的第k个簇,k=1,2,...,K;在本实施例中,K取值为5;
步骤2.2、根据式(1)计算从第k个簇Ck中筛选的高置信度正常样本数量Nk
Nk=|Ck|×θ (1)
式(1)中,参数θ是筛选的高置信度正常样本数量所占预处理后的初始数据块XS中样本总量M的百分比,本例中参数θ默认为0.2;|Ck|为第k个簇Ck中对应的样本数量;
步骤2.3、利用核密度估计方法计算第k个簇Ck中所包含样本的密度值,并根据样本的密度值大小进行降序排序,从而选择密度值最高的前Nk个样本并构成第k个高置信度正常样本集合,记为
Figure GDA0003638747730000074
Figure GDA0003638747730000075
表示第k个高置信度正常样本集合
Figure GDA0003638747730000076
中第nk个正常样本;
步骤2.4、按照步骤2.2和步骤2.3的过程依次选择K个簇的高置信度正常样本集合,并构建高置信度正常样本集
Figure GDA0003638747730000077
Figure GDA0003638747730000078
表示从第k个簇Ck中筛选出的高置信度正常样本集;
步骤2.5、根据高置信度正常样本集XH来训练k-means模型,从而划分为K′个簇,此时K′取值为5;并得到聚类结果记为C′={C′1,C′2,...,C′k′,...,C′K′},C′k′表示将高置信度正常样本集XH聚类后的第k′个簇;令聚类中心为U={u1,u2,...,uk′,...,uK′};uk′表示为高置信度正常样本集XH中第k′个簇C′k′的聚类中心;
步骤3、利用式(2)计算预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度PS(xtn):
Figure GDA0003638747730000081
步骤4、通过预处理后的第t时间段的原始数据Xt训练孤立森林模型,并通过训练好的孤立森林模型对预处理后的第t时间段的原始数据Xt中的异常样本进行进一步识别:
步骤4.1、训练孤立森林模型:
步骤4.1.1、从预处理后的第t时间段的原始数据Xt中随机抽取ψ个样本构成预处理后的第t时间段的原始数据Xt的子集
Figure GDA0003638747730000082
放入根节点;
Figure GDA0003638747730000083
表示子集X′t中的第
Figure GDA0003638747730000084
个样本;
步骤4.1.2、随机指定子集X′t中第
Figure GDA0003638747730000085
个样本
Figure GDA0003638747730000086
的一个维度,并用于在当前样本
Figure GDA0003638747730000087
中随机产生一个切割点p;
步骤4.1.3、将预处理后的第t时间段的原始数据Xt中其余样本的维度依次与p进行比较,若小于p,则将相应样本放入第
Figure GDA0003638747730000088
个样本
Figure GDA0003638747730000089
的左子节点,否则放入第
Figure GDA00036387477300000810
个样本
Figure GDA00036387477300000811
的右子节点;
步骤4.1.4、按照步骤4.1.2和步骤4.1.3的过程对左右子节点进行递归操作,直至所有的叶子节点都只有一个样本点或者孤立树已经达到指定的高度;从而得到一棵孤立树;
步骤4.1.5、按照步骤4.1.1至步骤4.1.4的过程进行循环操作,直至生成指定数目的孤立树并构成训练好的孤立森林模型;
步骤4.2、根据训练好的孤立森林模型,对预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度进行计算:
步骤4.2.1、遍历训练好的每一棵孤立树,并计算第n个样本xtn在孤立森林模型中的平均高度h(xtn);
步骤4.2.2、利用式(3)计算第n个样本xtn的异常分数CS(xtn):
Figure GDA0003638747730000091
式(3)中,N是参与构建森林的样本总数,H(·)为调和级数,在本实施例中,H(N)被估计为ln(N)+0.5772156649;
步骤5、如图2所示,将两种异常模型检测结果进行融合,识别预处理后的第t时间段的原始数据Xt中的异常样本:
步骤5.1、根据式(4)计算高置信度正常样本集XH与预处理后的第t时间段的原始数据Xt的数据分布的相似度S(P,Q):
Figure GDA0003638747730000092
式(4)中,P表示所筛选出的高置信度正常样本集XH的概率分布;Q表示预处理后的第t时间段的原始数据Xt的概率分布;当高置信度正常样本集XH与预处理后的第t时间段的原始数据Xt的数据分布的相似度越高,则S(P,Q)值越小,且S(P,Q)∈[0,1];
步骤5.2、利用式(5)得到调节参数ω:
ω=min(max(S(P,Q),σ),ρ) (5)
式(5)中,σ和ρ均是预定义的参数,且σ和ρ分别是参数ω的下界和上界,ω∈[0,1];在本实施例中,σ默认为0.6,ρ默认为0.9;
步骤5.3、利用式(6)得到第n个样本xtn的综合异常分数AS(xtn)并作为两种异常检测模型的融合结果:
AS(xtn)=(1-ω)×PS(xtn)+ω×CS(xtn) (6)
步骤5.4、根据预先设定的异常阈值对预处理后的第t时间段的原始数据Xt中包含的所有样本进行异常检测,当从而得到Xt的预测结果;通过分布相似度来将两种异常模型的预测结果进行融合可以有效避免数据分布变化而导致的模型检测效果下降问题,使检测结果更加准确可靠;
步骤6、从预处理后的第t时间段的原始数据Xt以及所述高置信度正常样本集XH中筛选出新的高置信度正常样本:
步骤6.1、根据式(7)计算从所述高置信度正常样本集XH中进行进一步筛选的数量Nk′
Nk′=|Ck″|×(1-S(P,Q)) (7)
式(7)中,|C′k′|为第k′个簇C′k′中对应的样本数量;当高置信度正常样本集XH与预处理后的第t时间段的原始数据Xt的数据分布的相似度越高,即S(P,Q)值越小时,则从XH中选取更多数量的高置信度样本进行保留;
步骤6.2、根据Xt的预测结果,筛选出预测结果为正常的样本,并形成正常数据集Xt P
步骤6.3、对正常数据集
Figure GDA0003638747730000101
进行k-means聚类,从而划分为K″个簇,K″的值在本实施例中默认为5,并记为C″={C″1,C″2,...,C″k″,...,C″K″};C″k″表示将正常数据集
Figure GDA0003638747730000102
聚类后的第k″个簇;
步骤6.4、根据式(8)计算从第k″个簇C″k″中筛选的高置信度正常样本数目Nk″
Nk″=|C″k″|×θ (8)
式(8)中,|C″k″|为第k″个簇C″k″中对应的样本数量,参数θ是提取的高置信度正常样本数量所占正常数据集
Figure GDA0003638747730000103
中样本总数的百分比;参数θ的值在本实施例中默认为0.2;
步骤6.5、利用核密度估计方法分别计算第k′个簇C′k′以及第k″个簇C″k″中所包含的样本密度值,并根据样本密度值大小分别进行降序排序,分别依次选择第k′个簇C′k′和第k″个簇C″k″簇中的密度值最高的前Nk′和前Nk″个样本作为相应的高置信度正常样本,从而构成第k′个高置信度正常样本集合
Figure GDA0003638747730000104
和第k″个高置信度正常样本集合
Figure GDA0003638747730000105
其中,
Figure GDA0003638747730000106
表示为第k′个高置信度正常样本集合
Figure GDA0003638747730000107
中的第nk′个样本,
Figure GDA0003638747730000108
表示为第k″个高置信度正常样本集合
Figure GDA0003638747730000109
中的第nk″个样本;
步骤6.6、重复步骤6.1和步骤6.5的过程依次选择K′个簇和K″个簇的高置信度正常样本集合,并相应构建高置信度正常样本集
Figure GDA00036387477300001010
Figure GDA0003638747730000111
从而构成第t时间段的高置信度正常样本集
Figure GDA0003638747730000112
步骤7、对第t时间段k-means模型的聚类结果进行更新,以检测第t+1时间段的原始数据Xt+1
步骤7.1、对XH′和XH″分别进行k-means聚类,其中聚类数目K′与K″在本实施例中取值均为5,并相应获得历史高置信度样本聚类
Figure GDA0003638747730000113
和当前高置信度样本聚类
Figure GDA0003638747730000114
Figure GDA0003638747730000115
表示历史高置信度样本聚类Ch′中的第k′个簇,
Figure GDA0003638747730000116
表示当前高置信度样本聚类Ch″中的第k″个簇;
步骤7.2、根据式(9)计算历史高置信度样本聚类Ch'中第k′个簇
Figure GDA0003638747730000117
中的第nk′个样本
Figure GDA0003638747730000118
到其聚类中心
Figure GDA0003638747730000119
的最大距离Tk′并作为合并阈值;
Figure GDA00036387477300001110
式(9)中,
Figure GDA00036387477300001111
表示历史高置信度样本聚类Ch'中第k′个簇
Figure GDA00036387477300001112
的聚类中心;
步骤7.3、初始化k″=1;
步骤7.4、分别计算第k″个簇
Figure GDA00036387477300001113
到历史高置信度样本聚类Ch′中各个聚类中心之间的距离,并找出最小距离,若最小距离小于合并阈值Tk′,则将最小距离所对应的簇
Figure GDA00036387477300001114
以及第k″个簇
Figure GDA00036387477300001115
进行合并后,加入更新后的高置信度样本聚类
Figure GDA00036387477300001116
否则将最小距离所对应的簇
Figure GDA00036387477300001117
以及第k″个簇
Figure GDA00036387477300001118
分别加入更新后的高置信度样本聚类
Figure GDA00036387477300001119
步骤7.5、将k″+1赋值给k″,将
Figure GDA00036387477300001120
赋值给Ch′,并返回步骤7.4执行,直到k″>K″为止;从而得到第t时间段的高置信度正常样本集
Figure GDA00036387477300001121
的更新后的高置信度样本聚类
Figure GDA00036387477300001122
以及更新后的高置信度样本聚类
Figure GDA00036387477300001123
的聚类中心
Figure GDA00036387477300001124
其中,
Figure GDA00036387477300001125
表示更新后的高置信度样本聚类
Figure GDA00036387477300001126
中的第q个簇,
Figure GDA00036387477300001127
表示第q个簇
Figure GDA00036387477300001128
的距离中心;Q′表示
Figure GDA00036387477300001129
中的簇的数量;
步骤7.6、将
Figure GDA00036387477300001130
赋值给C′,将t+1赋值给t后返回步骤3执行,直到t=T为止,从而完成物联网场景中数据的异常检测。
实施例:
为了验证本方法中的有效性,本文选用了Kaggle网站中公开的智能家居通信异常检测时序数据集DS2OS。对于该数据集而言,其中异常样本约占3%。此外,在本实例中并采用准确率和F1分数作为定量评价标准。
本实施例中选用五种方法和本发明方法进行效果对比,所选方法分别是OC-SVM、孤立森林(IF)、COPOD、LODA、UIDAD-P,UIDAD为发明方法,UIDAD-P为UIDAD去掉孤立森林部分的方法,即仅通过历史数据训练的模型对异常进行识别;根据实验结果可得出结果如表1和表2所示:
表1本发明方法与选用的五种对比方法在智能家居数据集上10个批次进行异常检测的准确率
Figure GDA0003638747730000121
表2本发明方法与选用的五种对比方法在智能家居数据集上10个批次进行异常检测的F1分数
Figure GDA0003638747730000122
Figure GDA0003638747730000131
实验结果显示本发明方法与其它五种方法相比效果都要更好,从而证明了本发明提出方法的可行性。

Claims (1)

1.一种无监督的基于增量学习的动态物联网异常检测方法,其特征是按如下步骤进行:
步骤1、按照时间顺序获取物联网场景中的数据集记为
Figure FDA0003638747720000011
其中,
Figure FDA0003638747720000012
为初始数据块,
Figure FDA0003638747720000013
表示第t时间段的原始数据,t=1,2,...,T;T表示总时间;
对所述数据集XO进行预处理,得到预处理后的数据集X={XS,X1,X2,...,Xt,...,XT};XS为预处理后的初始数据块,且XS={xs1,xs2,...,xsm,...,xsM},xsm表示预处理后的初始数据块XS中第m个样本;M表示样本总量;Xt表示预处理后的第t时间段的原始数据,且Xt={xt1,xt2,...,xtn,...,xtN},xtn表示预处理后的第t时间段的原始数据Xt中第n个样本;N表示样本总量;
步骤2、构建高置信度正常样本集;
步骤2.1、对预处理后的初始数据块XS进行k-means聚类,从而划分为K个簇,记为C={C1,C2,...,Ck,...,CK};Ck表示将预处理后的初始数据块XS聚类后的第k个簇,k=1,2,...,K;
步骤2.2、根据式(1)计算从第k个簇Ck中筛选的高置信度正常样本数量Nk
Nk=|Ck|×θ (1)
式(1)中,参数θ是筛选的高置信度正常样本数量所占预处理后的初始数据块XS中样本总量M的百分比;|Ck|为第k个簇Ck中对应的样本数量;
步骤2.3、利用核密度估计方法计算第k个簇Ck中所包含样本的密度值,并根据样本的密度值大小进行降序排序,从而选择密度值最高的前Nk个样本并构成第k个高置信度正常样本集合,记为
Figure FDA0003638747720000014
Figure FDA0003638747720000015
表示第k个高置信度正常样本集合
Figure FDA0003638747720000016
中第nk个正常样本;
步骤2.4、按照步骤2.2和步骤2.3的过程依次选择K个簇的高置信度正常样本集合,并构建高置信度正常样本集
Figure FDA0003638747720000017
Figure FDA0003638747720000018
表示从第k个簇Ck中筛选出的高置信度正常样本集;
步骤2.5、根据高置信度正常样本集XH来训练k-means模型,从而划分为K′个簇,并得到聚类结果记为C′={C′1,C′2,...,C′k′,...,C′K′},C′k′表示将高置信度正常样本集XH聚类后的第k′个簇;令聚类中心为U={u1,u2,...,uk′,...,uK′};uk′表示为高置信度正常样本集XH中第k′个簇C′k′的聚类中心;
步骤3、利用式(2)计算预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度PS(xtn):
Figure FDA0003638747720000021
步骤4、通过预处理后的第t时间段的原始数据Xt训练孤立森林模型,并通过训练好的孤立森林模型对预处理后的第t时间段的原始数据Xt中的异常样本进行进一步识别:
步骤4.1、训练孤立森林模型:
步骤4.1.1、从预处理后的第t时间段的原始数据Xt中随机抽取ψ个样本构成预处理后的第t时间段的原始数据Xt的子集
Figure FDA0003638747720000022
放入根节点;
Figure FDA0003638747720000023
表示子集X′t中的第
Figure FDA0003638747720000024
个样本;
步骤4.1.2、随机指定子集X′t中第
Figure FDA0003638747720000025
个样本
Figure FDA0003638747720000026
的一个维度,并用于在当前样本
Figure FDA0003638747720000027
中随机产生一个切割点p;
步骤4.1.3、将预处理后的第t时间段的原始数据Xt中其余样本的维度依次与p进行比较,若小于p,则将相应样本放入第
Figure FDA0003638747720000028
个样本
Figure FDA00036387477200000211
的左子节点,否则放入第
Figure FDA0003638747720000029
个样本
Figure FDA00036387477200000210
的右子节点;
步骤4.1.4、按照步骤4.1.2和步骤4.1.3的过程对左右子节点进行递归操作,直至所有的叶子节点都只有一个样本点或者孤立树已经达到指定的高度;从而得到一棵孤立树;
步骤4.1.5、按照步骤4.1.1至步骤4.1.4的过程进行循环操作,直至生成指定数目的孤立树并构成训练好的孤立森林模型;
步骤4.2、根据训练好的孤立森林模型,对预处理后的第t时间段的原始数据Xt中第n个样本xtn的异常程度进行计算:
步骤4.2.1、遍历训练好的每一棵孤立树,并计算第n个样本xtn在孤立森林模型中的平均高度h(xtn);
步骤4.2.2、利用式(3)计算第n个样本xtn的异常分数CS(xtn):
Figure FDA0003638747720000031
式(3)中,N是参与构建森林的样本总数,H(·)为调和级数;
步骤5、将两种异常模型检测结果进行融合,识别预处理后的第t时间段的原始数据Xt中的异常样本:
步骤5.1、根据式(4)计算高置信度正常样本集XH与预处理后的第t时间段的原始数据Xt的数据分布的相似度S(P,Q):
Figure FDA0003638747720000032
式(4)中,P表示所筛选出的高置信度正常样本集XH的概率分布;Q表示预处理后的第t时间段的原始数据Xt的概率分布;且S(P,Q)∈[0,1];
步骤5.2、利用式(5)得到调节参数ω:
ω=min(max(S(P,Q),σ),ρ) (5)
式(5)中,σ和ρ均是预定义的参数,且σ和ρ分别是参数ω的下界和上界,ω∈[0,1];
步骤5.3、利用式(6)得到第n个样本xtn的综合异常分数AS(xtn)并作为两种异常检测模型的融合结果:
AS(xtn)=(1-ω)×PS(xtn)+ω×CS(xtn) (6)
步骤5.4、根据预先设定的异常阈值对预处理后的第t时间段的原始数据Xt中包含的所有样本进行异常检测,从而得到Xt的预测结果;
步骤6、从预处理后的第t时间段的原始数据Xt以及所述高置信度正常样本集XH中筛选出新的高置信度正常样本:
步骤6.1、根据式(7)计算从所述高置信度正常样本集XH中进行进一步筛选的数量Nk′
Nk′=|C′k′|×(1-S(P,Q)) (7)
式(7)中,|C′k′|为第k′个簇C′k′中对应的样本数量;
步骤6.2、根据Xt的预测结果,筛选出预测结果为正常的样本,并形成正常数据集
Figure FDA0003638747720000033
步骤6.3、对正常数据集
Figure FDA0003638747720000034
进行k-means聚类,从而划分为K″个簇,并记为C″={C″1,C″2,...,C″k″,...,C″K″};C″k″表示将正常数据集
Figure FDA0003638747720000041
聚类后的第k″个簇;
步骤6.4、根据式(8)计算从第k″个簇C″k″中筛选的高置信度正常样本数目Nk″
Nk″=|C″k″|×θ (8)
式(8)中,|C″k″|为第k″个簇C″k″中对应的样本数量,参数θ是提取的高置信度正常样本数量所占正常数据集
Figure FDA0003638747720000042
中样本总数的百分比;
步骤6.5、利用核密度估计方法分别计算第k′个簇C′k′以及第k″个簇C″k″中所包含的样本密度值,并根据样本密度值大小分别进行降序排序,分别依次选择第k′个簇C′k′和第k″个簇C″k″簇中的密度值最高的前Nk′和前Nk″个样本作为相应的高置信度正常样本,从而构成第k′个高置信度正常样本集合
Figure FDA0003638747720000043
和第k″个高置信度正常样本集合
Figure FDA0003638747720000044
其中,
Figure FDA0003638747720000045
表示为第k′个高置信度正常样本集合
Figure FDA0003638747720000046
中的第nk′个样本,
Figure FDA0003638747720000047
表示为第k″个高置信度正常样本集合
Figure FDA0003638747720000048
中的第nk″个样本;
步骤6.6、重复步骤6.1和步骤6.5的过程依次选择K′个簇和K″个簇的高置信度正常样本集合,并相应构建高置信度正常样本集
Figure FDA0003638747720000049
Figure FDA00036387477200000410
从而构成第t时间段的高置信度正常样本集
Figure FDA00036387477200000411
步骤7、对第t时间段k-means模型的聚类结果进行更新,以检测第t+1时间段的原始数据Xt+1
步骤7.1、对XH′和XH″分别进行k-means聚类,相应获得历史高置信度样本聚类
Figure FDA00036387477200000412
和当前高置信度样本聚类
Figure FDA00036387477200000413
Figure FDA00036387477200000414
表示历史高置信度样本聚类Ch′中的第k′个簇,
Figure FDA00036387477200000415
表示当前高置信度样本聚类Ch″中的第k″个簇;
步骤7.2、根据式(9)计算历史高置信度样本聚类Ch'中第k′个簇
Figure FDA00036387477200000416
中的第nk′个样本
Figure FDA00036387477200000417
到其聚类中心
Figure FDA00036387477200000418
的最大距离Tk′并作为合并阈值;
Figure FDA00036387477200000419
式(9)中,
Figure FDA0003638747720000051
表示历史高置信度样本聚类Ch'中第k′个簇
Figure FDA0003638747720000052
的聚类中心;
步骤7.3、初始化k″=1;
步骤7.4、分别计算第k″个簇
Figure FDA0003638747720000053
到历史高置信度样本聚类Ch′中各个聚类中心之间的距离,并找出最小距离,若最小距离小于合并阈值Tk′,则将最小距离所对应的簇
Figure FDA0003638747720000054
以及第k″个簇
Figure FDA0003638747720000055
进行合并后,加入更新后的高置信度样本聚类
Figure FDA0003638747720000056
否则将最小距离所对应的簇
Figure FDA0003638747720000057
以及第k″个簇
Figure FDA0003638747720000058
分别加入更新后的高置信度样本聚类
Figure FDA0003638747720000059
步骤7.5、将k″+1赋值给k″,将
Figure FDA00036387477200000510
赋值给Ch′,并返回步骤7.4执行,直到k″>K″为止;从而得到第t时间段的高置信度正常样本集
Figure FDA00036387477200000511
的更新后的高置信度样本聚类
Figure FDA00036387477200000512
以及更新后的高置信度样本聚类
Figure FDA00036387477200000513
的聚类中心
Figure FDA00036387477200000514
其中,
Figure FDA00036387477200000515
表示更新后的高置信度样本聚类
Figure FDA00036387477200000516
中的第q个簇,
Figure FDA00036387477200000517
表示第q个簇
Figure FDA00036387477200000518
的距离中心;Q′表示
Figure FDA00036387477200000519
中的簇的数量;
步骤7.6、将
Figure FDA00036387477200000520
赋值给C′,将t+1赋值给t后,返回步骤3执行,直到t=T为止,从而完成物联网场景中数据的异常检测。
CN202110918457.0A 2021-08-11 2021-08-11 一种无监督的基于增量学习的动态物联网异常检测方法 Active CN113645098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110918457.0A CN113645098B (zh) 2021-08-11 2021-08-11 一种无监督的基于增量学习的动态物联网异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110918457.0A CN113645098B (zh) 2021-08-11 2021-08-11 一种无监督的基于增量学习的动态物联网异常检测方法

Publications (2)

Publication Number Publication Date
CN113645098A CN113645098A (zh) 2021-11-12
CN113645098B true CN113645098B (zh) 2022-08-09

Family

ID=78420776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110918457.0A Active CN113645098B (zh) 2021-08-11 2021-08-11 一种无监督的基于增量学习的动态物联网异常检测方法

Country Status (1)

Country Link
CN (1) CN113645098B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115914052B (zh) * 2022-10-28 2024-05-17 京东科技信息技术有限公司 域名健康状况的检测方法和装置
CN117113241A (zh) * 2023-05-12 2023-11-24 中南大学 基于边缘学习的智能漏损监测方法
CN117289778B (zh) * 2023-11-27 2024-03-26 惠州市鑫晖源科技有限公司 一种工控主机电源健康状态的实时监测方法
CN117576823B (zh) * 2023-11-29 2024-05-14 上海徽视科技集团有限公司 一种排队叫号系统终端
CN117370898B (zh) * 2023-12-08 2024-03-12 钛合联(深圳)科技有限公司 一种电子数据安全管控系统
CN117938725A (zh) * 2024-03-22 2024-04-26 江西省通信产业服务有限公司 用于hvac的物联网设备通信异常检测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414555A (zh) * 2019-06-20 2019-11-05 阿里巴巴集团控股有限公司 检测异常样本的方法及装置
CN112905583A (zh) * 2021-04-01 2021-06-04 辽宁工程技术大学 一种高维大数据离群点检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108777873B (zh) * 2018-06-04 2021-03-02 江南大学 基于加权混合孤立森林的无线传感网络异常数据检测方法
CN113112374A (zh) * 2020-12-21 2021-07-13 中国计量大学 一种基于机器学习算法的空巢用户用电异常检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414555A (zh) * 2019-06-20 2019-11-05 阿里巴巴集团控股有限公司 检测异常样本的方法及装置
CN112905583A (zh) * 2021-04-01 2021-06-04 辽宁工程技术大学 一种高维大数据离群点检测方法

Also Published As

Publication number Publication date
CN113645098A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN113645098B (zh) 一种无监督的基于增量学习的动态物联网异常检测方法
CN111428231B (zh) 基于用户行为的安全处理方法、装置及设备
CN106982196B (zh) 一种异常访问检测方法及设备
CN110019074B (zh) 访问路径的分析方法、装置、设备及介质
CN109063456B (zh) 图像型验证码的安全性检测方法及系统
CN111444951B (zh) 样本识别模型的生成方法、装置、计算机设备和存储介质
CN110880019A (zh) 通过无监督域适应训练目标域分类模型的方法
CN103716204A (zh) 一种基于维纳过程的异常入侵检测集成学习方法及装置
CN111105160A (zh) 一种基于倾向性异质装袋算法的钢材质量预测方法
CN109327480B (zh) 一种多步攻击场景挖掘方法
CN111241992B (zh) 人脸识别模型构建方法、识别方法、装置、设备及存储介质
CN114386514B (zh) 基于动态网络环境下的未知流量数据识别方法及装置
CN110020868B (zh) 基于线上交易特征的反欺诈模块决策融合方法
WO2023093100A1 (zh) 一种api网关异常调用识别的方法、装置、设备及产品
Jordaney et al. Misleading metrics: On evaluating machine learning for malware with confidence
CN116843400A (zh) 基于图表示学习的区块链碳排放交易异常检测方法和装置
CN109981672B (zh) 一种基于半监督聚类的多层入侵检测方法
Freitas et al. Confusion matrix disagreement for multiple classifiers
CN117093849A (zh) 一种基于自动生成模型的数字矩阵特征分析方法
Ventura Automatic spike sorting using tuning information
CN113516189B (zh) 基于两阶段随机森林算法的网站恶意用户预测方法
CN110263196B (zh) 图像检索方法、装置、电子设备及存储介质
Tojeiro et al. Port scan identification through regression applying logistic testing methods to balanced data
Sun et al. CAPTCHA recognition based on Kohonen maps
Sense et al. Using K-means Clustering for Out-of-Sample Predictions of Memory Retention.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant