一种基于核密度估计的异常检测方法及装置与流程

文档序号:16918868发布日期:2019-02-19 19:11阅读:855来源:国知局
一种基于核密度估计的异常检测方法及装置与流程

本发明涉及数据检测技术领域,特别涉及一种基于核密度估计的异常检测方法及装置。



背景技术:

随着信息技术的发展,大数据时代已经来临。在金融、网络安全和互联网等领域,通过学习大量历史数据,利用异常检测算法能够区分正常数据与异常数据,从而对于异常问题进行预警。

目前,常用的基于密度异常检测算法有局部异常因子(localoutlierfactor,lof)算法及其变体,如simplified-lof算法、ldf算法以及loop算法等。

但是,这些算法适用于特定数据集合场景来寻找分布稀疏的点,即离群值,因此不具有广泛的适应性。



技术实现要素:

本发明实施例提供了一种基于核密度估计的异常检测方法及装置,具有广泛的适应性。

第一方面,本发明实施例提供了一种基于核密度估计的异常检测方法,预先获取经过数据处理的至少三个特征向量,还包括:

确定每一个所述特征向量对应的密度估计;

根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数;

根据所述概率密度函数,获取每一个所述特征向量出现的概率;

确定每一个所述概率对应的偏移量;

对每一个所述偏移量进行标准化处理,获取对应的标准值;

根据每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常。

优选地,

所述确定每一个所述特征向量对应的密度估计,包括:

根据下述第一公式,确定每一个所述特征向量对应的密度估计:

其中,di表征第i个所述特征向量对应的密度估计,k表征k数量个与第i个所述特征向量的近邻点,hh(d(i,p))表征给定预设带宽的核函数,其中,d(i,p)表征第i个所述特征向量与第p个所述特征向量之间的距离。

优选地,

所述核函数,包括:

根据下述第二公式,确定所述核函数:

或,

根据下述第三公式,确定所述核函数:

其中,π表征圆周率,e表征自然常数。

优选地,

所述根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数,包括:

对各个所述密度估计进行求和,获得所述至少三个特征向量的概率密度函数;

则,

所述根据所述概率密度函数,获取每一个所述特征向量出现的概率,包括:

针对每一个所述特征向量,将所述特征向量代入所述概率密度函数中,获取所述特征向量出现的概率。

优选地,

所述确定每一个所述概率对应的偏移量,包括:

根据下述第四公式,确定每一个所述概率对应的偏移量:

其中,zi表征第i个所述概率对应的偏移量,xi表征第i个所述概率,n表征所述概率的数量。

优选地,

所述对每一个所述偏移量进行标准化处理,获取对应的标准值,包括:

根据下述第五公式,确定每一个所述偏移量对应的标准值:

其中,bi表征第i个所述偏移量对应的标准值,zi表征第i个所述偏移量,zmax表征数值最大的所述偏移量,zmin表征数值最小的所述偏移量。

优选地,

所述根据每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常,包括:

针对每一个所述标准值,确定所述标准值是否大于预设的阈值;

如果是,确定所述标准值对应的所述特征向量异常。

第二方面,本发明实施例提供了一种基于核密度估计的异常检测装置,包括:

数据获取单元,用于预先获取经过数据处理的至少三个特征向量;

计算处理单元,用于确定所述数据获取单元的获取每一个所述特征向量对应的密度估计;根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数;根据所述概率密度函数,获取每一个所述特征向量出现的概率;确定每一个所述概率对应的偏移量;对每一个所述偏移量进行标准化处理,获取对应的标准值;

异常检测单元,用于根据所述计算处理单元获取的每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常。

优选地,

所述计算处理单元,用于根据下述第一公式,确定每一个所述特征向量对应的密度估计:

其中,di表征第i个所述特征向量对应的密度估计,k表征k数量个与第i个所述特征向量的近邻点,hh(d(i,p))表征给定预设带宽的核函数,其中,d(i,p)表征第i个所述特征向量与第p个所述特征向量之间的距离。

优选地,

所述核函数,包括:

根据下述第二公式,确定所述核函数:

或,

根据下述第三公式,确定所述核函数:

其中,π表征圆周率,e表征自然常数。

优选地,

所述计算处理单元,用于对各个所述密度估计进行求和,获得所述至少三个特征向量的概率密度函数;针对每一个所述特征向量,将所述特征向量代入所述概率密度函数中,获取所述特征向量出现的概率。

优选地,

所述计算处理单元,用于根据下述第四公式,确定每一个所述概率对应的偏移量:

其中,zi表征第i个所述概率对应的偏移量,xi表征第i个所述概率,n表征所述概率的数量。

优选地,

所述计算处理单元,用于根据下述第五公式,确定每一个所述偏移量对应的标准值:

其中,bi表征第i个所述偏移量对应的标准值,zi表征第i个所述偏移量,zmax表征数值最大的所述偏移量,zmin表征数值最小的所述偏移量。

优选地,

所述异常检测单元,用于针对每一个所述标准值,确定所述标准值是否大于预设的阈值;

如果是,确定所述标准值对应的所述特征向量异常。

在本发明实施例中,通过确定每一个经过数据处理得到的特征向量所对应的密度估计,可以确定总体特征向量的概率密度函数,根据该概率密度函数可以获取每一个特征向量出现的概率,再通过确定概率对应的偏移量,并对其进行标准化处理,即可获取偏移量对应的标准值,最后将每一个标准值与预设的阈值进行比对,即可确定特征向量是否异常,而无需根据特定数据集场景来寻找分布稀疏的点,因此具有广泛的适应性。

附图说明

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

图1是本发明一实施例提供的一种基于核密度估计的异常检测方法的流程图;

图2是本发明一实施例提供的另一种基于核密度估计的异常检测方法的流程图;

图3是本发明一实施例提供的一种基于核密度估计的异常检测装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种基于核密度估计的异常检测方法,包括:

步骤101:预先获取经过数据处理的至少三个特征向量;

步骤102:确定每一个所述特征向量对应的密度估计;

步骤103:根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数;

步骤104:根据所述概率密度函数,获取每一个所述特征向量出现的概率;

步骤105:确定每一个所述概率对应的偏移量;

步骤106:对每一个所述偏移量进行标准化处理,获取对应的标准值;

步骤107:根据每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常。

在本发明实施例中,通过确定每一个经过数据处理得到的特征向量所对应的密度估计,可以确定总体特征向量的概率密度函数,根据该概率密度函数可以获取每一个特征向量出现的概率,再通过确定概率对应的偏移量,并对其进行标准化处理,即可获取偏移量对应的标准值,最后将每一个标准值与预设的阈值进行比对,即可确定特征向量是否异常,而无需根据特定数据集场景来寻找分布稀疏的点,因此具有广泛的适应性。

需要说明的是,本发明提供的一种基于核密度估计的异常检测方法,可以应用于多种场景,如工业生产中设备异常状态检测,金融分析中异常操作的检测,道路交通中的事故多发路段等。还可以满足各类非常规数据的检测的需求,包括离群值检测和聚集中心的检测等。

在本发明一实施例中,所述确定每一个所述特征向量对应的密度估计,包括:

根据下述第一公式,确定每一个所述特征向量对应的密度估计:

其中,di表征第i个所述特征向量对应的密度估计,k表征k数量个与第i个所述特征向量的近邻点,hh(d(i,p))表征给定预设带宽的核函数,其中,d(i,p)表征第i个所述特征向量与第p个所述特征向量之间的距离。

在本发明实施例中,通过确定k个与第i个特征向量的近邻点,即可确定第i个特征向量与k个近邻点中的任一特征向量p之间的距离,进而确定给定带宽的核函数,再对核函数进行求和,最后除以近邻点的数量即可获取各个特征向量对应的密度估计。

在本发明一实施例中,所述核函数,包括:

根据下述第二公式,确定所述核函数:

或,

根据下述第三公式,确定所述核函数:

其中,π表征圆周率,e表征自然常数。

在本发明实施例中,给定预设带宽的核函数,可以通过上述第一公式或第二公式确定,而第i个特征向量与k个近邻点中的任一特征向量p之间的距离,可以是马氏距离、欧氏距离、曼哈顿距离、可达距离。

在本发明一实施例中,所述根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数,包括:

对各个所述密度估计进行求和,获得所述至少三个特征向量的概率密度函数;

则,

所述根据所述概率密度函数,获取每一个所述特征向量出现的概率,包括:

针对每一个所述特征向量,将所述特征向量代入所述概率密度函数中,获取所述特征向量出现的概率。

在本发明实施例中,对各个特征向量的密度估计进行求和,即可获取总特征向量的概率密度函数,再分别将每一个特征向量代入该概率密度函数中,即可获取特征向量在该概率密度函数表征的曲线中对应的值,即每一个特征向量出现的概率。

在本发明一实施例中,所述确定每一个所述概率对应的偏移量,包括:

根据下述第四公式,确定每一个所述概率对应的偏移量:

其中,zi表征第i个所述概率对应的偏移量,xi表征第i个所述概率,n表征所述概率的数量。

在本发明实施例中,在确定每一个特征向量出现的概率后,还需要对每一个概率进行标准化,标准化后获得的值可视为概率对应的偏移量,即根据总体特征向量出现的概率,确定任一特征向量出现的概率,偏离各个特征向量出现的概率的程度,即将任一特征向量出现的概率与总体特征向量出现的概率的平均值的差,再除以总体特征向量出现的概率的标准差,即可获取任一特征向量出现的概率所对应的偏移量。综上可见,相较于lof等算法使用平均密度进行对比可能存在的极端值现象,通过上述公式可以提供更加鲁棒的对比结果。

在本发明一实施例中,所述对每一个所述偏移量进行标准化处理,获取对应的标准值,包括:

根据下述第五公式,确定每一个所述偏移量对应的标准值:

其中,bi表征第i个所述偏移量对应的标准值,zi表征第i个所述偏移量,zmax表征数值最大的所述偏移量,zmin表征数值最小的所述偏移量。

在本发明实施例中,在确定每一个特征向量出现的概率所对应的偏移量后,还需要对每一个偏移量进行归一化处理,即将任一偏移量与数值最小的偏移量之差,除以数值最大的偏移量与数值最小的偏移量的差的过程,以使获得缩放到[0,1]区间的归一化后的标准值(即将每一个偏移量归一化后的标准值),以提升运算的准确率。

在本发明一实施例中,所述根据每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常,包括:

针对每一个所述标准值,确定所述标准值是否大于预设的阈值;

如果是,确定所述标准值对应的所述特征向量异常。

在本发明实施例中,将每一个标准值分别与预设的阈值进行比对,即可确定每一个标准值对应的特征向量是否异常,即当标准值大于阈值时,说明该标准值与异常,因此可以确定该标准值对应的特征向量异常,用户根据异常的特征向量,即可确定该特征向量所对应的至少一个原始数据异常,以实现异常检测的目的。

为了更加清楚的说明本发明的技术方案及优点,下面对本发明实施例提供的一种基于核密度估计的异常检测方法进行详细说明,具体可以包括以下步骤:

步骤201:获取经过数据处理的至少三个特征向量。

具体地,通过对采集到的至少三条数据进行去重、去空值、填空缺值以及编码等数据处理操作,可以从大量的、杂乱无章的、难以理解的数据中抽取并推导出对于某些有价值、有意义的至少三个特征向量。

步骤202:根据每一个特征向量对应的各个近邻点之间的距离和近邻点的数量,确定每一个特征向量对应的密度估计。

具体地,根据下述第一公式确定每一个特征向量对应的密度估计,

其中,di表征第i个特征向量对应的密度估计,k表征k数量个与第i个特征向量的近邻点,hh(d(i,p))表征给定预设带宽的核函数,其中,d(i,p)表征第i个特征向量与第p个特征向量之间的距离。

而给定预设带宽的核函数,可以根据下述第二公式或第三公式获得:

第二公式:

第三公示:

其中,π表征圆周率,e表征自然常数2.71828。

步骤203:对各个密度估计进行求和,获得至少三个特征向量的概率密度函数。

具体地,在获取总体特征向量的概率密度函数时,需要通过对各个密度估计求和获得。

步骤204:针对每一个特征向量,将特征向量代入概率密度函数中,获取特征向量出现的概率。

具体地,通过将每一个特征向量分别代入获取的概率密度函数中,即可获取每一个特征向量对应的值,即特征向量出现的概率。

步骤205:根据概率的数量,确定每一个概率对应的偏移量。

具体地,根据下述第四公式,确定每一个概率对应的偏移量:

其中,zi表征第i个概率对应的偏移量,xi表征第i个概率,n表征概率的数量。

具体地,在确定每一个概率对应的偏移量时,需要对每一个概率进行标准化,标准化后的值可视为概率对应的偏移量,即通过任一概率与概率的平均值的差,除以概率的标准差获得。

步骤206:针对每一个偏移量,将偏移量除以数值最大的偏移量与数值最小的偏移量的差值,获取偏移量对应的标准值。

具体地,根据下述第五公式,确定每一个偏移量对应的标准值:

其中,bi表征第i个偏移量对应的标准值,zi表征第i个偏移量,zmax表征数值最大的偏移量,zmin表征数值最小的偏移量。

即对每一个偏移量进行归一化处理,获得缩放到[0,1]区间的归一化后的标准值(即将每一个偏移量归一化后的标准值),以提升运算的准确率。

步骤207:针对每一个标准值,确定标准值是否大于预设的阈值,如果是,确定标准值对应的特征向量异常。

具体地,通过将每一个标准值分别与预设的阈值进行比对,即可确定每一个标准值对应的特征向量是否异常,即在标准值大于阈值时,说明标准值异常,因此可以确定标准值对应的特征向量异常。

如图3所示,本发明提供了一种基于核密度估计的异常检测装置,包括:

数据获取单元301,用于预先获取经过数据处理的至少三个特征向量;

计算处理单元302,用于确定所述数据获取单元301的获取每一个所述特征向量对应的密度估计;根据每一个所述密度估计,确定所述至少三个特征向量的概率密度函数;根据所述概率密度函数,获取每一个所述特征向量出现的概率;确定每一个所述概率对应的偏移量;对每一个所述偏移量进行标准化处理,获取对应的标准值;

异常检测单元303,用于根据所述计算处理单元302获取的每一个所述标准值和预设的阈值,确定每一个所述特征向量是否异常。

在本发明实施例中,通过计算处理单元确定数据获取单元获取的每一个经过数据处理得到的特征向量所对应的密度估计,可以确定总体特征向量的概率密度函数,根据该概率密度函数可以获取每一个特征向量出现的概率,再通过确定概率对应的偏移量,并对其进行标准化处理,即可获取偏移量对应的标准值,最后通过异常检测单元将计算处理单元获取的每一个标准值与预设的阈值进行比对,即可确定特征向量是否异常,而无需根据特定数据集场景来寻找分布稀疏的点,因此具有广泛的适应性。

在本发明一实施例中,所述计算处理单元,用于根据下述第一公式,确定每一个所述特征向量对应的密度估计:

其中,di表征第i个所述特征向量对应的密度估计,k表征k数量个与第i个所述特征向量的近邻点,hh(d(i,p))表征给定预设带宽的核函数,其中,d(i,p)表征第i个所述特征向量与第p个所述特征向量之间的距离。

在本发明一实施例中,所述核函数,包括:

根据下述第二公式,确定所述核函数:

或,

根据下述第三公式,确定所述核函数:

其中,π表征圆周率,e表征自然常数。

在本发明一实施例中,所述计算处理单元,用于对各个所述密度估计进行求和,获得所述至少三个特征向量的概率密度函数;针对每一个所述特征向量,将所述特征向量代入所述概率密度函数中,获取所述特征向量出现的概率。

在本发明一实施例中,所述计算处理单元,用于根据下述第四公式,确定每一个所述概率对应的偏移量:

其中,zi表征第i个所述概率对应的偏移量,xi表征第i个所述概率,n表征所述概率的数量。

在本发明一实施例中,所述计算处理单元,用于根据下述第五公式,确定每一个所述偏移量对应的标准值:

其中,bi表征第i个所述偏移量对应的标准值,zi表征第i个所述偏移量,zmax表征数值最大的所述偏移量,zmin表征数值最小的所述偏移量。

在本发明一实施例中,所述异常检测单元,用于针对每一个所述标准值,确定所述标准值是否大于预设的阈值;

如果是,确定所述标准值对应的所述特征向量异常。

本发明各个实施例至少具有如下有益效果:

1、在本发明一实施例中,通过确定每一个经过数据处理得到的特征向量所对应的密度估计,可以确定总体特征向量的概率密度函数,根据该概率密度函数可以获取每一个特征向量出现的概率,再通过确定概率对应的偏移量,并对其进行标准化处理,即可获取偏移量对应的标准值,最后将每一个标准值与预设的阈值进行比对,即可确定特征向量是否异常,而无需根据特定数据集场景来寻找分布稀疏的点,因此具有广泛的适应性。

2、在本发明一实施例中,通过确定k个与第i个特征向量的近邻点,即可确定第i个特征向量与k个近邻点中的任一特征向量p之间的距离,进而确定给定带宽的核函数,再对核函数进行求和,最后除以近邻点的数量即可获取各个特征向量对应的密度估计。

3、在本发明一实施例中,给定预设带宽的核函数,可以通过上述第一公式或第二公式确定,而第i个特征向量与k个近邻点中的任一特征向量p之间的距离,可以是马氏距离、欧氏距离、曼哈顿距离、可达距离。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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