掌桥专利:专业的专利平台
掌桥专利
首页

异常数据的检测方法、装置、计算机设备及存储介质

文献发布时间:2024-04-18 19:58:30


异常数据的检测方法、装置、计算机设备及存储介质

技术领域

本申请涉及数据安全技术领域,特别是涉及一种异常数据的检测方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

目前,针对网络数据的异常检测方法通常是将网络流量数据输入至异常检测模型中,通过异常检测模型判断输入的网络流量数据是否存在异常。

在当前的异常检测模型中,通过识别网络流量数据中具有显著差异的数据点来判断数据是否为异常数据。由于异常检测的目标数据包含很多特征,因此采用数据降维的方法来实现特征的分离,但是基于降维后的特征进行检测的方法会舍弃掉表现不显著的非显著特征,从而丢失可能存在异常的非显著特征,降低判断数据异常的准确性。

因此,在确定网络流量数据是否异常时,如何将网络流量数据的全部特征进行异常判断,提高判断异常数据的准确性,是亟待解决的技术问题。

发明内容

基于此,有必要针对上述技术问题,提供一种的异常数据的检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种异常数据的检测方法。所述方法包括:

获取网络流量数据,作为待检测数据,将所述待检测数据映射到低维度特征空间,得到所述待检测数据对应的多个低维度数据点;

针对于每个低维度数据点,确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,并确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值;

根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,并基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据。

在其中一个实施例中,所述确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,包括:

基于预设的核密度函数,确定所述低维度数据点在所述低维度特征空间的概率密度值;

基于所述概率密度值的倒数,确定所述低维度数据点在所述低维度特征空间的初始异常程度值;

基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值;其中,所述参考异常程度值是基于所述多个低维度数据点的初始异常程度值确定的。

在其中一个实施例中,所述基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值,包括:

从所述多个低维度数据点的初始异常程度值中,确定出最大的初始异常程度值,作为所述参考异常程度值;

针对每个低维度数据点,将所述低维度数据点的初始异常程度值与所述参考异常程度值求商,得到所述低维度数据点的特征空间异常程度值。

在其中一个实施例中,所述确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值,包括:

将所述低维度数据点还原至降维前的高维度特征空间,得到所述低维度数据点对应的还原数据;

确定所述还原数据与原始数据之间的误差距离值,并基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值;其中,所述原始数据是所述低维度数据点在降维前的数据;所述参考距离值是基于所述多个低维度数据点的误差距离值确定的。

在其中一个实施例中,所述基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值,包括:

从所述多个低维度数据点的误差距离值中,确定出最大的误差距离值,作为所述参考距离值;

针对每个低维度数据点,将所述低维度数据点的误差距离值与所述参考距离值求商,得到所述低维度数据点的数据恢复异常程度值。

在其中一个实施例中,所述根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,包括:

获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值;

基于所述权重值,对所述特征空间异常程度值和所述数据恢复异常程度值进行加权计算,得到所述低维度数据点的目标异常值。

在其中一个实施例中,所述获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值,包括:

基于样本数据,训练权重确定模型;

基于所述权重确定模型的训练结果,确定所述特征空间异常程度值和所述数据恢复异常程度值分别对应的权重值;

其中,所述样本数据对应有异常数据标签,用于标注所述样本数据中包含的异常数据点;所述权重确定模型基于初始权重值和所述样本数据进行训练,并在训练过程中以得到所述样本数据中多个已知异常数据点对应的目标异常值之和最大为学习目标,对模型参数和所述初始权重值进行更新,直到所述学习目标达成。

在其中一个实施例中,所述根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值之后,还包括:

在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,基于所述低维度数据点的特征空间异常程度值,以及所述特征空间异常程度值对应的权重值,确定所述特征空间异常程度值在所述目标异常值中的第一贡献度;

基于所述低维度数据点的数据恢复异常程度值,以及所述数据恢复异常程度值对应的权重值,确定所述数据恢复异常程度值在所述目标异常值中的第二贡献度;

将所述待检测数据中的异常数据、以及各异常数据对应的所述第一贡献度和所述第二贡献度反馈至异常检测请求端。

在其中一个实施例中,所述基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据,包括:

若所述目标异常值大于预设阈值,则确定所述低维度数据点对应的待检测数据为异常数据。

第二方面,本申请还提供了一种异常数据的检测装置。所述装置包括:

数据降维模块,用于获取网络流量数据,作为待检测数据,将所述待检测数据映射到低维度特征空间,得到所述待检测数据对应的多个低维度数据点;

异常程度确定模块,用于针对于每个低维度数据点,确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,并确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值;

异常数据确定模块,用于根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,并基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据。

在其中一个实施例中,所述异常程度确定模块,具体用于:

基于预设的核密度函数,确定所述低维度数据点在所述低维度特征空间的概率密度值;

基于所述概率密度值的倒数,确定所述低维度数据点在所述低维度特征空间的初始异常程度值;

基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值;其中,所述参考异常程度值是基于所述多个低维度数据点的初始异常程度值确定的。

在其中一个实施例中,所述异常程度确定模块,具体还用于:

从所述多个低维度数据点的初始异常程度值中,确定出最大的初始异常程度值,作为所述参考异常程度值;

针对每个低维度数据点,将所述低维度数据点的初始异常程度值与所述参考异常程度值求商,得到所述低维度数据点的特征空间异常程度值。

在其中一个实施例中,所述异常程度确定模块,具体用于:

将所述低维度数据点还原至降维前的高维度特征空间,得到所述低维度数据点对应的还原数据;

确定所述还原数据与原始数据之间的误差距离值,并基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值;其中,所述原始数据是所述低维度数据点在降维前的数据;所述参考距离值是基于所述多个低维度数据点的误差距离值确定的。

在其中一个实施例中,所述异常程度确定模块,具体还用于:

从所述多个低维度数据点的误差距离值中,确定出最大的误差距离值,作为所述参考距离值;

针对每个低维度数据点,将所述低维度数据点的误差距离值与所述参考距离值求商,得到所述低维度数据点的数据恢复异常程度值。

在其中一个实施例中,所述异常数据确定模块,具体用于:

获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值;

基于所述权重值,对所述特征空间异常程度值和所述数据恢复异常程度值进行加权计算,得到所述低维度数据点的目标异常值。

在其中一个实施例中,所述异常数据确定模块,具体还用于:

基于样本数据,训练权重确定模型;

基于所述权重确定模型的训练结果,确定所述特征空间异常程度值和所述数据恢复异常程度值分别对应的权重值;

其中,所述样本数据对应有异常数据标签,用于标注所述样本数据中包含的异常数据点;所述权重确定模型基于初始权重值和所述样本数据进行训练,并在训练过程中以得到所述样本数据中多个已知异常数据点对应的目标异常值之和最大为学习目标,对模型参数和所述初始权重值进行更新,直到所述学习目标达成。

在其中一个实施例中,所述装置还包括:

贡献度确定模块,用于在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,基于所述低维度数据点的特征空间异常程度值,以及所述特征空间异常程度值对应的权重值,确定所述特征空间异常程度值在所述目标异常值中的第一贡献度;

基于所述低维度数据点的数据恢复异常程度值,以及所述数据恢复异常程度值对应的权重值,确定所述数据恢复异常程度值在所述目标异常值中的第二贡献度。

数据反馈模块,用于将所述待检测数据中的异常数据、以及各异常数据对应的所述第一贡献度和所述第二贡献度反馈至异常检测请求端。

在其中一个实施例中,所述异常数据确定模块,具体用于:

若所述目标异常值大于预设阈值,则确定所述低维度数据点对应的待检测数据为异常数据。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述方法的步骤。

上述异常数据的检测方法、装置、计算机设备、存储介质和计算机程序产品,通过获取网络流量数据,作为待检测数据,将所述待检测数据映射到低维度特征空间,得到所述待检测数据对应的多个低维度数据点;针对于每个低维度数据点,确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,并确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值;根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,并基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据。

可知,通过将待检测数据从高维度特征空间映射到低维度特征空间,能够得到待检测数据的显著特征,并通过计算低维度特征空间中的特征空间异常度值,确定显著特征对应的异常程度;在将待检测数据从高维度特征空间映射到低维度特征空间之后,再将待检测数据从低维度特征空间还原至高维度特征空间,得到还原过程中存在的数据恢复异常程度值。由于,还原过程中存在的数据恢复异常程度值来源于待检测数据在映射和还原过程中的误差,该误差是高维度特征空间映射到低维度特征空间时丢失的非显著特征得到的,因此,数据恢复异常特征值中包含着非显著特征。最后,通过特征空间异常程度值和数据恢复异常程度值,一起来确定待检测数据的目标异常值,其中,目标异常值中包含着显著特征和非显著特征,也就是说,目标异常值包含了待检测数据中的全部特征。基于目标异常值,最终判断待检测数据是否为异常数据。通过上述步骤,能够将网络流量数据的全部特征进行异常判断,从而达到提高判断异常数据的准确性的效果。

附图说明

图1为一个实施例中异常数据的检测方法的应用环境图;

图2为一个实施例中异常数据的检测方法的流程示意图;

图3为一个实施例中确定特征空间异常程度值的步骤的流程示意图;

图4为另一个实施例中确定特征空间异常程度值的步骤的流程示意图;

图5为一个实施例中确定数据恢复异常程度值的步骤的流程示意图;

图6为另一个实施例中确定数据恢复异常程度值的步骤的流程示意图;

图7为一个实施例中确定目标异常值的步骤的流程示意图;

图8为一个实施例中确定权重值的步骤的流程示意图;

图9为一个实施例中反馈贡献度的步骤的流程示意图;

图10为另一个实施例中异常数据的检测方法的流程示意图;

图11为一个实施例中异常数据的检测装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的异常数据的检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,终端102向服务器104发送实时的网络流量数据,服务器在检测到异常数据后可以将异常信息发送至终端102或者其他监测设备。数据存储系统也可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其中,该应用环境的终端102可以包括网络通信终端,网络通信终端中传输网络流量数据,服务器通过检测网络通信终端的网络流量数据,实时检测网络流量数据是否异常,并在检测到异常数据后反馈至该网络通信终端或者其他监测设备。

在一个实施例中,如图2所示,提供了一种异常数据的检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

S202,获取网络流量数据,作为待检测数据,将所述待检测数据映射到低维度特征空间,得到所述待检测数据对应的多个低维度数据点。

其中,网络流量数据可以是数据传输终端之间通过网络传输的数据,数据的内容可以是文本、图像、音频、视频等;待检测数据是网络流量数据中的全部数据或者部分数据,也可以是其他终端、用户生产或发送的数据,本申请实施例不作具体限制;低维度特征空间是比待检测数据的原始数据空间维度更低的维度所对应的特征空间,特征空间可以是一个多维度的向量空间;低维度数据点可以是服务器将待检测数据映射到低维度特征空间之后,得到的多个数据。并将每个数据作为一个数据点,由此组成的多个低维度数据点,每个数据点可以使用向量表示。

具体地,服务器接收终端发送的网络流量数据,并将网络流量数据作为待检测数据,终端可以是用户通信终端。基于此,服务器通过预设的降维方法,将待检测数据映射到低维度特征空间,从而进行数据降维。由于待检测数据的数据量较大,服务器在降维时,会将待检测数据降维成多个低维度数据点,并基于多个低维度数据点判断低维度数据点对应的待检测数据是否异常,有利于提高数据检测效率。

针对于将所述待检测数据映射到低维度特征空间的步骤,预设的降维方法或者映射方法可以是采用主成分分析的方法实现降维,也可以是采用核主成分分析的方法实现降维,本申请实施例中不作具体限制。其中,所述核主成分分析方法中所采用的核函数可以是高斯核、拉普拉斯核、Sigmoid核等。服务器在执行降维步骤时,低维度特征空间的维度可以是用户预设的维度,应理解,该维度应比待检测数据的原始维度低。

可选地,作为一个实施例,在降维处理之前,可以先将网络流量数据进行预处理,得到处理后的待检测数据。其中,服务器可以根据预设的多种维度的特征,从网络流量数据中提取相应的多维度数据;服务器将多维度数据进行数据清洗、数据补全,并将各维度的特征数据转换为数值型的特征数据,以便于后续步骤中计算特征数据的距离;服务器将处理后的多维度数据进行特征正则化、中心化处理,降低多种特征数据之间数量级差异对后续计算步骤的影响。

S204,针对于每个低维度数据点,确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,并确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值。

其中,特征空间异常程度值可以是表示低维度数据点在低维度特征空间中的异常程度,异常程度越高则表明该低维度数据点是异常数据的可能性越高;特征空间异常程度值可以通过预设的方法确定,例如,对于映射到低维特征空间中的多个低维度数据点,可以采用概率密度函数确定低维度数据点的概率密度。

高维度特征空间可以是低维度数据点在降维前的数据维度对应的特征空间,也可以是比降维前的数据维度的更高维度所对应的特征空间,服务器将低维度数据点从低维度特征空间还原至高维度特征空间时,低维度数据点的数据维度也会随着特征空间的维度进行改变;数据恢复异常程度用于反映低维度数据点在还原至降维前的高维度特征空间过程中的数据变化,若数据变化越多则说明降维时舍弃的部分特征中的异常程度越高。数据恢复异常程度可以通过预设的距离算法计算得到,也可以通过预设的相似度算法计算得到。

具体地,服务器对多个低维度数据点进行遍历,对每一个低维度数据点,采用预设的特征空间异常程度算法,计算该低维度数据点的降维至低维度特征空间中的特征空间异常程度值;采用预设的数据恢复异常程度算法,计算该低维度数据点从低维度特征空间还原至高维度特征空间时,该低维度数据点对应的数据恢复异常程度值。

可选地,作为一个实施例,服务器采用概率密度函数计算每个低维度数据点的概率密度值,并根据概率密度值确定特征空间异常程度值;服务器采用空间距离函数计算每个低维度数据点从低维度特征空间还原至高维度特征空间时,对应数据点在两个特征空间中的距离值,并根据距离值确定数据恢复异常程度值。

S206,根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,并基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据。

其中,目标异常值是基于特征空间异常程度值和数据恢复异常程度值,综合计算得到的,目标异常值是综合特征空间异常程度值和数据恢复异常程度值中的部分权重得到的最终的异常值。目标异常值可以用于确定所述低维度数据点对应的待检测数据是异常数据或者是正常数据。

具体地,服务器获取低维度数据点的特征空间异常程度值和数据恢复异常程度值之后,按照预设算法融合两个异常程度值,得到低维度数据点对应的目标异常值。基于此,服务器通过预设的判断规则和目标异常值,确定低维度数据点是否为异常数据,也可以确定待检测数据是否为异常数据。

可选地,作为一个实施例,当待检测数据中的预设数量的低维度数据点被确定为异常数据之后,所述待检测数据为异常数据。

已知,在现有的异常检测模型中,采用数据降维的方法来实现特征的分离,但是基于降维后的特征进行检测的方法会舍弃掉表现不显著的非显著特征,从而丢失可能存在异常的非显著特征,降低判断数据异常的准确性。应理解,如果采用基于压缩数据还原的恢复程度进行检测的方法,会将降维后的特征映射回未降维的特征空间。由于显著特征在特征映射时会完全还原至原始数据,无法看到其中的误差,因此,该方法中的显著特征并未参与异常检测。

综上所述,两种现有方法都会舍弃一部分特征,最终导致判断网络流量数据的异常的准确性较低。

因而,在本申请中所述的异常数据的检测方法中,通过将待检测数据从高维度特征空间映射到低维度特征空间,能够得到待检测数据的显著特征,并通过计算低维度特征空间中的特征空间异常度值,确定显著特征对应的异常程度;在将待检测数据从高维度特征空间映射到低维度特征空间之后,再将待检测数据从低维度特征空间还原至高维度特征空间,得到还原过程中存在的数据恢复异常程度值。由于,还原过程中存在的数据恢复异常程度值来源于待检测数据在映射和还原过程中的误差,该误差是高维度特征空间映射到低维度特征空间时丢失的非显著特征得到的,因此,数据恢复异常特征值中包含着非显著特征。最后,通过特征空间异常程度值和数据恢复异常程度值,一起来确定待检测数据的目标异常值,其中,目标异常值中包含着显著特征和非显著特征,也就是说,目标异常值包含了待检测数据中的全部特征。基于目标异常值,最终判断待检测数据是否为异常数据。通过上述步骤,能够将网络流量数据的全部特征进行异常判断,从而达到提高判断异常数据的准确性的效果。

在一个实施例中,如图3所示,所述确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值的步骤的具体实现过程,包括:

S302,基于预设的核密度函数,确定所述低维度数据点在所述低维度特征空间的概率密度值。

其中,核密度函数是概率密度函数,是一种用来衡量给定点附近空间中物质的分布密度的数学函数。通过核密度函数能够确定低维度数据点在低维度特征空间中的概率密度值,概率密度值是核密度函数的输出结果。

具体地,服务器将低维度数据点的向量值输入核密度函数中,计算得到低维度数据点对应的概率密度值,基于类似的方法,可得到多个低维度数据点的概率密度值。

S304,基于所述概率密度值的倒数,确定所述低维度数据点在所述低维度特征空间的初始异常程度值。

其中,由于概率密度值越低越可能是异常的低维度数据点,因此概率密度值的倒数可以理解为倒数值越高越可能是异常的低维度数据点。初始异常程度值用于反映该低维度数据点的异常程度,一般来说,初始异常程度值越高,则低维度数据点的异常程度越高,低维度数据点就越可能是异常数据。

具体地,服务器计算各个低维度数据点对应的概率密度值的倒数,并将倒数对应的值作为初始异常程度值。

S306,基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值;其中,所述参考异常程度值是基于所述多个低维度数据点的初始异常程度值确定的。

其中,参考异常程度值用于确定特征空间异常程度值,且参考异常程度值是通过多个低维度数据点的初始异常程度值确定得到的参考值。

具体地,服务器获取各个低维度数据点的初始异常程度值,并基于各个低维度数据点的初始异常程度值确定参考异常程度值。基于此,服务器将遍历到的单个低维度数据点的初始异常程度值和参考异常程度值进行计算,基于所述计算的结果,得到该低维度数据点的特征空间异常程度值。

本实施例中,服务器通过核密度函数,计算低维度数据点对应的概率密度值,并计算初始异常程度值,最终基于参考异常程度值,计算得到该低维度数据点对应的特征空间异常程度值,能够达到确定更准确的特征空间异常程度值的效果。

在一个实施例中,如图4所示,所述基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值的步骤的具体实现过程,包括:

S402,从所述多个低维度数据点的初始异常程度值中,确定出最大的初始异常程度值,作为所述参考异常程度值。

具体地,服务器计算得到待检测数据对应的多个低维度数据点的初始异常程度值。基于此,服务器从多个初始异常程度值中,选择数值最大的初始异常程度值作为参考异常程度值。

可选地,服务器可以在多个低维度数据点的初始异常程度值中,选择最小的初始异常程度值作为参考距离值,也可以选择平均的初始异常程度值作为参考异常程度值,本申请实施例中不作具体限制。

S404,针对每个低维度数据点,将所述低维度数据点的初始异常程度值与所述参考异常程度值求商,得到所述低维度数据点的特征空间异常程度值。

具体地,服务器遍历多个低维度数据点,针对每个低维度数据点,计算低维度数据点的初始异常程度值与参考异常程度值之间的商,并将其作为特征空间异常程度值。

本实施例中,服务器根据选取最大值的方法,确定参考异常程度值;并根据求商的方法确定特征空间异常程度值。基于上述方法能够达到确定更准确的特征空间异常程度值的效果。

在一个实施例中,如图5所示,所述确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值的步骤的具体实现过程,包括:

S502,将所述低维度数据点还原至降维前的高维度特征空间,得到所述低维度数据点对应的还原数据。

其中,低维度数据点是服务器将待检测数据映射至低维度特征空间时得到的数据点;还原数据是服务器将低维度数据点还原至降维前的高维度特征空间,从而得到低维度数据点在高维度特征空间中的数据。

具体地,服务器根据还原算法,将低维度数据点还原至降维前的高维度特征空间,从而得到低维度数据点还原后的还原数据。

S504,确定所述还原数据与原始数据之间的误差距离值,并基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值;其中,所述原始数据是所述低维度数据点在降维前的数据;所述参考距离值是基于所述多个低维度数据点的误差距离值确定的。

其中,误差距离值可以由同一个低维度数据点在低维度特征空间和高维度特征空间中的各自的位置信息确定。基于两个位置信息之间的距离值,得到误差距离值。应理解,原始数据是所述低维度数据点在降维前的数据,也就是说,原始数据是低维度数据点在高维度特征空间中的数据;参考距离值用于确定数据恢复异常程度值,且参考距离值是通过多个低维度数据点的误差距离值确定得到的参考值。

具体地,服务器根据预设的距离算法,例如欧氏距离、曼哈顿距离、切比雪夫距离等,确定还原数据与原始数据之间的误差距离值。并且,在服务器遍历多个低维度数据点后,确定多个低维度数据点对应的误差距离值,并从多个误差距离值中确定参考距离值。基于此,服务器依据误差距离值和参考距离值,确定低维度数据点对应的数据恢复异常程度值。

本实施例中,通过计算还原数据和原始数据之间的误差距离值,并基于误差距离值确定数据恢复异常程度值,能够达到获取更准确的数据恢复异常程度值的效果。

在一个实施例中,如图6所示,所述确定基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值的步骤的具体实现过程,包括:

S602,从所述多个低维度数据点的误差距离值中,确定出最大的误差距离值,作为所述参考距离值。

具体地,服务器在得到多个低维度数据点的误差距离值之后,从多个误差距离值中选择最大的误差距离值作为参考距离值。

可选地,服务器可以在多个低维度数据点的误差距离值中,选择最小的误差距离值作为参考距离值,也可以选择平均的参考距离值作为参考距离值,本申请实施例中不作具体限制。

S604,针对每个低维度数据点,将所述低维度数据点的误差距离值与所述参考距离值求商,得到所述低维度数据点的数据恢复异常程度值。

具体地,服务器遍历多个低维度数据点,针对每个低维度数据点,计算低维度数据点的误差距离值与参考距离值之间的商,并将其作为数据恢复异常程度值。

本实施例中,服务器根据选取最大值的方法,确定参考距离值;并根据求商的方法确定数据恢复异常程度值。基于上述方法能够达到确定更准确的数据恢复异常程度值的效果。

在一个实施例中,如图7所示,所述根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值的步骤的具体实现过程,包括:

S702,获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值。

其中,各自对应的权重值是用于分别确定特征空间异常程度值和数据恢复异常程度值,在目标异常值中的重要程度占比。目标异常值则是用于表示低维度数据点的总体异常程度的值。

具体地,服务器可以从数据库中获取预设的分别对应特征空间异常程度值和所述数据恢复异常程度值的两个权重值,也可以是通过预设的权重值算法,确定上述两个权重值;其中,两个权重值之和需等于1。

S704,基于所述权重值,对所述特征空间异常程度值和所述数据恢复异常程度值进行加权计算,得到所述低维度数据点的目标异常值。

具体地,服务器将特征空间异常程度值与特征空间异常程度值对应的权重值求积,并且将数据恢复异常程度值与数据恢复异常程度值对应的权重值求积,并将两个求积结果求和,得到最终的目标异常值。

本实施例中,通过两个权重值的加权计算得到目标异常值,该目标异常值包含着显著特征和非显著特征,由此,能够达到基于低维度数据点的全部特征确定异常数据的效果。

在一个实施例中,如图8所示,所述获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值的步骤的具体实现过程,包括:

S802,基于样本数据,训练权重确定模型。

S804,基于所述权重确定模型的训练结果,确定所述特征空间异常程度值和所述数据恢复异常程度值分别对应的权重值;

其中,所述样本数据对应有异常数据标签,用于标注所述样本数据中包含的异常数据点;所述权重确定模型基于初始权重值和所述样本数据进行训练,并在训练过程中以得到所述样本数据中多个已知异常数据点对应的目标异常值之和最大为学习目标,对模型参数和所述初始权重值进行更新,直到所述学习目标达成。

应理解,样本数据是用于训练权重确定模型的数据,其中,样本数据可以包括异常数据和非异常数据,且样本数据中可以包含异常数据标签。也就是说,异常数据可以包含其对应的异常数据标签,而异常数据标签则是用于训练的标签数据。权重确定模型是用于对测试数据进行异常数据判断的模型,将初始权重值和样本数据输入权重确定模型,可以训练权重确定模型。

在训练权重确定模型的训练过程中,服务器将得到样本数据中多个已知异常数据点对应的目标异常值之和最大为学习目标,对模型参数和所述初始权重值进行更新,直到所述学习目标达成。也就是说,权重确定模型会计算样本数据的每个已知异常数据点的目标异常值,并且求出多个目标异常值的和。并在求出的多个目标异常值的和中,选择和最大时所对应的权重值,并基于和最大时所对应的权重值,更新权重确定模型的权重值。其中,模型参数是权重确定模型中用于判断数据是否异常的重点参数,通过改变模型参数能够使权重确定模型具有更准确识别异常数据的能力。

可以理解的是,权重确定模型在经过训练后,不仅能够通过对应的训练结果得到权重值,也能够通过训练结果对待检测数据进行异常检测,也就是异常分类,能够确定对待检测数据是否为异常数据。

具体地,服务器可以获取人工标注的样本数据,该样本数据中可以包含异常数据标签。将样本数据输入至权重确定模型中进行训练,其中,训练方式可以是半监督训练。在训练过程中,服务器可以计算样本数据中多个已知异常数据点的目标异常值之和,并将目标异常值之和最大作为训练目标,对模型参数和初始权重值进行更新,直到所述学习目标达成。

在将样本数据分成多组后,服务器可以遍历每一组样本数据,并对模型参数和用于计算目标异常值的权重值进行更新。在完成对所有样本数据的遍历后,此时的模型参数和权重值已经是训练完成后的训练结果。在训练结果中可以直接获取更新后的权重值,并且基于更新后的权重值,确定特征空间异常程度值和所述数据恢复异常程度值分别对应的权重值。其中,权重值的取值范围可以为0到1之间。

可选地,作为一个实施例,通过权重确定模型得到所述特征空间异常程度值和所述数据恢复异常程度值任一对应的权重值,然后通过1减该权重值,得到另一个权重值。

本实施例中,通过权重确定模型训练并计算得到两个权重值,能够达到获取更精准的权重值的效果。

在一个实施例中,如图9所示,所述根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值的步骤之后,还包括:

S902,在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,基于所述低维度数据点的特征空间异常程度值,以及所述特征空间异常程度值对应的权重值,确定所述特征空间异常程度值在所述目标异常值中的第一贡献度。

其中,第一贡献度是指特征空间异常程度值在整个目标异常值中所贡献出的异常值占比。

具体地,在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,获取该低维度数据点的特征空间异常程度值和特征空间异常程度值的权重值,并根据该权重值、特征空间异常程度值和目标异常值,得到第一贡献度。

S904,基于所述低维度数据点的数据恢复异常程度值,以及所述数据恢复异常程度值对应的权重值,确定所述数据恢复异常程度值在所述目标异常值中的第二贡献度。

其中,第二贡献度指数据恢复异常程度值在整个目标异常值中所贡献出的异常值占比。

具体地,在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,获取该低维度数据点的数据恢复异常程度值和数据恢复异常程度值的权重值,并根据该权重值、数据恢复异常程度值和目标异常值,得到第二贡献度。

S906,将所述待检测数据中的异常数据、以及各异常数据对应的所述第一贡献度和所述第二贡献度反馈至异常检测请求端。

其中,由于低维度数据点对应的待检测数据已经被确定是异常数据,因此可以将待检测数据中的异常数据返回至异常检测请求端,也就是说,需要将异常的低维度数据点对应的数据返回至异常检测请求端。此外,服务器还需要将待检测数据中的各异常数据对应的第一贡献度和第二贡献度返回至异常检测请求端,便于用户进行查看,并基于第一、第二贡献度处理异常数据。

本实施例中,针对待检测数据中的异常数据点,通过确定第一、第二贡献度,能够达到确定哪种特征造成的异常程度更高的效果。

在一个实施例中,所述基于所述目标异常值确定所述低维度数据点对应的目标检测数据是否为异常数据的步骤的具体实现过程,包括:若所述目标异常值大于预设阈值,则确定所述低维度数据点对应的目标检测数据为异常数据。

其中,预设阈值可以是用户自行设定的判断数据是否异常的数值,可选地,可以是通过某种算法计算得到的预设阈值。

本实施例中,通过确定预设阈值,能够达到更准确地判断异常数据的效果。

如图10所示,以下结合一个具体实施例,详细描述上述异常数据的检测方法的具体执行过程。

本公开方案主要包括数据收集和预处理模块、数据降维模块、降维特征空间数据点孤立程度计算模块、降维数据恢复程度计算模块、权重参数计算模块、检测样本异常结果输出模块等组成部分,执行过程如图10所示,执行步骤说明如下:

1、在网络流量数据中收集训练样本数据,并对训练样本做预处理;

2、对训练样本进行降维处理,可以是对数值矩阵型的样本数据进行主成分分析或是核化主成分分析来进行特征的降维;

3、在降维后的特征平面内(即上述的低维特征空间),对训练数据进行孤立程度的度量计算,并以此确定数据的特征空间异常程度;

4、将低维特征空间中的数据点映射回未降维的空间中,根据还原数据和原始数据的误差大小定义数据恢复的异常程度;

5、将步骤3,步骤4中的特征空间异常程度和数据恢复的异常程度赋予不同权重,并进行加权计算,得到该点的异常值,其中的权重可以人为定义,也可以在训练样本有标签或部分有标签的情况下,从训练样本中学习得到,学习得到的权重可以在训练完成后参与待检测数据的异常判断;

6、对于需要异常检测的样本,在得到步骤5中的异常值后,设定合适的阈值,当此异常值高于预设的阈值时,判定该数据为异常数据,并且返回其特征空间异常程度和数据恢复的异常程度在异常值中的所占的比例。

具体地,本公开中,针对权重训练过程的具体实施细节如下:

第一步:收集训练样本数据,对训练样本做预处理:

1、收集用于训练的多维异常检测样本数据,在网络流量数据中依照检测异常所选取的特征提取对应的多维度数据;

2、对收集的多维异常检测样本数据进行数据清洗,填补缺失值等,形成结构化数据,并且将分类特征转化为可度量相对距离的数值型特征;

3、将数值型特征进行正则化、中心化处理,以降低特征数量级差异对异常检测的影响。

第二步:对训练样本进行降维处理:

使用核主成分分析的方法实现多维异常检测样本数据的降维,其中核函数选择为高斯核:

第三步:计算数据的特征空间异常程度

对于映射到S中的数据,使用核密度函数的方法计算每个数据点x在低维度特征空间的概率密度函数,设样本X=(x

第四步:计算数据恢复的异常程度

把已经映射到特征空间中的数据通过变换还原到核函数的特征空间中,计算数据x特征和还原数据x'之间的距离,这里选择欧氏距离:

第五步:计算数据点的目标异常值p(x)=λp

第六步:检测样本异常检测阶段

在训练完成后,对于待检测的数据x,可以先把它投影到S中,按照第三步、四步计算出该点的特征空间异常程度p

作为一个实施例,服务器获取到一组流量数据后,根据流量数据与数据特征之间的映射关系,将流量数据的特征数值化。此时,网络流量数据变成数据矩阵,数据矩阵中的每一行表示一个数据,每一列表示一个特征。

例如,数据矩阵是10个特征维度的105个数据,其中前100个数据为从正常的分布函数中随机选取的数据,后5个数据是从异常的分布函数中随机选取的数据。应理解,正常的数据分布是每个特征相互独立,每个维度都是均值为50,方差为10的正态分布,异常的数据分布是每个特征相互独立,每个维度都是[60,80]的均匀分布。此时,生成的矩阵是105×10矩阵X。

服务器首先使用核主成分分析的方法实现降维,其中,核函数是高斯核:

确定参数k=0.0001,表示高斯核的带宽,得到数据矩阵X的核函数矩阵K,此时核函数矩阵K是105×105的矩阵。将核函数矩阵中心化,令1

K

此时,得到105×105矩阵K

然后,服务器分别计算特征空间S中,低维度数据的特征空间异常程度和数据恢复的异常程度。对于映射到特征空间S中的低维度数据,使用核密度函数的方法计算每个低维度数据点x在特征空间的概率密度函数,设样本:

X=(x

则特征空间中任意一点x的核密度函数可以表示为:

其中,h

此时,

给出了异常分数值和异常分数按从大到小排序的下标值。

再把已经映射到特征空间中的低维度数据通过变换还原到核函数的特征空间中,计算数据x特征和恢复的数据x'之间的距离,可以采用欧式距离:

为了消除数量级的影响,把每一个数据点的距离除以其中最大的值得到数据恢复异常程度:

给出了异常分数值和异常分数按从大到小排序的下标值。

最后,计算数据点的异常值:

p(x)=λp

对于权重参数λ,我们令λ=0.5得到这组数据的总异常分数outer_score和异常分数按从大到小排序的下标值。

最终计算出的异常分数前五个分别是下标为100,102,104,103,101的数据,说明该方法正确的识别出了异常数据点,证明该方法的有效性。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的异常数据的检测方法的异常数据的检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个异常数据的检测装置实施例中的具体限定可以参见上文中对于异常数据的检测方法的限定,在此不再赘述。

在一个实施例中,如图11所示,提供了一种异常数据的检测装置1100,包括:数据降维模块1101、异常程度确定模块1102和异常数据确定模块1103,其中:

数据降维模块1101,用于获取网络流量数据,作为待检测数据,将所述待检测数据映射到低维度特征空间,得到所述待检测数据对应的多个低维度数据点;

异常程度确定模块1102,用于针对于每个低维度数据点,确定所述低维度数据点在所述低维度特征空间的特征空间异常程度值,并确定所述低维度数据点在还原至降维前的高维度特征空间过程中存在的数据恢复异常程度值;

异常数据确定模块1103,用于根据所述特征空间异常程度值和所述数据恢复异常程度值,确定所述低维度数据点的目标异常值,并基于所述目标异常值确定所述低维度数据点对应的待检测数据是否为异常数据。

进一步地,所述异常程度确定模块1102,具体用于:

基于预设的核密度函数,确定所述低维度数据点在所述低维度特征空间的概率密度值;

基于所述概率密度值的倒数,确定所述低维度数据点在所述低维度特征空间的初始异常程度值;

基于所述初始异常程度值与参考异常程度值,得到所述低维度数据点的特征空间异常程度值;其中,所述参考异常程度值是基于所述多个低维度数据点的初始异常程度值确定的。

进一步地,所述异常程度确定模块1102,具体还用于:

从所述多个低维度数据点的初始异常程度值中,确定出最大的初始异常程度值,作为所述参考异常程度值;

针对每个低维度数据点,将所述低维度数据点的初始异常程度值与所述参考异常程度值求商,得到所述低维度数据点的特征空间异常程度值。

进一步地,所述异常程度确定模块1102,具体用于:

将所述低维度数据点还原至降维前的高维度特征空间,得到所述低维度数据点对应的还原数据;

确定所述还原数据与原始数据之间的误差距离值,并基于所述误差距离值和参考距离值,得到所述低维度数据点的数据恢复异常程度值;其中,所述原始数据是所述低维度数据点在降维前的数据;所述参考距离值是基于所述多个低维度数据点的误差距离值确定的。

进一步地,所述异常程度确定模块1102,具体还用于:

从所述多个低维度数据点的误差距离值中,确定出最大的误差距离值,作为所述参考距离值;

针对每个低维度数据点,将所述低维度数据点的误差距离值与所述参考距离值求商,得到所述低维度数据点的数据恢复异常程度值。

进一步地,所述异常数据确定模块1103,具体用于:

获取所述特征空间异常程度值和所述数据恢复异常程度值各自对应的权重值;

基于所述权重值,对所述特征空间异常程度值和所述数据恢复异常程度值进行加权计算,得到所述低维度数据点的目标异常值。

进一步地,所述异常数据确定模块1103,具体还用于:

将多个所述低维度数据点对应的所述特征空间异常程度值和所述数据恢复异常程度值输入预先训练的权重确定模型;其中,所述权重确定模型用于以得到多个所述低难度数据点对应的目标异常值之和最大为学习目标、输出所述特征空间异常程度值和/或所述数据恢复异常程度值对应的权重值;

基于所述权重确定模型的输出,确定所述特征空间异常程度值和所述数据恢复异常程度值分别对应的权重值。

进一步地,所述装置还包括:

贡献度确定模块,用于在基于所述目标异常值确定所述低维度数据点对应的待检测数据为异常数据的情况下,基于所述低维度数据点的特征空间异常程度值,以及所述特征空间异常程度值对应的权重值,确定所述特征空间异常程度值在所述目标异常值中的第一贡献度;

基于所述低维度数据点的数据恢复异常程度值,以及所述数据恢复异常程度值对应的权重值,确定所述数据恢复异常程度值在所述目标异常值中的第二贡献度。

数据反馈模块,用于将所述待检测数据、所述第一贡献度和所述第二贡献度反馈至异常检测请求端。

进一步地,所述异常数据确定模块1103,具体用于:

若所述目标异常值大于预设阈值,则确定所述低维度数据点对应的待检测数据为异常数据。

上述异常数据的检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络流量数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种异常数据的检测方法。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

技术分类

06120116505940