CN117272204A - 异常数据检测方法、装置、存储介质和电子设备 - Google Patents
异常数据检测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117272204A CN117272204A CN202311236770.1A CN202311236770A CN117272204A CN 117272204 A CN117272204 A CN 117272204A CN 202311236770 A CN202311236770 A CN 202311236770A CN 117272204 A CN117272204 A CN 117272204A
- Authority
- CN
- China
- Prior art keywords
- score
- data
- structured data
- abnormal
- anomaly
- 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.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 187
- 238000001514 detection method Methods 0.000 title claims abstract description 77
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims description 84
- 238000012545 processing Methods 0.000 claims description 29
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 238000010606 normalization Methods 0.000 claims description 17
- 230000005856 abnormality Effects 0.000 claims description 14
- 238000007499 fusion processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000002547 anomalous effect Effects 0.000 claims description 3
- 230000008485 antagonism Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 13
- 238000012549 training Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 102000010553 ALAD Human genes 0.000 description 8
- 101150082527 ALAD gene Proteins 0.000 description 8
- 230000006399 behavior Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 101150055960 hemB gene Proteins 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 201000010099 disease Diseases 0.000 description 5
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000007500 overflow downdraw method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 208000024799 Thyroid disease Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 208000021510 thyroid gland disease Diseases 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Abstract
本申请公开了一种异常数据检测方法、装置、存储介质和电子设备。包括:获取待检测的第一数据集,第一数据集中包括至少一个第一结构化数据;分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集;通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集;基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值;在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。本申请解决了由于人工检测异常数据成本较高,准确度较低的技术问题。
Description
技术领域
本申请涉及数据检测技术领域,具体而言,涉及一种异常数据检测方法、装置、存储介质和电子设备。
背景技术
异常检测是通过在数据中发现不符合预期行为模式的数据问题的一种方法,其涉及智能数据的机器学习、数据挖掘等各项技术,因而异常检测在日常生产生活的各个方面都有广泛应用,例如电信行业经营风险检测、金融行业的反欺诈和贷款违约检测、医疗行业的疾病检测、网络安全入侵检测。而由于电信经营行为信息数据、金融欺诈的用户金融行为数据、疾病检测的用户患病特征数据、网络安全检测的网络用户流量及行为数据在本质上都是结构化数据(即可以使用关系型数据表示,也可以用二维表来逻辑表达实现的有规律的数据)。因此,对于结构化数据的异常检测结果的优劣会影响相关业务的健康发展。
目前,对于结构化数据的异常检测大都采用基于统计学或者基于模型的人工智能机器学习方法,但基于统计学的方法,如3σ法、Z-score法等对数据缺乏有效的学习,准确性不够,难以满足大部分生产要求,而基于模型的方法,如KNN(K-Nearnest Neighbor,K近邻)算法、COF(Connectivity-Based Outlier Factor,连通性异常因子)、LOF(Local OutlierFactor,局部异常因子)算法、CBLOF(Cluster-based Local Outlier Factor,基于聚类的局部异常因子)算法、GMM(Gaussian Mixture Model,高斯混合模型)、ALAD(AdversarialLearned Anomaly Detection,基于对抗生成网络的异常监测)算法、LUNAR(Labeled andUnlabeled Nodes and Relations,基于图神经网络的异常检测)算法等等,然而这类基于模型的方法都是单独从某一方面对数据样本进行模型构建,而没有采用模型融合对多个模型的结果进行分层有效融合,无法发挥多种模型方法的特点,同时,往往筛选特性比较单一,对异常样本的识别能力有限,对结构化数据的异常检测结果的准确性难以保证。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种异常数据检测方法、装置、存储介质和电子设备,以至少解决由于人工检测异常数据成本较高,准确度较低的技术问题。
根据本申请实施例的一个方面,提供了一种异常数据检测方法,包括:获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
可选地,获取待检测的第一数据集,包括:获取待检测的第二数据集;对第二数据集进行预处理,得到第一数据集,其中,预处理中包括以下至少之一:数据清洗、特征编码、标准规范化。
可选地,模型特性包括以下至少之一:距离特性、密度特性、聚类特性和神经网络特性,该方法还包括:在模型特性为距离特性时,基模型包括以下至少之一:基于K近邻算法的第一基模型、基于孤立森林算法的第二基模型;在模型特性为密度特性时,基模型包括以下至少之一:基于局部异常因子的第三基模型、基于连通性异常因子算法的第四基模型;在模型特性为聚类特性时,基模型包括以下至少之一:高斯混合模型、基于聚类的局部异常因子算法的第五基模型;在模型特性为神经网络特性时,基模型以下至少之一:基于图神经网络的第六基模型、基于对抗生成网络的第七基模型。
可选地,分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,包括:对于每组第一层基模型,通过第一层基模型内的各个基模型分别对第一结构化数据进行检测处理,得到第一结构化数据对应的多个第一异常分数;由第一结构化数据的多个第一异常分数组成第一结构化数据的第一异常分数集。
可选地,通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,包括:对每个第一结构化数据对应的多组第一异常分数集进行归一化处理,得到归一化后的多组第一异常分数集;将归一化后的各个第一结构化数据对应的多组第一异常分数集作为多个输入特征依次输入至第二层基模型,得到第二层基模型输出的多组第二异常分数集。
可选地,基于多组第二异常分数集确定每个第一结构化数据对应的绝对排序分值和相对排序分值,包括:对于每个第一结构化数据,依据第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的排名,采用Borda Count算法确定每个第二异常分数子集的绝对排序子分值,并基于多组第二异常分数子集的绝对排序子分值确定第一结构化数据的绝对排序分值;对于每个第一结构化数据,依据第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的大小关系,采用Copeland算法确定每个第一结构化数据的多个胜分和多个负分,并基于第一结构化数据的多个胜分和多个负分确定第一结构化数据的相对排序分值。
可选地,在第一结构化数据对应的绝对排序分值和相对排序分值的平均分值大于预设的分数阈值时,确定第一结构化数据为异常数据,包括:对第一结构化数据的绝对排序分值和相对排序分值进行归一化处理;计算归一化处理后的绝对排序分值和相对排序分值的平均分值,并在平均分值不小于分数阈值时,确定第一结构化数据为异常数据。
根据本申请实施例的另一方面,还提供了一种异常数据检测装置,包括:获取模块,用于获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;异常检测模块,用于分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;融合处理模块,用于通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;确定模块,用于基于多组第二异常分数集确定每个第一结构化数据对应的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;异常判定模块,用于在第一结构化数据对应的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行该计算机程序执行上述的异常数据检测方法。
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的异常数据检测方法。
在本申请实施例中,获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
通过上述多层融合模型进行异常数据检测,有效地解决了由于人工检测异常数据成本较高,准确度较低的技术问题,提升了结构化数据异常检测的效率和准确性,确保了结构化数据异常检测的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的用于实现异常数据检测方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种可选的异常数据检测方法的流程示意图;
图3是根据本申请实施例的一种可选的异常数据检测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,本申请所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
KNN算法是一种基本的分类和回归算法,其基本思想是通过找到与待分类样本最近的k个训练样本,根据这k个样本的分类情况来确定待分类样本的类别。KNN算法的步骤如下:计算待分类样本与训练样本之间的距离(一般使用欧氏距离或曼哈顿距离等);选择k个距离最近的训练样本;根据这k个样本的类别进行投票,将待分类样本归为票数最多的类别;输出待分类样本的类别。综上,KNN算法的优点包括简单易懂,易于实现,适用于多分类问题。然而,KNN算法也有一些缺点,包括需要大量的计算时间,对于样本不平衡的数据集可能会产生误导性的结果,对于高维数据可能会产生特性灾难等。
LOF算法是一种用于异常检测的无监督学习方法,可以用于识别数据集中的异常点。LOF算法基于密度的概念,通过计算每个数据点的局部密度与周围邻近点的局部密度之比来确定其异常程度。具体来说,LOF算法首先根据数据点之间的距离计算每个数据点的k-距离(K-Distance),即该数据点与其第k个最近邻点的距离。然后,对每个数据点,计算其可达距离(Reachability Distance,RD),表示该点到一个邻近点的最大距离。接下来,通过计算每个数据点的局部可达密度(Local Reachability Density,LRD),即该点的可达距离与其k个最近邻点的平均可达距离之比,来度量该点的局部密度。最后,通过计算每个数据点的局部异常因子(Local Outlier Factor),即该点的局部可达密度与其邻近点的局部可达密度之比,来确定该点的异常程度。LOF算法的核心思想是,如果一个数据点的局部密度相对较低,并且其邻近点的密度相对较高,则该点很可能是一个异常点。因此,通过计算局部异常因子,可以找出数据集中的异常点。综上,LOF算法的优点是可以自适应地调整密度阈值,适用于各种密度分布的数据集。然而,LOF算法的计算复杂度较高,特别是在处理大规模数据集时,需要进行大量的距离计算和排序操作,因此效率较低。
COF算法是基于密度的连接模型,通过计算每个点的连接因子来判断其异常程度。具体来说,COF算法与上述LOF方法类似,均是先得到每个点的局部可达密度;然后,对于每个点,计算其邻居点的局部可达密度之和,再计算该点的连通性异常因子(Connectivity-Based Outlier Factor,COF),即邻居点的局部可达密度之和与该点的局部可达密度的比值,来确定该点的异常程度。
CBLOF算法是一种用于检测异常值的算法。该算法结合了LOF和聚类算法的思想,通过将数据集划分为多个聚类,并计算每个数据点的LOF值,来判断数据点是否为异常值。CBLOF算法的步骤如下:首先将数据集进行聚类,得到多个聚类簇;接着对于每个数据点,计算其到所属聚类的LOF值,其中,LOF值表示数据点与其邻近数据点相比的异常程度;最后,再根据LOF值,判断数据点是否为异常值,通常若LOF值大于某个阈值,可以将其判断为异常值。综上,CBLOF算法的优点是可以处理高维数据和大规模数据集,并且对于不同形状和密度的聚类簇也能有效地检测异常值。然而,该算法的缺点是对于数据集中存在噪声的情况,可能会产生误报。
GMM算法是一种基于概率统计的聚类算法。它假设数据集是由若干个高斯分布组成的,每个高斯分布表示一个聚类,而每个数据点属于某个聚类的概率由该数据点到每个聚类中心的距离决定。GMM算法的主要步骤如下:首先随机选择K个数据点作为初始聚类中心,然后估计每个数据点属于每个聚类的概率;接着,根据当前的聚类中心,计算每个数据点属于每个聚类的概率,并根据每个聚类的概率,重新估计聚类中心和每个聚类的协方差矩阵,重复该步骤,直到聚类中心和协方差矩阵的变化小于某个阈值或达到最大迭代次数;最后,根据最终的聚类中心,将每个数据点分配到最近的聚类中心。综上,GMM算法的优点是对于复杂的数据分布,可以用多个高斯分布近似表示,提高聚类的准确性,并对于包含噪声的数据集,GMM算法能够通过调整聚类中心和协方差矩阵的权重,更好地适应数据。然而,该算法的缺陷是对于初始聚类中心的选择比较敏感,不同的初始值可能导致不同的聚类结果,且对于非凸数据集,可能会得到不理想的聚类结果。
ALAD算法是一种基于对抗生成网络(GAN)的异常检测算法,该算法的基本思想是通过训练一个自编码器(AE)和一个判别器(Discriminator)来学习正常样本的分布,并使用判别器来判断输入样本是否为异常。具体来说,ALAD算法包含两个主要的网络:生成器和判别器,其中,生成器是一个自编码器,它将输入样本映射到一个低维的隐藏表示,并尝试从这个隐藏表示中重构输入样本;而判别器则是一个二分类器,它试图区分生成器输出的隐藏表示和从正常样本中提取的隐藏表示。通常,ALAD算法的训练过程分为两个阶段:预训练和对抗训练。在预训练阶段,生成器和判别器分别通过自编码器和二分类器的损失函数进行训练。在对抗训练阶段,生成器和判别器通过交替更新的方式进行训练,其中生成器试图最小化自编码器的重构误差,判别器试图最大化二分类器的准确率。在测试阶段,对于一个新的输入样本,ALAD算法通过计算生成器输出的隐藏表示和正常样本中提取的隐藏表示之间的差异来判断其是否为异常。如果差异超过一个预先定义的阈值,则将其判定为异常。ALAD算法具有一定的优势,例如能够捕捉到复杂的异常模式,对于不同类型的异常具有一定的鲁棒性等。然而,该算法在处理高维数据和大规模数据时可能存在一些挑战,需要进一步的改进和优化。
LUNAR算法是一种基于图神经网络的模型,用于节点分类和关系预测任务。图神经网络是一种能够处理图数据的神经网络模型,它可以学习节点和边上的特征,并利用这些特征进行节点分类和关系预测。因此,LUNAR模型通过将图数据分为有标签的节点和无标签的节点,利用有标签节点的标签信息来训练模型,并通过无标签节点的特征信息进行半监督学习。LUNAR模型的主要思想是通过自动编码器来学习节点的表示。首先,模型通过编码器将节点和边上的特征映射到一个低维表示空间中。然后,通过解码器将低维表示重新映射到原始特征空间中。模型的目标是最小化原始特征与重构特征之间的差异,从而学习到节点的表示。在LUNAR模型中,有标签节点的标签信息被用于监督训练,无标签节点的特征信息被用于半监督学习。通过这种方式,LUNAR模型能够利用有标签节点的标签信息和无标签节点的特征信息进行节点分类和关系预测。实验证明,LUNAR模型在一些图数据集上取得了较好的性能,表明了其在图数据分析任务中的潜力和优势。
MCD(Minimum Covariance Determinant,最小协方差行列式)算法是一种用于异常检测和离群点识别的方法。该算法的基本思想是通过最小化协方差矩阵的行列式来找到具有最小协方差的子集。具体而言,MCD模型首先从原始数据集中采样出一个子集,然后计算该子集的协方差矩阵。接下来,模型计算由该子集中的样本构成的协方差矩阵的行列式,如果该行列式的值较小,则认为该子集是具有最小协方差的子集。该算法的具体步骤为:首先从原始数据集中随机采样一个子集;接着计算该子集的协方差矩阵;然后计算协方差矩阵的行列式,作为该子集的判别指标;重复步骤多次,选择具有最小行列式值的子集作为最终的正常样本子集;最后通过计算其与最终正常样本子集之间的马氏距离来判断其是否为异常样本。
Borda Count(波达计数)算法是一种用于计算选举结果的方法,它根据候选人在选民之间的排名来确定最终的得分,该算法的基本思想是,给予每个候选人根据其在每个选民的排名位置分配相应的得分,然后将所有得分相加,得分最高的候选人被选为最终的结果。具体地,该算法的执行步骤如下:首先对每个选民的排名进行转换,将第一名的候选人赋予n-1分,第二名赋予n-2分,依次类推,直到最后一名赋予0分,其中n为候选人的数量;接着将每个选民给予每个候选人的得分相加,得到每个候选人的总得分;最后根据总得分对候选人进行排序,得分最高的候选人被选为最终结果。综上,Borda Count算法的优点是简单易懂,并且能够考虑到选民对候选人的整体排名情况。然而,该算法也存在一些缺点,例如容易受到选民的策略性投票影响,候选人数量较多时计算复杂度较高等。
Copeland算法是一种用于解决选举问题的算法。选举问题是指在一个候选人集合中选择一个获胜者的问题,该算法通过计算每个候选人与其他候选人的比较得分,然后根据比较得分确定获胜者。具体来说,Copeland算法将每个候选人与其他候选人进行两两比较,并计算每个候选人获胜的次数,若候选人A与候选人B进行比较,A获胜则记为1,B获胜则记为-1,平局则记为0;然后将每个候选人的获胜次数相加,得到每个候选人的比较得分;最后,根据比较得分确定获胜者。如果只有一个候选人的比较得分最高,则该候选人为获胜者,其中,若有多个候选人的比较得分相同且最高,则这些候选人共同成为获胜者。Copeland算法的优点是简单易懂,计算效率较高。然而,它也有一些局限性,如当候选人数量较大时,计算比较得分的时间复杂度会较高。
min-max归一化也称为离差标准化,是一种常用的数据标准化方法,用于将数值型数据缩放到一个特定的范围内。具体地,min-max归一化将原始数据进行线性变换,使得数据值映射到[0,1]的范围内。假设原始数据的最小值为min,最大值为max,那么原始数据中的任意一个值x经过min-max归一化后的值为:
x′=(x-xmin)/(xmax-xmin)
其中,x′表示归一化后的值。通常,除了min-max归一化,还有其他常用的数据标准化方法,如z-score标准化和小数定标标准化等。不同的数据标准化方法适用于不同的数据情况,需要根据具体的需求选择合适的方法。
实施例1
随着网络的大范围普及且电信业务的复杂性,各大电信营业厅内一线营业员相关的操作会涉及充值资金、办理销售品、退费、办电信卡等多个业务场景,使得操作数据异常庞大,同时营业员处理相关业务时产生的行为信息数据可能存在异常,若采用传统的人工标注方法检测异常数据会导致人力成本过高,并且结果准确度难以持续保证,从而无法及时挽回企业损失,规范企业发展。因此,对于结构化数据的异常检测结果的优劣将严重影响相关企业业务的健康发展。
目前,相关专利(CN202210222958)“数据异常检测方法及装置、介质和电子设备”提出了一种基于融合模型的数据异常检测方法,其是采用stacking机器学习模型融合方式,但融合的层级只有两层一次融合,其可以看作是传统的单stacking机器学习模型的集成融合,且集成融合的均为基于树的同质模型,因此,该方案缺少其它不同质模型方法的集成融合,难以保证对结构化数据的异常检测结果的准确性。
相关专利(CN202210718289)“数据检测方法、装置、计算机设备和存储介质”提出了一种基于模型的数据异常检测方法,其采用的是较经典的基于树的孤立森林方法,因此该方法仅使用了单个异常检测的树模型,导致异常识别能力有限,难以保证对结构化数据的异常检测结果的准确性。
相关专利(CN202210632838)“数据异常的检测方法”提出了一种基于统计学概率分布函数置信度的异常检测方法,其采用的是统计学的概率分布函数来计算置信度的方式获得异常样本,然而这类方法依据统计学的相关原理,认为数据的分布不满足某种统计规则就是异常数据,因而对数据缺乏有效的学习,往往准确度不够。
另外,相关专利(CN202210741524)“一种数据异常检测方法、系统、电子设备及可读存储介质”还提出了一种基于多特性数据的异常检测模型方法,在该方案中指出多特性数据是通过不同的采集方式获得,并且对原始数据直接进行了多角度深度编码器及聚类的特征计算,同样不涉及模型的集成融合,因此,该方案也难以保证对结构化数据的异常检测结果的准确性。
因此,在上述所提供的几个现有技术中,均未公开基于多模型融合的异常数据监测方法,使得现有方案均无法保证对结构化数据进行异常监测的结果准确性。为了解决该问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种异常数据检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现异常数据检测方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的异常数据检测方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的异常数据检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,图2是根据本申请实施例的一种可选的异常数据检测方法的流程示意图,如图2所示,该方法至少包括步骤S201-S205,其中:
步骤S201,获取待检测的第一数据集。
其中,第一数据集中包括至少一个第一结构化数据,而结构化数据是指按照一定的格式和组织方式进行存储和处理的数据,其通常以表格、数据库、XML、JSON等形式存在,具有明确的字段和值之间的关系,因此,其也可以理解为:可以使用关系型数据表示,也可以用二维表的形式进行逻辑表达的有规律的数据。通常,结构化数据包括但不仅限于:电信经营行为信息数据、金融欺诈的用户金融行为数据、疾病检测的用户患病特征数据、网络安全检测的网络用户流量等。
作为一种可选的实施方式,可以按照如下方式得到第一数据集:首先获取待检测的第二数据集;再对第二数据集进行预处理,得到第一数据集,其中,预处理中包括以下至少之一:数据清洗、特征编码、标准规范化。
在该实施例中,首先,获取原始结构化数据集(即待检测的第二数据集)。由于原始结构化数据集中包括非正常字符、缺失值以及特征非数值化等情况,因此,接下来可以对所获取的原始结构化数据集进行预处理,预处理操作包括但不仅限于:去除非正常字符、缺失值处理、特征编码等;然后,对预处理后的原始结构化数据集在进行标准化进行规范处理。例如,可以将原始结构化数据集内的各个原始结构化数据(即第一结构化数据)的特征规范至标准正态分布(均值为0,方差为1),其中,标准规范化的公式如下:
其中,上述表示原始结构化数据集的均值,σ(x)表示原始结构化数据的标准差。
具体地,以某电信大数据平台内获取某月内的营业员行为数据集作为待检测的结构化数据集为例,首先获取32个特征字段,如员工ID、BSS渠道ID、代理商渠道ID、代理商名称、低价宽带过户工单数、夜间办卡量、返销账金额、异常年龄办卡量、小额销售品订购数等,其中,这些特征字段均为数值型字段;接着,确定这32个特征字段对应的25841条第二结构化数据,为了确保后续异常数据检测的准确性,还需要对25841条第二结构化数据进行取出非正常字符、缺失值填充、特征编码等操作,其中特征编码可以为独热编码,得到处理后的第一结构化数据,由这些处理后的第一结构化数据以及对应的特征字段组成第一数据集。
步骤S202,分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集。
其中,每组第一层基模型中包括多个模型特性不同的基模型,且上述模型特性包括以下至少之一:距离特性、密度特性、聚类特性和神经网络特性。
可选地,在模型特性为距离特性时,基模型包括以下至少之一:基于K近邻算法的第一基模型、基于孤立森林算法的第二基模型;
在模型特性为密度特性时,基模型包括以下至少之一:基于局部异常因子的第三基模型、基于连通性异常因子算法的第四基模型;
在模型特性为聚类特性时,基模型包括以下至少之一:高斯混合模型、基于聚类的局部异常因子算法的第五基模型;
在模型特性为神经网络特性时,基模型以下至少之一:基于图神经网络的第六基模型、基于对抗生成网络的第七基模型。
作为一种可选的实施方式,在上述步骤S202提供的技术方案中,该方法可以包括如下步骤S2021-S2022,其中,
步骤S2021,对于每组第一层基模型,通过第一层基模型内的各个基模型分别对第一结构化数据进行检测处理,得到第一结构化数据对应的多个第一异常分数;
步骤S2022,由第一结构化数据的多个第一异常分数组成第一异常分数集。
上述步骤可以理解为,按照上述模型特性将第一层基模型划分为如下多组。
例如,基于明科夫斯基距离的KNN算法对应的第一基模型、基于局部异常因子的第三基模型、基于聚类的局部异常因子算法的第五基模型和基于对抗生成网络的第七基模型作为一组第一层基模型,其中,在基于明科夫斯基距离的邻近算法的第一基模型KNN中可以设定n_neighbors=10、leaf_size=30;在基于密度的局部异常因子算法的第三基模型LOF中可以设定n_neighbors=20;在基于聚类的局部异常因子算法的第五基模型CBLOF中可以设定n_clusters=8、α=0.9、β=5;在基于生成对抗神经网络的对抗学习算法的第七基模型ALAD中可以设定epochs=10。
而将基于曼哈顿距离的KNN算法对应的第一基模型、基于连通性异常因子算法的第四基模型、高斯混合模型、基于图神经网络的第六基模型作为另一组第一层基模型,其中,基于曼哈顿距离的邻近算法的第一基模型KNN中可以设定n_neighbors=10;在连通性异常因子算法的第四基模型COF中可以设定n_neighbors=10;在基于聚类的高斯混合模型GMM中可以设定n_components=1、init_params='kmeans';在基于图神经网络的第六基模型LUNAR中可以设定n_neighbours=5、n_epochs=10。
这两组第一层基模型可以并行独立地对第一数据集内的各个第一结构化数据(即将每个第一结构化数据作为输入特征)进行异常检测,得到第一结构化数据对应的两组异常分数集,且每组异常分数集内包括四个异常分数,这些异常分数可以组成第一结构化数据对应的第一异常分数集,而这些数据将作为第二层基模型的输入特征,并进行下一步处理。
步骤S203,通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集。
其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集。
作为一种可选的实施方式,第二层基模型可以为最小协方差行列式模型,因此,该方法可以包括如下步骤S2031-S2032,其中,
步骤S2031,对每个第一结构化数据对应的多组第一异常分数集进行归一化处理,得到归一化后的多组第一异常分数集;
步骤S2032,将归一化后的各个第一结构化数据对应的多组第一异常分数集作为多个输入特征依次输入至第二层基模型,得到第二层基模型输出的多组第二异常分数集。
在该实施例中,首先对上述步骤S202中所计算的第一结构化数据对应的第一异常分数集按照如下公式进行归一化处理:
其中,yi表示每个基模型输出第一结构化数据的第一异常分数归一化后的值;min(xi)表示每个基模型输出第一结构化数据的第一异常分数最小值;max(xi)表示每个基模型输出第一结构化数据的第一异常分数最大值。上述MIN-MAX归一化处理方法可以将第一异常分数归一化至0-1之间。
接着,将第一层基模型输出第一结构化数据对应的多组第一异常分数集归一化后的值按组作为输入特征,依次输入至基于线性模型的最小协方差算法模型,得到该模型输出的融合后的多组第二异常分数集,其中,多组第二异常分数集中包括多个第一结构化数据对应的第二异常分数子集。
上述融合步骤的目的,是为了下一步对每组第二异常分数集内的多个第二异常分数子集进行排序,以便更加快速定位和识别最明显的异常值。
步骤S204,基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值。
其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名。因此,可以按照如下方法确定第一结构化数据的绝对排序分值:
对于每个第一结构化数据,依据第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的排名,采用Borda Count算法确定每个第二异常分数子集的绝对排序子分值,并基于多组第二异常分数子集的绝对排序子分值确定第一结构化数据的绝对排序分值。
具体地,以第二层基模型输出两组第二异常分数集,且每组第二异常分数集内包括四个异常分数为例,对上述绝对排序值的确定进行简单说明。
将通过第二层基模型输出的两组异常分数集以组为单位,分别按照分数大小将上述第一数据集对应的异常分数集进行排序,根据排序的前后顺序给予每个第一结构化数据的两组异常分数子集相应的分数,其中,异常分数子集内的各个异常分数排序最前的分数最高,排序第二的分数为排序第一的分数减1,依次类推,排序最后的分数最低。最终可以经过上述绝对排序得到每组第二异常分数子集在对应的第二异常分数集内的绝对排序子值,进而再通过所计算的绝对排序子值确定第一结构化数据对应的绝对排序分值。
例如,由N(N=25)个结构化数据组成的数据集内,某结构化数据i的一组异常分数子集在对应的异常分数集内,按照由高到低的排序分别为53、60、71、73,采用Borda Count算法分别赋予相应的分数,分别为47分、40分、29分、27分,将上述分数相加求和得到的绝对排序子值记作Bim1i,结构化数据X的另一组异常分数子集在对应的异常分数集内,按照由高到低的排序分别为46、51、53、62,采用Borda Count算法分别赋予相应的分数,分别为54分、49分、47分、38分,将上述分数相加求和得到的绝对排序子值记作Bim2i,结合上述所计算的两个分数,采用如下公式计算得到结构化数据i对应的绝对排序分值:
其中,上述N表示结构化数据i所在数据集内的数据个数。
另外,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名。因此,可以按照如下方法确定第一结构化数据的相对排序分值:
对于每个第一结构化数据,依据第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的大小关系,采用Copeland算法确定每个第一结构化数据的多个胜分和多个负分,并基于第一结构化数据的多个胜分和多个负分确定第一结构化数据的相对排序分值。
同样地,继续以第二层基模型输出两组第二异常分数集,且每组第二异常分数集内包括四个异常分数为例,对上述相对排序值的确定过程进行简单说明。
首先,初始化两个全零矩阵wins和losses用于存储数据集间的胜负关系(即相对排序结果),将通过第二层基模型输出的两组异常分数集以组为单位,遍历每组异常分数集,判断第一结构化数据的第二异常分数子集i内的各个第二异常分数是否高于或低于同组其他第二异常分数子集j,若高于,则矩阵wins[i,j]加1,矩阵losses[j,i]加1,若低于,则相反。通过上述判断过程,可以得到矩阵wins和矩阵losses,并按照如下公式计算第一结构化数据的多个胜分和多个负分:
Win_Scorei=∑wins[i,:]
Loss_Scorei=∑losses[i,:]
进而,通过上述所得的第一结构化数据的多个胜分和多个负分,按照如下公式计算其相对排序分值:
步骤S205,在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
作为一种可选的实施方式,在得到第一结构化数据的绝对排序分值和相对排序分值后,首先可以对对第一结构化数据的绝对排序分值和相对排序分值进行归一化处理;然后,再计算归一化处理后的绝对排序分值和相对排序分值的平均分值,并在平均分值不小于分数阈值时,确定第一结构化数据为异常数据。
在该实施例中,首先对上述步骤S204中计算的绝对排序分值rank_scores_bordai和相对排序分值rank_scores_copelandi采用MIN-MAX归一化公式进行归一化处理,并按照如下公式进行计算得出每个第一结构化数据的平均分值:
Si=α×scores_bordai+(1-α)×scores_copelandi
其中,α表示α平均的参数,在本申请实施例中α优选为0.7,scores_bordai和scores_copelandi分别表示绝对排序分值rank_scores_bordai和相对排序分值rank_scores_copelandi经过MIN-MAX归一化后的结果(该结果在0~1之间)。最后,根据上述所计算的平均分值Si与预设的分数阈值的大小关系,若平均分值Si大于分数阈值时,则确定该第一结构化数据为异常数据,否则,则为正常数据。
或者,在得到各个第一结构化数据的平均分值后,可以选择平均分值高的预设数量或者预设比例(即选取的异常数据占总数据集的比例)的第一结构化数据作为异常数据。
例如,在对营业员行为的结构化数据进行异常检测时,可以根据实际业务需求,取第一结构化数据的平均分值最高的3000条数据形成营业员异常操作行为风险点派单数据,作为“营业员异常操作风险挖掘”风险点,在风险防控大数据平台上进行派单核查,以使得相关技术人员及时找到风险原因并反馈。
基于上述步骤S201至步骤S205所限定的方案,可以获知,在实施例中,采用多层模型对结构化数据进行挖掘,融合多个异常检测模型的异常检测能力,其中,第一层基模型分别从基于距离、基于密度、基于聚类、基于神经网络中各选择一个异常检测模型作为基模型输出每个结构化数据的异常分数,得到第一异常分数集,并在第二层使用集成学习算法的最小协方差行列式模型将第一层基模型中学习到的元特征(即每个结构化数据的第一异常分数集)进行第一次融合,有效地整合第一层基模型的信息,得到多组第二异常分数集,然后在第三层中对多组第二异常分数集进行融合排序,得到结构化数据的异常分数均值,进行异常数据的判断。通过上述多质模型多层融合的方法避免现有单质模型或者单次融合的局限性,提升三层模型两次融合的整体稳定性与泛化能力,增强对结构化数据的异常识别能力。
其次,在第三层中没有对第二层基模型输出的多组第二异常分数集直接进行相加减,二是采用两组排序融合方法的平均结果,即Borda Count方法所得的绝对排序分值与Copeland方法所得的相对排序分值的α平均,这是因为,Borda Count方法注重每组第二异常分数集内第二异常分数子集的绝对位置排序(等级),却忽视了其相对差异;而Copeland方法则是每组第二异常分数集内第二异常分数子集的相对位置关系(对比),却忽视了其绝对差距,本申请实施例中通过结合这两种排序方法,可以同时兼顾这两种方法的特点,避免单一排序方法的局限性,充分利用这两种排序方法在异常检测中的不同视角和计算方式,改善泛化能力,提高整体的准确性和鲁棒性,达到更有效的异常识别。
另外,本申请实施例中多次对所计算的异常分数进行归一化操作,这是为了避免单个模型在结构化数据上异常分值波动较大,导致对最终异常检测结果的过大影响。由此可见,通过本申请实施例的技术方案,可以有效解决了由于人工检测异常数据成本较高,准确度较低的技术问题。
举例而言,分别以权威公开数据集thyroid(美国加州大学尔湾分校公开的Garavan研究所的甲状腺疾病检测数据集)、个贷违约检测数据集(中国计算机协会公开的中原银行个贷违约检测数据集)为例,对单质单融合模型,如基于树模型的孤立森林IFOREST模型,基于距离的KNN模型,基于密度的LOF、COF模型,基于聚类的GMM模型,基于神经网络的ALAD模型、LUNAR模型与本申请实施例所提供的上述方法进行对比,得到如下表1所示的AUC值结果对照表,以及表2所示的异常数据准确率(召回率)结果对照表:
表1
表2
通过上述表1和表2不难看出,针对上述两大权威公开数据集,通过采用本申请所提供的多质多融合方法的AUC值及异常样本准确率(召回率)均比从整体上比基于树模型、基于距离、基于密度、基于聚类、基于神经网络的单模型方法及使用MCD只进行单次blending融合的方法均有明显的提升,也就是说,采用本申请实施例所提供的三层模型两次融合的集成学习方法,可以显示不错的效果。
实施例2
基于本申请实施例1,还提供了一种异常数据检测装置的实施例,该装置运行时执行上述实施例的上述异常数据检测方法。其中,图3是根据本申请实施例的一种可选的异常数据检测装置的结构示意图,如图3所示,该异常数据检测装置中至少包括获取模块31,异常检测模块32,融合处理模块33,确定模块34和异常判定模块35,其中:
获取模块31,用于获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;
异常检测模块32,用于分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;
融合处理模块33,用于通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;
确定模块34,用于基于多组第二异常分数集确定每个第一结构化数据对应的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;
异常判定模块35,用于在第一结构化数据对应的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
需要说明的是,上述异常数据检测装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1中的异常数据检测方法。
可选地,非易失性存储介质所在设备通过运行该程序执行实现以下步骤:
步骤S201,获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;
步骤S202,分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;
步骤S203,通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;
步骤S204,基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;
步骤S205,在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
根据本申请实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的异常数据检测方法。
可选地,程序运行时执行实现以下步骤:
步骤S201,获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;
步骤S202,分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;
步骤S203,通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;
步骤S204,基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;
步骤S205,在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
根据本申请实施例,还提供了一种电子设备,其中,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述实施例1中的异常数据检测方法。
可选地,处理器被配置为通过计算机程序执行实现以下步骤:
步骤S201,获取待检测的第一数据集,其中,第一数据集中包括至少一个第一结构化数据;
步骤S202,分别通过预训练的多组第一层基模型对第一数据集进行检测处理,得到各个第一结构化数据对应的多组第一异常分数集,其中,每组第一层基模型中包括多个模型特性不同的基模型;
步骤S203,通过预训练的第二层基模型对多个第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组第二异常分值集中包括:用于反映第一结构化数据的异常程度的第二异常分数子集;
步骤S204,基于多组第二异常分数集确定每个第一结构化数据的绝对排序分值和相对排序分值,其中,绝对排序分值用于反映第一结构化数据对应的第二异常分数子集在对应的第二异常分数集内的绝对排名,相对排序分值用于反映第一结构化数据对应的第二异常分数子集相对于第二异常分数集内其他第二异常分数子集的相对排名;
步骤S205,在第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定第一结构化数据为异常数据。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种异常数据检测方法,其特征在于,包括:
获取待检测的第一数据集,其中,所述第一数据集中包括至少一个第一结构化数据;
分别通过预训练的多组第一层基模型对所述第一数据集进行检测处理,得到各个所述第一结构化数据对应的多组第一异常分数集,其中,每组所述第一层基模型中包括多个模型特性不同的基模型;
通过预训练的第二层基模型对多个所述第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组所述第二异常分值集中包括:用于反映所述第一结构化数据的异常程度的第二异常分数子集;
基于多组所述第二异常分数集确定每个所述第一结构化数据的绝对排序分值和相对排序分值,其中,所述绝对排序分值用于反映所述第一结构化数据对应的所述第二异常分数子集在对应的所述第二异常分数集内的绝对排名,所述相对排序分值用于反映所述第一结构化数据对应的所述第二异常分数子集相对于所述第二异常分数集内其他第二异常分数子集的相对排名;
在所述第一结构化数据的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定所述第一结构化数据为异常数据。
2.根据权利要求1所述的方法,其特征在于,获取待检测的第一数据集,包括:
获取待检测的第二数据集;
对所述第二数据集进行预处理,得到所述第一数据集,其中,所述预处理中包括以下至少之一:数据清洗、特征编码、标准规范化。
3.根据权利要求1所述的方法,其特征在于,所述模型特性包括以下至少之一:距离特性、密度特性、聚类特性和神经网络特性,所述方法还包括:
在所述模型特性为所述距离特性时,所述基模型包括以下至少之一:基于K近邻算法的第一基模型、基于孤立森林算法的第二基模型;
在所述模型特性为所述密度特性时,所述基模型包括以下至少之一:基于局部异常因子的第三基模型、基于连通性异常因子算法的第四基模型;
在所述模型特性为所述聚类特性时,所述基模型包括以下至少之一:高斯混合模型、基于聚类的局部异常因子算法的第五基模型;
在所述模型特性为所述神经网络特性时,所述基模型包括以下至少之一:基于图神经网络的第六基模型、基于对抗生成网络的第七基模型。
4.根据权利要求1所述的方法,其特征在于,分别通过预训练的多组第一层基模型对所述第一数据集进行检测处理,得到各个所述第一结构化数据对应的多组第一异常分数集,包括:
对于每组所述第一层基模型,通过所述第一层基模型内的各个所述基模型分别对所述第一结构化数据进行检测处理,得到所述第一结构化数据对应的多个第一异常分数;
由所述第一结构化数据的多个所述第一异常分数组成所述第一结构化数据的所述第一异常分数集。
5.根据权利要求1所述的方法,其特征在于,通过预训练的第二层基模型对多个所述第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,包括:
对每个所述第一结构化数据对应的多组所述第一异常分数集进行归一化处理,得到归一化后的多组所述第一异常分数集;
将归一化后的各个所述第一结构化数据对应的多组所述第一异常分数集作为多个输入特征依次输入至所述第二层基模型,得到所述第二层基模型输出的多组所述第二异常分数集。
6.根据权利要求1所述的方法,其特征在于,基于多组所述第二异常分数集确定每个所述第一结构化数据对应的绝对排序分值和相对排序分值,包括:
对于每个所述第一结构化数据,依据所述第一结构化数据对应的所述第二异常分数子集在对应的所述第二异常分数集内的排名,采用Borda Count算法确定每个所述第二异常分数子集的绝对排序子分值,并基于多组所述第二异常分数子集的绝对排序子分值确定所述第一结构化数据的绝对排序分值;
对于每个所述第一结构化数据,依据所述第一结构化数据对应的所述第二异常分数子集相对于所述第二异常分数集内其他第二异常分数子集的大小关系,采用Copeland算法确定每个所述第一结构化数据的多个胜分和多个负分,并基于所述第一结构化数据的多个所述胜分和多个所述负分确定所述第一结构化数据的相对排序分值。
7.根据权利要求6所述的方法,其特征在于,在所述第一结构化数据对应的绝对排序分值和相对排序分值的平均分值大于预设的分数阈值时,确定所述第一结构化数据为异常数据,包括:
对所述第一结构化数据的绝对排序分值和相对排序分值进行归一化处理;
计算归一化处理后的所述绝对排序分值和所述相对排序分值的平均分值,并在所述平均分值不小于所述分数阈值时,确定所述第一结构化数据为所述异常数据。
8.一种异常数据检测装置,其特征在于,包括:
获取模块,用于获取待检测的第一数据集,其中,所述第一数据集中包括至少一个第一结构化数据;
异常检测模块,用于分别通过预训练的多组第一层基模型对所述第一数据集进行检测处理,得到各个所述第一结构化数据对应的多组第一异常分数集,其中,每组所述第一层基模型中包括多个模型特性不同的基模型;
融合处理模块,用于通过预训练的第二层基模型对多个所述第一结构化数据对应的多组第一异常分数集进行融合处理,得到多组第二异常分数集,其中,每组所述第二异常分值集中包括:用于反映所述第一结构化数据的异常程度的第二异常分数子集;
确定模块,用于基于多组所述第二异常分数集确定每个所述第一结构化数据对应的绝对排序分值和相对排序分值,其中,所述绝对排序分值用于反映所述第一结构化数据对应的所述第二异常分数子集在对应的所述第二异常分数集内的绝对排名,所述相对排序分值用于反映所述第一结构化数据对应的所述第二异常分数子集相对于所述第二异常分数集内其他第二异常分数子集的相对排名;
异常判定模块,用于在所述第一结构化数据对应的绝对排序分值和相对排序分值的平均值大于预设的分数阈值时,确定所述第一结构化数据为异常数据。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有计算机程序,其中,所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至7中任意一项所述异常数据检测方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的异常数据检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311236770.1A CN117272204A (zh) | 2023-09-22 | 2023-09-22 | 异常数据检测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311236770.1A CN117272204A (zh) | 2023-09-22 | 2023-09-22 | 异常数据检测方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117272204A true CN117272204A (zh) | 2023-12-22 |
Family
ID=89215548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311236770.1A Pending CN117272204A (zh) | 2023-09-22 | 2023-09-22 | 异常数据检测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117272204A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117763486A (zh) * | 2024-02-22 | 2024-03-26 | 福建理工大学 | 一种基于图数据结构和特征的金融网络异常检测方法 |
-
2023
- 2023-09-22 CN CN202311236770.1A patent/CN117272204A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117763486A (zh) * | 2024-02-22 | 2024-03-26 | 福建理工大学 | 一种基于图数据结构和特征的金融网络异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Roffo et al. | Infinite latent feature selection: A probabilistic latent graph-based ranking approach | |
CN109033200B (zh) | 事件抽取的方法、装置、设备及计算机可读介质 | |
CN107066616A (zh) | 用于账号处理的方法、装置及电子设备 | |
CN111612041A (zh) | 异常用户识别方法及装置、存储介质、电子设备 | |
CN109471944A (zh) | 文本分类模型的训练方法、装置及可读存储介质 | |
US20190164245A1 (en) | Method for automatically linking associated incidents related to criminal activity | |
CN109886284B (zh) | 基于层次化聚类的欺诈检测方法及系统 | |
CN109886334A (zh) | 一种隐私保护的共享近邻密度峰聚类方法 | |
CN111612038A (zh) | 异常用户检测方法及装置、存储介质、电子设备 | |
CN112015901A (zh) | 文本分类方法及装置、警情分析系统 | |
CN113869052B (zh) | 基于ai的房屋地址匹配方法、存储介质及设备 | |
Silvestre et al. | Feature selection for clustering categorical data with an embedded modelling approach | |
CN113095927A (zh) | 一种反洗钱可疑交易识别方法及设备 | |
Santos et al. | Optimizing the parameters of drift detection methods using a genetic algorithm | |
CN117272204A (zh) | 异常数据检测方法、装置、存储介质和电子设备 | |
CN114298176A (zh) | 一种欺诈用户检测方法、装置、介质及电子设备 | |
CN113269647A (zh) | 基于图的交易异常关联用户检测方法 | |
Vu et al. | Rumor detection by propagation embedding based on graph convolutional network | |
CN115310589A (zh) | 一种基于深度图自监督学习的群体识别方法及系统 | |
CN110348516A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN106603546A (zh) | 物联网入侵监测方法及装置 | |
Liu et al. | Learning multiple gaussian prototypes for open-set recognition | |
CN113704389A (zh) | 一种数据评估方法、装置、计算机设备及存储介质 | |
Melnykov et al. | Recent developments in model-based clustering with applications | |
CN114547346B (zh) | 知识图谱的构建方法和装置、电子设备和存储介质 |
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 |