异常数据检测方法、装置、存储介质以及程序产品与流程

文档序号:13886796阅读:183来源:国知局

本发明涉及深度学习技术领域,尤其涉及一种异常数据检测方法、装置、存储介质以及程序产品。



背景技术:

异常检测旨在检测不符合期望的数据,在故障检测、欺诈检测、入侵检测等领域有着广泛应用,例如车辆的故障检测等。

现有的异常检测方法可分为监督学习方法和无监督学习方法两种。然而,采用无监督学习方法进行异常检测时,需要建立正常数据的假设模型,比如假设变量间相互独立,且无监督学习方法提取的数据特征较少,不能全方位表征数据的模式,导致异常检测准确度低;监督学习方法要求参与建模的不同模式的数据量均衡,实际应用中异常样本搜集困难,难以满足这一要求,导致异常检测较难实现。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种异常数据检测方法,以在缺少异常数据或者异常数据较少的场景下提取丰富的特征数据,提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖,解决现有技术中异常检测难以实现、准确度低的技术问题。

本发明的第二个目的在于提出一种异常数据检测装置。

本发明的第三个目的在于提出另一种异常数据检测装置。

本发明的第四个目的在于提出一种计算机程序产品。

本发明的第五个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种异常数据检测方法,包括:

对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据;

对每种结构化数据进行特征提取,获取每种结构化数据的特征数据;

将每种特征数据进行特征融合,得到目标特征数据;

对所述目标特征数据进行机器学习,得到所述目标数据的识别概率;其中,所述识别概率表示将所述目标数据识别为正常数据的概率。

作为本发明是第一方面实施例一种可能的实现方式,所述对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,包括:

从所述目标数据中提取出所有变量以及所述变量每个取值的采样时刻;

利用所有变量的每个取值以及所述采样时刻组成第一矩阵;其中,所述第一矩阵中同一行中的元素对应相同的变量,同一列中的元素对应相同的采样时刻,所述矩阵中的元素为所述变量的取值;所述第一矩阵的行数为所述变量的个数,所述第一矩阵的列数为所述变量的采样个数;

将所述第一矩阵作为所述结构化数据。

作为本发明是第一方面实施例一种可能的实现方式,所述对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,包括:

从所述目标数据中提取出所有变量以及所述变量每个取值的采样时刻;

针对每个变量,按照所述采样时刻的时序,利用所述变量的所有取值构成所述变量的一维向量;

利用每个变量的所述一维向量构成所述第二矩阵;其中,所述第二矩阵中一行元素对应一个所述一维向量,所述第二矩阵的行数为所述变量的个数;所述第二矩阵的列数为一列;

将所述第二矩阵作为所述结构化数据。

作为本发明是第一方面实施例一种可能的实现方式,所述对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,包括:

从所述目标数据中提取出所有变量以及所述变量每个取值的时间值;

基于两两相邻的变量形成第一变量,将所述两两相邻的变量在同一时间值上的取值做比值,得到所述第一变量的所有取值;

利用所有第一变量的每个取值以及对应的所述时间值组成第三矩阵;其中,所述第三矩阵中同一行中的元素对应相同的第一变量,同一列中的元素对应相同的时间值,所述第三矩阵中的元素为所述第一变量的取值;所述第三矩阵的行数为所述变量的个数减1,所述第一矩阵的列数为所述变量的采样个数;

将所述第三矩阵作为所述结构化数据。

作为本发明是第一方面实施例一种可能的实现方式,所述对每个结构化数据进行特征提取,获取每种结构化数据的特征数据,包括:

针对每种结构化数据,将所述结构化数据分别输入到对应的第一卷积网络中;

通过所述第一卷积网络对所述结构化数据与设置的权重进行卷积计算,得到第一特征数据;

利用选取的激活函数对所述第一特征数据进行非线性映射,得到所述特征数据。

作为本发明是第一方面实施例一种可能的实现方式,所述将每种特征数据进行特征融合,得到目标特征数据,包括:

针对每种特征数据,获取所述特征数据各维度的长度,并确定各维度的最大长度;

将所述特征数据各维度扩展到对应的最大长度;

通过补零的方式填充扩展出的数据,形成所述目标特征数据。

作为本发明是第一方面实施例一种可能的实现方式,所述将每种特征数据进行特征融合,得到目标特征数据,包括:

针对每种特征数据,获取所述特征数据各维度的长度,并确定各维度的最小长度;

对所述特征数据进行压缩使所述特征数据从各维度对应的长度转换到各维度对应的最小长度,形成所述目标特征数据。

作为本发明是第一方面实施例一种可能的实现方式,所述对所述特征数据进行压缩使所述特征数据从各维度的当前长度转换到各维度的最小长度,形成所述目标特征数据,包括:

根据每个维度的最小长度构建滑动窗;

控制所述滑动窗按照预设的步长对所述特征数据进行扫描;

对所述滑动窗每次扫描到的数据进行处理,构成所述目标特征数据。

作为本发明是第一方面实施例一种可能的实现方式,所述对所述目标特征数据进行机器学习,得到所述目标数据的识别概率;其中,所述识别概率表示将所述目标数据识别为正常数据的概率,包括:

将所述目标特征数据输入到训练好的第二卷积网络中,基于所述第二卷积网络对所述目标特征数据进行学习,得到所述目标特征数据的识别概率。

本发明实施例的异常数据检测方法,通过对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,对每种结构化数据进行特征提取,获取每种结构化数据的特征数据,将每种特征数据进行特征融合,得到目标特征数据,对目标特征数据进行机器学习,得到目标数据的识别概率。由此,能够在缺少异常数据或者异常数据较少的场景下,对异常数据进行结构形式的转换,将一种异常数据变化成多种结构形式,由于结构形式发生变化因此可以采用不同模式对异常数据进行特征提取,进而可以提取出丰富的特征数据,基于扩充后的特征数据,能够提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖,解决现有技术中异常检测难以实现、准确度低的技术问题。

为达上述目的,本发明第二方面实施例提出了一种异常数据检测装置,包括:

结构化处理模块,用于对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据;

特征提取模块,用于对每种结构化数据进行特征提取,获取每种结构化数据的特征数据;

融合模块,用于将每种特征数据进行特征融合,得到目标特征数据;

机器学习模块,用于对所述目标特征数据进行机器学习,得到所述目标数据的识别概率;其中,所述识别概率表示将所述目标数据识别为正常数据的概率。

本发明实施例的异常数据检测装置,通过对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,对每种结构化数据进行特征提取,获取每种结构化数据的特征数据,将每种特征数据进行特征融合,得到目标特征数据,对目标特征数据进行机器学习,得到目标数据的识别概率。由此,能够在缺少异常数据或者异常数据较少的场景下,对异常数据进行结构形式的转换,将一种异常数据变化成多种结构形式,由于结构形式发生变化因此可以采用不同模式对异常数据进行特征提取,进而可以提取出丰富的特征数据,基于扩充后的特征数据,能够提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖,解决现有技术中异常检测难以实现、准确度低的技术问题。

为达上述目的,本发明第三方面实施例提出了另一种异常数据检测装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的异常数据检测方法。

为了实现上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如第一方面实施例所述的异常数据检测方法。

为了实现上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的异常数据检测方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明一实施例提出的异常数据检测方法的流程示意图;

图2为典型的卷积神经网络的结构示意图;

图3为本发明实施例提供的一种获取结构化数据的实现方法的流程示意图;

图4(a)为第一种结构化数据示意图;

图4(b)为第二种结构化数据示意图;

图4(c)为第三种结构化数据示意图;

图5为本发明实施例提供的另一种获取结构化数据的实现方法的流程示意图;

图6为本发明实施例提供的又一种获取结构化数据的实现方法的流程示意图;

图7为本发明另一实施例提出的异常数据检测方法的流程示意图;

图8为激活函数示意图;

图9为本发明实施例提出的一种将每种特征数据进行特征融合得到目标特征数据的实现方法的流程示意图;

图10为对特征数据进行维度扩展的示意图;

图11为本发明实施例提出的另一种将每种特征数据进行特征融合得到目标特征数据的实现方法的流程示意图;

图12为对特征数据进行维度压缩的示意图;

图13为第二卷积网络的结构示意图;

图14为异常数据检测的过程示意图;

图15为本发明一实施例提出的异常数据检测装置的结构示意图;

图16为本发明另一实施例提出的异常数据检测装置的结构示意图;

图17为本发明又一实施例提出的异常数据检测装置的结构示意图;以及

图18为本发明一实施例提出的另一种异常数据检测装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的异常数据检测方法、装置、存储介质以及程序产品。

现实环境中,一般只存在符合期望的数据模式,由于异常的数据模式的采样成本高或者采样非常困难等原因,使得公众对异常行为所知甚少,甚至对异常行为一无所知。而异常行为中往往蕴含了显著的、具有很大危害性甚至致命性的信息,因此,异常检测显得尤为重要。

目前,异常检测一般均从已知的正常类数据中进行学习,建立正常行为的模型以进行异常检测,这种情况下通常采用无监督学习方法。无监督学习方法需要建立正常数据的假设模型,设定模型的阈值,有的假设数据符合特定的分布(如正态分布),有的假设变量间相互独立,然而实际数据并不一定满足上述假设,而且无监督学习方法提取数据特征较少,不能全方位表征数据的模式。监督学习方法是通过建立正常数据模式和异常数据模式分类模型,实现异常检测,要求参与建模的不同模式的数据量均衡,但是现实环境中,异常样本的搜集难度很大,前期很难满足监督学习方法对数据量均衡的要求。

针对上述问题,本发明提出了一种异常数据检测方法,以在缺少异常数据或者异常数据较少的场景下提取丰富的模式特征,提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖。

图1为本发明一实施例提出的异常数据检测方法的流程示意图。

如图1所示,该异常数据检测方法包括以下步骤:

步骤101,对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据。

本实施例中,需要对目标数据进行异常检测时,可以先对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据。

需要说明的是,后续内容中将给出对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据的具体实现过程,为避免赘述,此处不作详细说明。

步骤102,对每种结构化数据进行特征提取,获取每种结构化数据的特征数据。

本实施例中,对待检测的目标数据进行结构化处理得到不同结构的结构化数据之后,可以对每种结构化数据进行特征提取,以获取每种结构化数据的特征数据。

作为一种示例,可以为每种结构化数据设置对应的第一卷积网络,本实施例中国,该第一卷积网络包括卷积层。利用多个第一卷积网络同时对所有的结构化数据进行卷积计算,由于每种结构化数据设置了第一卷积网络,也就是并行扩展了特征提取过程,能够同时提取出每个结构化数据的特征数据,然后再结合激活函数,将提取出的特征数据进行非线性映射,得到每种结构化数据最终的特征数据。

步骤103,将每种特征数据进行特征融合,得到目标特征数据。

通过对不同结构的结构化数据进行特征提取,得到每种结构化数据的特征数据之后,可以将得到的所有特征数据进行特征融合,进而得到目标特征数据。

作为一种示例,可以对每种特征数据按照预设的维度大小进行扩展,将扩展后的数据作为目标特征数据。

步骤104,对目标特征数据进行机器学习,得到目标数据的识别概率。

其中,识别概率表示将目标数据识别为正常数据的概率。

作为一种示例,可以采用大量的样本特征数据预先对第二卷积神经网络进行训练,得到训练后的第二卷积神经网络,进而将目标特征数据输入至训练后的第二卷积神经网络中进行机器学习,得到目标数据的识别概率。将目标特征数据输入至训练后的第二卷积神经网络中,即可得到目标数据的识别概率。

图2为典型的卷积神经网络的结构示意图。如图2所示,卷积神经网络模型包括若干个卷积层、若干个池化层,以及全连接层,其中,卷积层和池化层为特征提取层,两者的个数相同。卷积层实现权值和输入数据的卷积运算,池化层实现对卷积层的输出的降维处理,全连接层实现从特征到输出的映射。

本示例中,在对卷积神经网络进行训练时,可以交叉信息熵为损失函数,其中,交叉信息熵如公式(1)所示。

h(y,yp)=∑ylog(yp)(1)

公式(1)中,y为样本数据输出值,yp为模型预测输出值。

进而,采用梯度下降法对卷积神经网络进行参数更新,通过分批次输入样本数据不断更新网络参数,直至损失函数达到预期或者达到预设的迭代次数为止,最终得到训练后的卷积神经网络。

进一步地,在获取到识别概率后,可以将识别概率与一个预设的阈值进行比较。当识别概率低于预设的阈值时,则将目标数据识别为异常数据。其中,阈值可以预先设定,阈值的取值越大,将目标数据中识别为正常数据的可能性越低,相当于为目标数据的识别设置了一个较高的门槛,通过提高门槛来严格异常数据识别的要求,阈值越大,识别准确度也会越高。

本实施例的异常数据检测方法,通过对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,对每种结构化数据进行特征提取,获取每种结构化数据的特征数据,将每种特征数据进行特征融合,得到目标特征数据,对目标特征数据进行机器学习,得到目标数据的识别概率。由此,能够在缺少异常数据或者异常数据较少的场景下,对异常数据进行结构形式的转换,将一种异常数据变化成多种结构形式,由于结构形式发生变化因此可以采用不同模式对异常数据进行特征提取,进而可以提取出丰富的特征数据,基于扩充后的特征数据,能够提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖,解决现有技术中异常检测难以实现、准确度低的技术问题。

为了更加清楚地说明上述实施例中对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据的具体实现过程,本发明实施例提供了三种不同的实现方法,基于这三种不同的实现方法,可以获得不同结构的结构化数据。下面将分别对这三种实现方法加以说明。

作为一种可能的实现方式,图3为本发明实施例提供的一种获取结构化数据的实现方法的流程示意图。如图3所示,在如图1所示实施例的基础上,步骤101可以包括以下步骤:

步骤201,从目标数据中提取出所有变量以及变量每个取值的采样时刻。

在待检测的目标数据中,可能包含不止一个变量,各个变量的取值也不止一个,每个取值的采样时刻有所区别。从而,本实施例中,可以从待检测的目标数据中提取出所有变量以及变量每个取值的采样时刻。

举例而言,表1为待检测的目标数据。从表1中可以看出,目标数据包含x1~x6六个变量,t1~t6表示目标数据的时间序列,即每个变量取值的采样时刻,表1中的数据表示各个变量的具体取值。

表1

从而,可以从表1中提取出所有变量x1~x6,并能够提取出所有变量每个取值的采样时刻t1~t6。

步骤202,利用所有变量的每个取值以及采样时刻组成第一矩阵。

其中,第一矩阵中同一行中的元素对应相同的变量,同一列中的元素对应相同的采样时刻,矩阵中的元素为变量的取值。第一矩阵的行数为变量的个数,第一矩阵的列数为变量的采样个数。

步骤203,将第一矩阵作为结构化数据。

本实施例中,从待检测的目标数据中提取出所有变量以及变量的每个取值的采样时刻,并利用所有变量的每个取值以及采样时刻组成第一矩阵之后,可以将第一矩阵作为一种结构化数据。

举例而言,对于如表1所示的目标数据,利用变量x1~x6的取值和采样时刻组成的第一种结构化数据如图4(a)所示。从图4(a)中可以看出,对于第一种结构化数据x1,在采用卷积计算的方式提取特征数据时,可以使用大小为3*3的卷积核,即权值w1。

由于第一矩阵中既包含所有变量的每个取值以及采样时刻,从而,对第一矩阵形成的结构化数据进行卷积后提取的特征中既包含了变量自身的时序特征,又包含了变量间的关系特征,从而提取的特征可以体现变量间的相关性。

作为另一种可能的实现方式,图5为本发明实施例提供的另一种获取结构化数据的实现方法的流程示意图。如图5所示,在如图1所示实施例的基础上,步骤101可以包括以下步骤:

步骤301,从目标数据中提取出所有变量以及变量每个取值的采样时刻。

需要说明的是,本实施例中对步骤301的描述,可以参见前述实施例中对步骤201的描述,其实现原理类似,此处不再赘述。

步骤302,针对每个变量,按照采样时刻的时序,利用变量的所有取值构成变量的一维向量。

本实施例中,对于目标数据,可以针对提取的每一个变量,按照采样时刻的时序,利用该变量所有采样时刻的取值组成该变量的一维向量。

步骤303,利用每个变量的一维向量构成第二矩阵。

其中,第二矩阵中一行元素对应一个一维向量,第二矩阵的行数为变量的个数;第二矩阵的列数为一列。

步骤304,将第二矩阵作为结构化数据。

本实施例中,利用每个变量的所有取值组成该变量对应的一维向量之后,可以利用所得的一维向量构成第二矩阵,并将第二矩阵作为一种结构化数据。

举例而言,对于如表1所示的目标数据,针对目标数据中的每一个变量,分别形成单独的一维向量,其中,一维向量中包含该变量从采样时刻t1至t6的所有取值。变量x1~x6对应的所有一维向量组成结构化数据x2,如图4(b)所示。从图4(b)中可以看出,对于结构化数据x2中包含的不同的一维向量,可以为每个一维向量分别分配大小为1*3的卷积核,每个卷积核的取值可以相同,也可以不同。第二矩阵中每个元素为一个维向量,而且每行只有一个一维向量,在进行卷积计算时,每个一维向量与一个对应的卷积核进行卷积计算,可以提取出每个一维向量的特征。

由于每个一维变量中仅包含该变量各个采样时刻的取值,提取的特征仅包含单个变量的时序特征,从而提取的特征可以体现各个变量自身对异常数据检测结果的影响。

作为另一种可能的实现方式,图6为本发明实施例提供的又一种获取结构化数据的实现方法的流程示意图。如图6所示,在如图1所示实施例的基础上,步骤101可以包括以下步骤:

步骤401,从目标数据中提取出所有变量以及变量每个取值的时间值。

需要说明的是,本实施例中对步骤401的描述,可以参见前述实施例中对步骤201的描述,其实现原理类似,此处不再赘述。

步骤402,基于两两相邻的变量形成第一变量,将两两相邻的变量在同一时间值上的取值做比值,得到第一变量的所有取值。

通过对卷积过程的分析可知,整个卷积过程只有加减乘法操作,而不涉及除法操作,可能导致检测变量间轻微不一致的能力较弱。例如,图像中的边界(图像中物体的边界)是相较于周边图像突出的部分,如果图像的边界模糊,则采用现有的卷积神经网络很难检测。因此,为了能够进一步增强检测能力,实现对轻微变化的检测,本实施例中,可以基于两两相邻的变量形成第一变量。

具体地,可以将两两相邻的变量相除,得到第一变量。

本实施例中,基于两两相邻的变量形成第一变量,第一变量的取值可以通过将两两相邻的变量在同一时间值上的取值做比值得到。

步骤403,利用所有第一变量的每个取值以及对应的时间值组成第三矩阵。

其中,第三矩阵中同一行中的元素对应相同的第一变量,同一列中的元素对应相同的时间值,第三矩阵中的元素为第一变量的取值。第三矩阵的行数为变量的个数减1,第一矩阵的列数为变量的采样个数。

步骤404,将第三矩阵作为结构化数据。

本实施例中,利用所有第一变量的每个取值以及对应的时间值(采样时刻)组成第三矩阵之后,可以将第三矩阵作为一种结构化数据。

举例而言,对于如表1所示的目标数据,基于两两相邻的变量形成第一变量,并将两两相邻的变量在同一采样时刻的取值做比值后,利用所有第一变量的每个取值以及对应的采样时刻组成第三矩阵之后,形成的另一种结构的结构化数据如图4(c)所示。从图4(c)可以看出,对于表1中的变量x1~x6,将相邻的两个变量做比值,即将x2/x1、x3/x2等分别作为新的变量,并将所得结果作为变量的取值,新的变量的采样时刻相对于原变量x1~x6不变,将所有新的变量的每个取值以及对应的采样时刻组成第三矩阵,得到结构化数据x3。对于结构化数据x3,在采用卷积计算的方式提取特征数据时,可以使用大小为3*3的卷积核,即权值w3。

通过利用两个相邻变量的商作为结构化数据,可以体现变量间的不一致,以进一步完善特征数据。

通过上述所述的获取结构化数据的方法对待检测的目标数据进行结构化数据处理,可以得到不同结构的结构化数据,为获取丰富的模式特征奠定基础。

图7为本发明另一实施例提出的异常数据检测方法的流程示意图。

如图7所示,该异常数据检测方法可以包括以下步骤:

步骤501,对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据。

需要说明的是,前述对对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据的描述也适用于本实施例中的步骤501,其实现原理类似,此处不再赘述。

步骤502,针对每种结构化数据,将结构化数据分别输入到对应的第一卷积网络中。

步骤503,通过第一卷积网络对结构化数据与设置的权重进行卷积计算,得到第一特征数据。

本实施例中,针对每一种结构化数据,可以分别为其设置对应的第一卷积网络,并将结构化数据输入至对应的第一卷积网络中,以通过第一卷积网络对结构化数据与预先设置的权重进行卷积计算,得到第一特征数据。

通过为每一种结构化数据设置对应的第一卷积网络,实现了第一卷积网络的横向扩展,通过增加第一卷积网络卷积节点的个数,有助于减少卷积神经网络模型的深度,降低网络结构的复杂度,从而提高卷积神经网络模型训练和运行效率。

步骤504,利用选取的激活函数对第一特征数据进行非线性映射,得到特征数据。

本实施例中,对结构化数据进行卷积计算得到第一特征数据之后,可以进一步利用选取的激活函数对基于每种结构化数据得到的第一特征数据进行非线性映射,得到每种结构化数据的特征数据。

其中,激活函数包括但不限于线性激活函数linear、非线性激活函数tanh、sigmoid,以及分段激活函数relu。这四种激活函数的示意图如图8所示。通过利用激活函数对第一特征数据进行非线性映射,使卷积神经网络模型具备了分层的学习能力。

举例而言,本实施例中,可以选择非线性激活函数tanh对第一特征数据进行非线性映射,得到特征数据,使得所得的特征数据均映射至某一范围内。

步骤505,将每种特征数据进行特征融合,得到目标特征数据。

通过对不同结构的结构化数据进行特征提取,得到每种结构化数据的特征数据之后,可以将得到的所有特征数据进行特征融合,进而得到目标特征数据。

本发明实施例提供了两种将每种特征数据进行特征融合,得到目标特征数据的可能实现方式。作为其中一种可能的实现方式,如图9所示,步骤505可以包括以下步骤:

步骤601,针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最大长度。

其中,每种特征数据的维度包括行、列两个维度。

本实施例中,得到每种结构化数据对应的特征数据之后,可以进一步针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最大长度。

举例而言,针对三种结构化数据x1、x2和x3,经卷积计算和非线性映射之后,得到的特征数据分别记为f1、f2和f3,其中,f1的大小为3*3,f2的大小为2*6,f3的大小为4*5。对于特征数据f1、f2和f3,行方向的维度大小分别为3、2和4,列方向的维度大小分别为3、6和5,则可以确定,行方向上维度的最大长度为4,列方向上维度的最大长度为6。

步骤602,将每种特征数据各维度扩展到对应的最大长度。

仍以上述f1、f2和f3三个特征数据为例。由于确定的行方向上维度的最大长度为4,列方向上维度的最大长度为6,则可以将f1、f2和f3这三个特征数据各维度扩展到对应的最大长度,即,将f1从3*3扩展至4*6,将f2从2*6扩展至4*6,将f3从4*5扩展至4*6。

步骤603,通过补零的方式填充扩展出的数据,形成目标特征数据。

对于维度扩展后的各个特征数据,可以对扩展出的数据进行补零,形成目标特征数据。

举例而言,图10为对特征数据进行维度扩展的示意图。如图10所示,对于大小为3*3的特征数据f1,将其扩展为4*6的大小,并对扩展出的数据进行补零后,得到图10中右图所示的目标特征数据。

作为另一种可能的实现方式,如图11所示,步骤505可以包括以下步骤:

步骤701,针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最小长度。

其中,每种特征数据的维度包括行、列两个维度。

本实施例中,得到每种结构化数据对应的特征数据之后,可以进一步针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最小长度。

举例而言,针对三种结构化数据x1、x2和x3,经卷积计算和非线性映射之后,得到的特征数据分别记为f1、f2和f3,其中,f1的大小为3*3,f2的大小为2*6,f3的大小为4*5。对于特征数据f1、f2和f3,行方向的维度大小分别为3、2和4,列方向的维度大小分别为3、6和5,则可以确定,行方向上维度的最小长度为2,列方向上维度的最小长度为3。

步骤702,对每种特征数据进行压缩使特征数据从各维度对应的长度转换到各维度对应的最小长度,形成目标特征数据。

具体地,可以先根据每个维度的最小长度构建滑动窗,控制滑动窗按照预设的步长对特征数据进行扫描,并对滑动窗每次扫描到的数据进行处理,构成目标特征数据。其中,滑动窗为由行窗口和列窗口组成的矩阵,矩阵的大小为行方向上维度的最小长度*列方向上维度的最小长度。滑动窗每次按照各个维度对应的步长移动。

此处需要说明的是,对滑动窗每次扫描到的数据进行处理构成目标特征数据,可以通过求取滑动窗窗口内数据的均值、最大值、标准差等方式,计算获得目标特征数据的取值。

作为一种示例,图12为对特征数据进行维度压缩的示意图。本示例中,以求取滑动窗窗口内数据的均值形成目标特征数据为例进行说明。如图12所示,对于4*5的特征数据,采用2*3的滑动窗进行压缩,该滑动窗的行方向对应的步长为2,列方向对应的步长为1。控制该滑动窗以各维度对应的步长进行移动,并计算窗口内数据的均值,得到目标特征数据如图12中右图所示。

通过对特征数据按照一定的维度大小进行扩展或者压缩,可以得到统一大小的目标特征数据,降低机器学习难度。

步骤506,对目标特征数据进行机器学习,得到目标数据的识别概率。

其中,识别概率表示将目标数据识别为正常数据的概率。

具体地,可以将目标特征数据输入到训练好的第二卷积网络中,基于第二卷积网络对目标特征数据进行学习,得到目标特征数据的识别概率。作为一种示例,图13为第二卷积网络的结构示意图。如图13所示,第二卷积网络包括0~n个卷积层gw(fa)、0~n个池化层p(fb)和一个全连接层fc(fc),其中,卷积层和池化层可以交替存在,位置可以变换。

将目标特征数据输入至训练后的第二卷积网络之后,通过第二卷积网络对目标特征数据进行学习,可以得到目标特征数据的识别概率。

步骤507,当识别概率低于预设的阈值时,将目标数据识别为异常数据。

当所得的目标特征数据的识别概率低于预设的阈值时,则将目标数据识别为异常数据。

本实施例的异常数据检测方法,通过对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,针对每种结构化数据,将结构化数据分别输入到对应的第一卷积网络中,通过第一卷积网络对结构化数据与设置的权重进行卷积计算,得到第一特征数据,实现了第一卷积网络的横向扩展,有助于减少卷积神经网络模型的深度,降低网络结构的复杂度。通过利用选取的激活函数对第一特征数据进行非线性映射,得到特征数据,能够使卷积网络具备分层的学习能力。通过对特征数据进行维度扩展得到目标特征数据,对目标特征数据进行机器学习得到目标特征数据的识别概率,以根据识别概率确定是否将目标数据识别为异常数据,能够在缺少异常数据或者异常数据较少的场景下提取丰富的模式特征,提高数据异常检测的准确度。

图14为异常数据检测的过程示意图。如图14所示,首先对待检测的目标数据进行结构化处理,得到x1、x2和x3三种结构化数据(处理过程图中未示出),将所得的结构化数据x1、x2和x3分别输入至对应的卷积层gw1(x1)、gw2(x2)和gw3(x3)中,得到对应的特征数据f1、f2和f3。其中,结构化数据x(1~3)和特征数据f(1~3)之间的关系为f=f(∑(wx+b)),其中,f为激活函数,w为与结构化数据x对应的权重,b为与结构化数据x对应的偏置。对特征数据f(1~3)进行特征融合,得到目标特征数据f。进而将目标特征数据f输入至卷积网络cw(f)中,输出目标数据的识别概率,其中,第二卷积网络cw(f)的结构示意图如图13所示。进而根据识别概率确定目标数据是否为异常数据。利用本发明实施例的异常数据检测方法,能够在缺少异常数据或者异常数据较少的场景下提取丰富的模式特征,提高数据异常检测的准确度。

为了实现上述实施例,本发明还提出一种异常数据检测装置。

图15为本发明一实施例提出的异常数据检测装置的结构示意图。如图15所示,该异常数据检测装置10包括:结构化处理模块110、特征提取模块120、融合模块130,以及机器学习模块140。其中,

结构化处理模块110,用于对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据。

具体地,结构化处理模块110用于从目标数据中提取出所有变量以及变量每个取值的采样时刻;利用所有变量的每个取值以及采样时刻组成第一矩阵;其中,第一矩阵中同一行中的元素对应相同的变量,同一列中的元素对应相同的采样时刻,矩阵中的元素为变量的取值;第一矩阵的行数为变量的个数,第一矩阵的列数为变量的采样个数;将第一矩阵作为结构化数据。

结构化处理模块110还用于从目标数据中提取出所有变量以及变量每个取值的采样时刻;针对每个变量,按照采样时刻的时序,利用变量的所有取值构成变量的一维向量;利用每个变量的一维向量构成第二矩阵;其中,第二矩阵中一行元素对应一个一维向量,第二矩阵的行数为变量的个数;第二矩阵的列数为一列;将第二矩阵作为结构化数据。

结构化处理模块110还用于从目标数据中提取出所有变量以及变量每个取值的时间值;基于两两相邻的变量形成第一变量;将两两相邻的变量在同一时间值上的取值做比值,得到第一变量的所有取值;利用所有第一变量的每个取值以及对应的时间值组成第三矩阵;其中,第三矩阵中同一行中的元素对应相同的第一变量,同一列中的元素对应相同的时间值,第三矩阵中的元素为第一变量的取值;第三矩阵的行数为变量的个数减1,第一矩阵的列数为变量的采样个数;将第三矩阵作为结构化数据。

特征提取模块120,用于对每种结构化数据进行特征提取,获取每种结构化数据的特征数据。

融合模块130,用于将每种特征数据进行特征融合,得到目标特征数据。

机器学习模块140,用于对目标特征数据进行机器学习,得到目标数据的识别概率。其中,识别概率表示将目标数据识别为正常数据的概率。

具体地,机器学习模块140用于将目标特征数据输入到训练好的卷积网络中,基于卷积网络对目标特征数据进行学习,得到目标特征数据的识别概率。

进一步地,在本发明实施例一种可能的实现方式中,如图16所示,在如图15所示实施例的基础上,特征提取模块120包括:

输入单元121,用于针对每种结构化数据,将结构化数据分别输入到对应的第一卷积网络中。

卷积计算模块122,用于通过第一卷积网络对结构化数据与设置的权重进行卷积计算,得到第一特征数据。

映射单元123,用于利用选取的激活函数对第一特征数据进行非线性映射,得到特征数据。

融合模块130,包括:

确定单元131,用于针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最大长度。

扩展单元132,用于将特征数据各维度扩展到对应的最大长度。

形成单元133,用于通过补零的方式填充扩展出的数据,形成目标特征数据。

或者,如图17所示,融合模块130,包括:

确定单元131,用于针对每种特征数据,获取特征数据各维度的长度,并确定各维度的最小长度。

压缩单元134,用于对特征数据进行压缩使特征数据从各维度对应的长度转换到各维度对应的最小长度,形成目标特征数据。

具体地,压缩单元134用于根据每个维度的最小长度构建滑动窗;控制滑动窗按照预设的步长对特征数据进行扫描;对滑动窗每次扫描到的数据进行处理,构成目标特征数据。

需要说明的是,前述对异常数据检测方法实施例的解释说明,也适用于本实施例的异常数据检测装置,其实现原理类似,此处不再赘述。

本实施例的异常数据检测装置,通过对待检测的目标数据进行至少两种结构化处理,得到至少两种结构化数据,对每种结构化数据进行特征提取,获取每种结构化数据的特征数据,将每种特征数据进行特征融合,得到目标特征数据,对目标特征数据进行机器学习,得到目标数据的识别概率。由此,能够在缺少异常数据或者异常数据较少的场景下,对异常数据进行结构形式的转换,将一种异常数据变化成多种结构形式,由于结构形式发生变化因此可以采用不同模式对异常数据进行特征提取,进而可以提取出丰富的特征数据,基于扩充后的特征数据,能够提高数据异常检测的准确度,解除对数据分布、变量独立或者数据量均衡的依赖,解决现有技术中异常检测难以实现、准确度低的技术问题。

为了实现上述实施例,本发明还提出另一种异常数据检测装置。

图18为本发明一实施例提出的另一种异常数据检测装置的结构示意图。如图18所示,该异常数据检测装置20包括:存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时,实现如前述实施例所述的异常数据检测方法。

为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,实现如前述实施例所述的异常数据检测方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的异常数据检测方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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