【技术实现步骤摘要】
一种无监督的基于增量学习的动态物联网异常检测方法
[0001]本专利技术涉及异常检测领域,具体地说是一种无监督的基于增量学习的动态物联网异常检测方法。
技术介绍
[0002]近年来,数据传感设备随着物联网的快速发展广泛应用于智能家居、智慧交通、智慧农业等诸多领域。这些设备的出现改变了人们的日常生活方式,同时也产生了海量的数据资源。从数据中衍生出的有价值信息可以服务于各种应用,如设备开关控制、城市交通分析、环境质量检测等。但在数据收集的过程中,由于设备故障、恶意攻击、环境干扰等因素,不可避免地会出现数据异常的情况。这种异常数据会导致错误的决策和决定,从而降低了物联网应用的可靠性、可伸缩性和互操作性。特别是一些关键性安全应用,这个问题甚至会造成灾难性的后果。因此,需要有效的异常检测方法为物联网应用提供高质量数据的保障。
[0003]在物联网应用中,数据传感设备生成的数据通常以流的形式持续到达,需要及时区分那些与正常行为不同的异常。但实际物联网应用中存在环境和操作条件等因素经常性变化的问题。该问题将导致物联网数据底层分布会随着时间发生一些不确定性的变化。这意味着过去收集的正常行为模式会随着时间发生演变,即当前的正常行为概念在未来可能不再具有足够的代表性。一旦物联网异常检测模型不能跟随数据的分布的变化进行相应的调整,将会导致其无法精确地识别出异常。因此,物联网异常检测任务面临着数据的动态变化而导致的模型预测精度不佳的问题。
技术实现思路
[0004]本专利技术是为了避免上述现有技术所存在的问题,提出了 ...
【技术保护点】
【技术特征摘要】
1.一种无监督的基于增量学习的动态物联网异常检测方法,其特征是按如下步骤进行:步骤1、按照时间顺序获取物联网场景中的数据集记为其中,为初始数据块,表示第t时间段的原始数据,t=1,2,
…
,T;T表示总时间;对所述数据集X
O
进行预处理,得到预处理后的数据集X={X
S
,X1,X2,
…
,X
t
,
…
,X
T
};X
S
为预处理后的初始数据块,且X
S
={x
s1
,x
s2
,...,x
sm
,...,x
sM
},x
sm
表示预处理后的初始数据块X
S
中第m个样本;M表示样本总量;X
t
表示预处理后的第t时间段的原始数据,且X
t
={x
t1
,x
t2
,...,x
tn
,...,x
tN
},x
tn
表示预处理后的第t时间段的原始数据X
t
中第n个样本;N表示样本总量;步骤2、构建高置信度正常样本集;步骤2.1、对预处理后的初始数据块X
S
进行k
‑
means聚类,从而划分为K个簇,记为C={C1,C2,
…
,C
k
,...,C
K
};C
k
表示将预处理后的初始数据块X
S
聚类后的第k个簇,k=1,2,
…
,K;步骤2.2、根据式(1)计算从第k个簇C
k
中筛选的高置信度正常样本数量N
k
:N
k
=|C
k
|
×
θ
ꢀꢀꢀꢀꢀꢀꢀ
(1)式(1)中,参数θ是筛选的高置信度正常样本数量所占预处理后的初始数据块X
S
中样本总量M的百分比;|C
k
|为第k个簇C
k
中对应的样本数量;步骤2.3、利用核密度估计方法计算第k个簇C
k
中所包含样本的密度值,并根据样本的密度值大小进行降序排序,从而选择密度值最高的前N
k
个样本并构成第k个高置信度正常样本集合,记为本集合,记为表示第k个高置信度正常样本集合中第n
k
个正常样本;步骤2.4、按照步骤2.2和步骤2.3的过程依次选择K个簇的高置信度正常样本集合,并构建高置信度正常样本集构建高置信度正常样本集表示从第k个簇C
k
中筛选出的高置信度样本集;步骤2.5、根据高置信度正常样本集X
H
来训练k
‑
means模型,从而划分为K
′
个簇,并得到聚类结果记为C
′
={C
′1,C
′2,...,C
′
k
′
,...,C
′
K
′
},C
′
k
′
表示将高置信度正常样本集X
H
聚类后的第k
′
个簇;令聚类中心为U={u1,u2,...,u
k
′
,...,u
K
′
};u
k
′
表示为高置信度正常样本集X
H
中第k
′
个簇C
′
k
′
的聚类中心;步骤3、利用式(2)计算预处理后的第t时间段的原始数据X
t
中第n个样本x
tn
的异常程分数PS(x
tn
):步骤4、通过预处理后的第t时间段的原始数据X
t
训练孤立森林模型,并通过训练好的孤立森林模型对预处理后的第t时间段的原始数据X
t
中的异常样本进行进一步识别:步骤4.1、训练孤立森林模型:步骤4.1.1、从预处理后的第t时间段的原始数据X
t
中随机抽取ψ个样本构成预处理后的第t时间段的原始数据X
t
的子集放入根节点;表示子集X
′
t
中的
第个样本;步骤4.1.2、随机指定子集X
′
t
中第个样本的一个维度,并用于在当前样本中随机产生一个切割点p;步骤4.1.3、将预处理后的第t时间段的原始数据X
t
中其余样本的维度依次与p进行比较,若小于p,则将相应样本放入第个样本的左子节点,否则放入第个样本的右子节点;步骤4.1.4、按照步骤4.1.2和步骤4.1.3的过程对左右子节点进行递归操作,直至所有的叶子节点都只有一个样本点或者孤立树已经达到指定的高度;从而得到一棵孤立树;步骤4.1.5、按照步骤4.1.1至步骤4.1.4的过程进行循环操作,直至生成指定数目的孤立树并构成训练好的孤立森林模型;步骤4.2、根据训练好的孤立森林模型,对预处理后的第t时间段的原始数据X
t
中第n个样本x
tn
的异常程度进行计算:步骤4.2.1、遍历训练好的每一棵孤立树,并计算第n个样本x
tn
在孤立森林模型中的平均高度h(x
tn
);步骤4.2.2、利用式(3)计算第n个样本x
tn
的异常分数CS(x
tn
):式(3)中,N是参与构建森林的样本总数,H(
·
)为调和级数;步骤5、将两种异常模型检测结果进行融合,识别预处理后的第t时间段的原始数据X
t
中的异常样本:步骤5.1、根据式(4)计算高置信度正常样本集X
H
与预处理后的第t时间段的原始数据X
t
的数据分布的相似度S(P,Q):式(4)中,P表示所筛选出的高置信度正常数据集X
H
的概率分布;Q表示预处理后的第t时间段的原始数据X
t
的概率分布;且S(P,Q)∈[0,1];步骤5.2、利用式(5)得到调节参数ω:ω=min(max(S(P,Q),σ),ρ)
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。