CN108205570A - 一种数据检测方法和装置 - Google Patents
一种数据检测方法和装置 Download PDFInfo
- Publication number
- CN108205570A CN108205570A CN201611182307.3A CN201611182307A CN108205570A CN 108205570 A CN108205570 A CN 108205570A CN 201611182307 A CN201611182307 A CN 201611182307A CN 108205570 A CN108205570 A CN 108205570A
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- probability
- module
- server
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据检测方法和装置,涉及大数据领域,能够解决高维情况下不能检测出错误数据和在定位错误数据的特征组合时的规则可扩展性差的问题。其方法为:服务器将多个数据聚类为簇,获取各簇的关键特征和度量标准,以便根据各簇的关键特征和度量标准获取多个数据属于各簇的概率;然后,服务器可以根据多个数据分别属于具有相同关键特征的多个簇的概率识别出多个簇下存在的错误数据,并且服务器从多个簇的关键特征开始搜索,以确定错误数据对应的特征组合。本申请实施例应用于对低维或高维的错误数据进行检测和纠正的场景。
Description
技术领域
本申请涉及大数据领域,尤其涉及一种数据检测方法和装置。
背景技术
大数据技术是一种可以从各种各样类型的数据中,快速获得有价值信息的技术。但是如果将错误的数据输入计算机系统,计算机自然也只会输出错误、无意义的结果,所以数据质量很重要。一般而言,导致某条数据错误的原因可分为两类:第一是单个特征的取值错误。比如,某条用户数据中有一维特征是“当月总流量”,其值为“200G”,明显偏离一般情况。第二是多特征间的不一致问题。比如,某用户数据的特征“城市”与“区域”的值分别为“深圳”、“故宫”。虽然“深圳”或“故宫”单独而言,其取值不存在问题,但组合在一起后便出现矛盾——“故宫在深圳”与事实不相符。实际问题中,导致数据错误的原因多为后者。
要保证数据质量,首先要检测出错误数据,现有技术中提出了一种聚类算法来检测错误数据。其大概流程为:通过计算数据点到各聚类中心之间的距离,将数据划分成不同的簇。对于到各聚类中心的距离远大于阈值的离群点判定为错误数据。如图1所示,被圈出的3个点就是离群点。
上述聚类算法擅长处理小规模数据与低维数据。可是,在大数据时代,随处可见千万级的海量数据与上万级的高维数据。于是,随着数据规模的增大,上述算法性能急剧下降;更严重的是遇到高维数据时,经典聚类算法容易失效。失效的主要原因是“维度灾难”:由于高维数据分布的内在稀疏性,常用的距离度量和密度度量的有效性大大降低,数据点之间普遍存在“低相似性”。如图2a所示,当维度较低时,现有技术中的聚类算法可以将错误数据F、D顺利地检测出来。但当维度较高后,如图2b所示,该聚类算法无法将数据聚类成簇,所有数据都成为离群点,导致无法检测出错误数据。
要保证数据质量,还需要在通过聚类算法检测出错误数据后,进一步定位出导致其出错的具体原因,并进行纠正。现有技术在定位导致其出错的具体原因前需要先找出错误的特征组合,这就需要先列举出各种情况。比如,特征为城市、区域和终端品牌这3个特征的数据集有23-1=7种情况,分别是:(城市)、(区域)、(终端品牌)、(城市、区域)、(城市、终端品牌)、(区域、终端品牌)、(城市、区域、终端品牌),此时间复杂度达到指数级别。列举出各种情况以后需要再根据不同数据集重新定义规则用于检验。比如,通过设定检验条件“当月缴费金额”=“基本月租”+(超额的)“通话时间”×A+(超额的)“短信数”×B;或者维护一个“城市”与“区域”对应关系的词典等。对错误的特征组合进行纠正也类似,主要依靠各种预先定义了的规则。
实际问题中的特征总数很容易上万,因此对有多个特征的数据集列举出各种情况的效率极低。而且列举出各种情况后重新定义规则的过程中,需要人为编写规则,费时费力且成本高。与此同时,数据集的差异性导致规则较难复用,且依赖相应的领域知识,这就导致规则的可扩展性差。
发明内容
本申请实施例提供一种数据检测方法和装置,能够解决高维情况下不能检测出错误数据和在定位错误数据的特征组合时的规则可扩展性差的问题。
一方面,提供一种数据检测方法,包括:服务器将多个数据聚类为簇,获取各簇的关键特征和度量标准,以便根据各簇的关键特征和度量标准获取多个数据属于各簇的概率;然后,服务器可以根据多个数据分别属于具有相同关键特征的多个簇的概率识别出多个簇下存在的错误数据,并且服务器从多个簇的关键特征进一步确定错误数据对应的特征组合。相比现有技术,根据数据的所有特征来将数据聚类成簇,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以根据各簇的关键特征和度量标准得出多个数据属于各簇的概率,并根据概率检测出错误数据,从而解决了高维情况下不能检测出错误数据的问题。且现有技术是采用人为制定规则的方法判断错误数据的异常特征组合,费时费力,本申请实施例可以根据多个簇的关键特征自动挖掘出多个簇下的错误数据的特征组合,从而解决了定位错误数据的特征组合时的规则可扩展性差的问题。
在一种可能的设计中,对于各簇中的每个簇,服务器可以先根据各簇的全局特征,各簇的第一聚类中心和第一度量标准获取多个数据属于各簇的第一概率。其中,各簇的全局特征可以视为初始化的关键特征,各簇的第一聚类中心可以是初始化的聚类中心,可以是根据规则或系统自动在多个数据中选取的K个数据点;第一度量标准可以是无穷大;第一概率可以是多个数据第一次聚类成簇时,多个数据属于第一次聚类成的各簇的概率。而后服务器根据多个数据到该簇的第一概率和多个数据重新确定该簇的第二聚类中心,可以是通过根据具有第一概率的多个数据的质心来重新确定该簇的第二聚类中心。并且,服务器通过降维算法与多个数据属于该簇的第一概率对该簇的全局特征进行压缩,获取第二聚类中心下该簇的第一关键特征,第一关键特征即在第一次聚类时将全局特征压缩后的特征,并根据多个数据属于该簇的第一概率、该簇的第一聚类中心和多个数据获取第二度量标准;服务器确定多个数据属于该簇的第一概率和第二度量标准是否收敛;可以是服务器根据第二度量标准获取多个数据到该簇的投影距离的平方,即多个数据到该簇的聚类中心的投影距离的平方,并根据投影距离的平方与多个数据属于该簇的第一概率相乘,然后加和;若相乘并加和后的结果达到第一阈值或不再减小,第一阈值可以通过经验确定,则服务器确定多个数据属于该簇的第一概率和第二度量标准收敛,则服务器确定该簇的第一关键特征为该簇的关键特征,第二度量标准为该簇的度量标准,多个数据属于该簇的第一概率为多个数据属于该簇的概率;若相乘并加和后的结果并未达到第一阈值或并未不再减小,则服务器确定多个数据属于该簇的第一概率和第二度量标准不收敛,则服务器根据该簇的第二聚类中心、该簇的第一关键特征以及第二度量标准获取多个数据属于该簇的第二概率,并根据第二概率、第二聚类中心和多个数据获取第三度量标准,以便服务器确定多个数据属于该簇的第二概率和第三度量标准是否收敛。服务器还可以压缩第二聚类中心下的多个数据的全局特征以获取第二关键特征,并根据第二概率和所述多个数据获取该簇的第三聚类中心。需要说明的是,若第二概率和第三度量标准不收敛,则需要继续计算该簇的第三概率和第四度量标准……,直到该簇的概率和度量标准收敛,而后服务器可以将收敛时的概率确定为所述多个数据属于该簇的概率,并将收敛时的关键特征确定为所属各簇的关键特征。相比现有技术,根据数据的所有特征来将数据聚类成簇,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以在概率和度量标准收敛后获取多个数据属于该簇的概率和该簇的关键特征,以便根据该簇的概率和该簇的关键特征识别出错误数据并确定出错误数据的特征组合,解决了异常数据检测时,高维情况下检测失效的问题。
在一种可能的设计中,服务器获取第一概率的方法可以是:根据各簇的全局特征和各簇的第一聚类中心获取多个数据到各簇的初始距离,再根据初始距离和第一度量标准获取多个数据到该簇的第一聚类中心的投影距离;而后服务器根据多个数据到该簇的第一聚类中心的投影距离获取多个数据到该簇的第一概率。类似的,服务器获取第二概率可以是根据各簇的全局特征压缩后的第一关键特征和各簇的第二聚类中心获取多个数据到各簇的初始距离,再根据初始距离和第二度量标准获取多个数据到该簇的第二聚类中心的投影距离;而后服务器根据多个数据到该簇的第二聚类中心的投影距离获取多个数据到该簇的第二概率。若服务器还需要获取第三概率、第四概率……,可以参考第一概率和第二概率的计算方法。
在一种可能的设计中,服务器可以根据多个数据分别属于多个簇的概率识别出多个簇下存在的错误数据。因为多个簇的关键特征相同,多个数据中的任一个数据若属于多个簇中的任一个簇,则可以认为该数据相对应的特征值是正常的,则该数据不是错误数据。若多个数据中的任一数据属于多个簇中每个簇的概率相差均在预设范围内,比如多个数据中的任一数据属于多个簇中每个簇的概率相差均不到0.01,那么无法确定该数据应该属于多个簇中的那个簇,此时可以认为该数据不属于多个簇中的任一个簇,则服务器确定该数据为多个簇下的错误数据。举例来说,假设多个簇是由簇C1、簇C2和簇C3组成的,预设范围为0.01。若多个数据中的数据D属于簇C1的概率为0.005,属于簇C2的概率为0.006,属于簇C3的概率为0.004,则数据D到簇C1、C2和C3的概率相差均不超过0.01。也就是说,数据D到多个簇中的每个簇的概率相差均在预设范围内,因此数据D是由簇C1、簇C2和簇C3组成的多个簇中的错误数据。相比现有技术,根据数据的所有特征来将数据聚类成簇,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以根据各簇的关键特征和度量标准计算出多个数据分别属于多个簇的概率,并根据概率识别出多个簇下存在的错误数据,从而解决了在高维情况下无法检测出错误数据问题。
在一种可能的设计中,当多个数据中的任一个数据不属于多个簇中的任一个簇时,可以认定该数据为多个簇下的错误数据。服务器可以将多个簇的关键特征确定为该错误数据的异常子空间,可以认为异常子空间是错误数据对应的特征组合的超集,但超集异常通常不是错误数据出错的根本原因。因此服务器可以从异常子空间进行搜索并动态建立伪树结构,以确定异常子空间中长度最小的异常特征组合为错误数据对应的特征组合,长度最小的异常特征组合就是导致错误数据出错的原因。这样一来,可以更准确的定位导致数据成为错误数据的特征组合,以便于在后续步骤中更有针对性对错误数据的特征组合纠正。
在一种可能的设计中,服务器从异常子空间进行搜索并动态建立伪树结构,以确定异常子空间中长度最小的异常特征组合为错误数据对应的特征组合。服务器可以先确定异常子空间的子节点是否异常。需要说明的是,子节点、兄弟节点都是相对于当前搜索到的节点而言,当被搜索到的节点改变,则其子节点与兄弟节点的指代也将发生变化。比如说,假设异常子空间对应的节点为A2A3A4,则该节点对应的子节点为A2A3、A3A4、
A2A4;若继续搜索A2A3,则节点A2A3的子节点为A2和A3,兄弟节点为A3A4和A2A4。若节点异常,则服务器继续去搜索该节点的子节点,并确定该节点的子节点是否异常;若节点正常,则服务器继续去搜索该节点的兄弟节点,并确定该节点的兄弟节点是否异常。若节点异常,且该节点的子节点均正常,则服务器确定该节点的特征组合为错误数据的最小的异常特征组合,即错误数据对应的特征组合。
在一种可能的设计中,服务器确定节点是否异常的方法可以是,服务器根据节点对应的特征组合获取错误数据分别到多个簇的概率;若根据节点对应的特征组合获取的错误数据分别到多个簇的概率相差均在预设范围内,则服务器确定节点对应的关键特征异常。举例来说,假设多个簇是由簇C1、簇C2和簇C3组成的,多个簇的关键特征为城市、区域和最活跃基站。若节点对应的特征组合为城市和最活跃基站,则服务器在城市和最活跃基站两个维度上计算错误数据分别到簇C1、簇C2和簇C3的概率,若这几个概率的相差均在预设范围内,也就是该错误数据不能被归为簇C1、簇C2和簇C3中的任一个簇,则服务器确定节点对应的特征组合异常。
在一种可能的设计中,服务器纠正检测出的错误数据,其方法是,服务器将错误数据对应的特征组合下的多个簇的数据作为建模数据,服务器可以规定输入项为多个簇的关键特征中除去错误数据对应的特征组合以外的特征,可以规定输出项为错误数据对应的特征组合,举例来说,若多个簇的关键特征为城市、区域和最活跃基站,错误数据对应的特征组合为区域(特征组合可以只由一个特征组成),则多个簇的关键特征中除去错误数据对应的特征组合以外的特征为城市和最活跃基站,则输入项为城市和最活跃基站,输出项为区域。然后服务器根据所构建的模型预测错误数据对应的特征组合的正确特征值,并用预测后得到的特征组合的正确的特征值替换预测错误的特征组合的特征值。
在一种可能的设计中,若服务器确定纠正后的数据还存在其它异常,则服务器对纠正后的特征组合对应的节点的兄弟节点进行搜索,以确定所述错误数据的其他特征组合。服务器可以将纠正后的数据置于错误数据所在的多个簇中,继续判断纠正后数据是否离群。若纠正后的数据仍离群,则继续搜索纠正后的数据的特征组合所对应节点的兄弟节点,即继续搜索替换了预测的特征组合的值之后的特征组合所对应的节点的兄弟节点。这是因为一条错误数据可能出现多组异常特征组合的情况。若还存在异常,只需要继续搜索该数据的其他最小异常特征组合即可,从而保证数据的所有最小异常特征组合都能得到纠正。相比现有技术,需要根据相关领域的知识和相关经验来人为制定纠正错误数据的规则,本申请实施例可以根据错误数据的特征组合和错误数据所在的多个簇的关键特征,自动纠正错误数据的异常特征组合,无需人工参与制定具体的规则,提高了规则的可扩展性,且降低了成本。
另一方面,提供一种服务器,包括:局部特征聚类模块,用于将多个数据聚类为簇,获取各簇的关键特征和度量标准;局部特征聚类模块,还用于对于各簇中的每个簇,根据该簇的关键特征和度量标准获取多个数据属于该簇的概率;最小异常特征组合识别模块,用于,对于具有相同关键特征的多个簇,当根据多个数据分别属于多个簇中每个簇的概率识别出多个簇下存在错误数据时,从多个簇的关键特征进一步确定错误数据对应的特征组合。相比现有技术,在高维情况下无法检测出错误数据,本申请实施例可以根据各簇的关键特征和度量标准得出多个数据属于各簇的概率,并根据概率检测出错误数据,从而解决了高维情况下不能检测出错误数据的问题。且现有技术是采用人为制定规则的方法判断错误数据的异常特征组合,费时费力,本申请实施例可以根据多个簇的关键特征自动挖掘出多个簇下的错误数据的特征组合,从而解决了定位错误数据的特征组合时的规则可扩展性差的问题。
在一种可能的设计中,局部特征聚类模块用于:对于各簇中的每个簇,根据该簇的全局特征、该簇的第一聚类中心与第一度量标准获取多个数据属于该簇的第一概率;根据第一概率和多个数据获取该簇的第二聚类中心,并通过降维算法与多个数据属于该簇的第一概率对该簇的全局特征进行压缩,获取第二聚类中心下该簇的第一关键特征,并根据多个数据属于该簇的第一概率、该簇的第一聚类中心和多个数据获取第二度量标准;确定多个数据属于该簇的第一概率和第二度量标准是否收敛;若确定是,则确定该簇的第一关键特征为该簇的关键特征,第二度量标准为该簇的度量标准,多个数据属于该簇的第一概率为多个数据属于该簇的概率;若确定否,则根据该簇第二聚类中心、该簇的第一关键特征以及第二度量标准获取多个数据属于该簇的第二概率,并根据第二概率、第二聚类中心和多个数据获取第三度量标准,以便确定多个数据属于该簇的第二概率和第三度量标准是否收敛。相比现有技术,根据数据的所有特征来将数据聚类成簇,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以在概率和度量标准收敛后获取多个数据属于该簇的概率和该簇的关键特征,以便根据该簇的概率和该簇的关键特征识别出错误数据并确定出错误数据的特征组合,解决了异常数据检测时,高维情况下检测失效的问题。
在一种可能的设计中,对于各簇中的每个簇,局部特征聚类模块用于:根据该簇的全局特征和该簇的第一聚类中心获取多个数据到该簇的初始距离;根据初始距离和第一度量标准获取多个数据到该簇的第一聚类中心的投影距离;根据多个数据到该簇的第一聚类中心的投影距离获取多个数据到该簇的第一概率。类似的,获取第二概率可以是根据各簇的全局特征压缩后的第一关键特征和各簇的第二聚类中心获取多个数据到各簇的初始距离,再根据初始距离和第二度量标准获取多个数据到该簇的第二聚类中心的投影距离;而后根据多个数据到该簇的第二聚类中心的投影距离获取多个数据到该簇的第二概率。若还需要获取第三概率、第四概率……,可以参考第一概率和第二概率的计算方法。
在一种可能的设计中,最小异常特征组合识别模块用于:若多个数据中的任一数据属于多个簇中每个簇的概率相差均在预设范围内,则确定任一数据为多个簇下的错误数据。相比现有技术,根据数据的所有特征来将数据聚类成簇,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以根据各簇的关键特征和度量标准计算出计算出多个数据分别属于多个簇的概率,并根据概率识别出多个簇下存在的错误数据,从而解决了在高维情况下无法检测出错误数据问题。
在一种可能的设计中,最小异常特征组合识别模块用于:将多个簇的关键特征确定为错误数据的异常子空间;从异常子空间进行搜索并动态建立伪树结构,以确定异常子空间中长度最小的异常特征组合为错误数据对应的特征组合。这样一来,可以更准确的定位导致数据成为错误数据的特征组合,以便于在后续步骤中更有针对性对错误数据的特征组合纠正。
在一种可能的设计中,最小异常特征组合识别模块用于:在对伪树结构进行搜索时,若确定任一节点异常,则继续确定所述任一节点的子弟节点是否异常,以快速确定出错误数据的特征组合;若所述服务器确定所述任一节点正常,则所述服务器继续确定所述任一节点的兄弟节点是否异常,以此类推。当所述任一节点异常且任一节点的子节点均正常时,则确定任一节点的特征组合为异常子空间中长度最小的异常特征组合,即为错误数据对应的特征组合。
在一种可能的设计中,最小异常特征组合识别模块用于:根据任一节点对应的特征组合获取错误数据分别到多个簇的概率;若根据任一节点对应的特征组合获取的错误数据分别到多个簇的概率相差均在预设范围内,则确定任一节点异常。
在一种可能的设计中,服务器还包括异常特征纠正模块,用于:将错误数据对应的特征组合下的多个簇的数据作为建模数据,构建模型的输入项与输出项,输入项为多个簇的关键特征中除去错误数据对应的特征组合以外的特征,输出项为错误数据对应的特征组合;根据模型对错误数据对应的特征组合进行预测,并将预测后得到的特征组合的值替换预测前特征组合的值。
在一种可能的设计中,最小异常特征组合识别模块还用于:在任一节点异常并对任一节点对应的特征的值进行纠正后,若多个簇的关键特征对应的节点仍异常,则服务器对任一节点的兄弟节点继续进行搜索,以确定任一节点的兄弟节点是否异常。这样一来,可以根据错误数据的特征组合和错误数据所在的多个簇的关键特征,自动纠正错误数据的异常特征组合,无需人工参与制定具体的规则,可扩展性高,且成本低。
再一方面,本发明实施例提供了一种服务器,包括处理器和存储器,存储器用于存储如第一方面涉及到的程序指令和数据,处理器用于执行如第一方面所对应的方法的程序指令。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
相比现有技术,根据数据的全部特征将数据聚类成簇,获取各数据到各簇的距离来判断错误数据,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例根据关键特征和度量标准获取多个数据属于各簇中的每个簇的概率,然后可以根据概率识别出该数据分别在多个簇下的错误数据,从而解决了在高维情况下不能检测出错误数据的问题。而且,本申请实施例在多个簇下存在错误数据时,可以根据错误数据所在的多个簇的关键特征获取错误数据的特征组合,即错误数据的最小异常特征组合,换句话说,本申请实施例可以自动定位错误数据的最小异常特征组合,从而解决了在定位错误数据时需要人为制定规则导致的可扩展性差的问题。
附图说明
图1为本申请实施例提供的一种现有聚类算法的聚类结果示意图;
图2a为本申请实施例提供的一种现有聚类算法下的低维数据的聚类效果示意图;
图2b为本申请实施例提供的一种现有聚类算法下的高维数据的聚类效果示意图;
图3为本申请实施例提供的一种服务器的内部结构示意图;
图3a为本申请实施例提供的一种系统架构图;
图4为本申请实施例提供的一种数据检测的方法流程示意图;
图5为本申请实施例提供的一种数据检测的方法流程示意图;
图6为本申请实施例提供的一种局部特征聚类的效果示意图;
图7为本申请实施例提供的一种将特征聚类的方法示意图;
图8为本申请实施例提供的一种伪树的结构示意图;
图9为本申请实施例提供的一种伪树的结构示意图;
图10为本申请实施例提供的一种子树的结构示意图;
图11为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
本申请实施例可应用于对低维或高维的错误数据进行检测和纠正的场景,例如对用户数据进行检测和纠正的场景,也可应用于其他结构化的数据检测和纠正的场景,本申请实施例不做限制。本领域技术人员可以理解的是,结构化数据即可以存储在数据库里,并用二维表结构来逻辑表达实现的数据。
本申请实施例的系统架构可以包括两类网元:客户端与服务器。客户端用于生成和发送数据,以及显示业务模块的结果,可以是电脑、手机、机顶盒或其它任何支持用户与服务器间通讯的设备。服务器可以是一种计算机设备,用于接收、存储、以及处理客户端发送的请求,可以是物理集群或者虚拟云等。
图3为本申请实施例中服务器的一种内部结构示意图,在本申请实施例中,服务器可以包括处理模块301、通讯模块302和存储模块303。其中,处理模块301用于控制服务器的各部分硬件装置和应用程序软件等。通讯模块302用于可使用长期演进(Long TermEvolution,LTE)、无线保真(WIreless-Fidelity,WiFi)等通讯方式接受其它设备发送的指令,也可以将服务器的数据发送给其它设备。存储模块303用于执行服务器的软件程序的存储、数据的存储和软件的运行等。
在本申请实施例中,进一步的,上述服务器的处理模块可以具体包括多个模块。如图3a所示,为本申请实施例提供的一种数据检测和纠正的方法的系统架构图,包括客户端和服务器两部分。客户端包括数据生成/发送模块和显示模块。数据生成/发送模块用于将客户端生成的数据发送至服务器。其中数据可以为静态属性数据,如年龄、性别、职业等;或动态行为数据,如位置信息、通话记录、用户对推荐内容的反馈,但不限于此。显示模块用于接收服务器发送过来的业务内容,并显示在客户端。例如,将推荐视频呈现到用户的交互式网络电视(Internet Protocol Television,I PTV)屏幕中。服务器可以包括数据收集/存储模块、局部特征聚类模块、离群点检测模块、错误数据集、干净数据集、最小异常特征组合识别模块、异常特征纠正模块和业务逻辑模块。该系统对应装置内部各模块的功能作用如下:
数据收集/存储模块用于收集并集成客户端发送的数据,可初步存储在原始数据库中,相当于图3中的存储模块303。
图3中的处理模块可以由以下模块实现,包括:
局部特征聚类模块,用于将相似的数据聚类成簇,并附带生成各个簇的关键特征与度量标准;
离群点检测模块,用于检测出原始数据集中的错误数据。错误数据集用于存储检测出的错误数据,且每条数据都附带着异常的特征组合;
最小异常特征组合识别模块,用于搜索出最小的异常特征组合,并将其作为导致此条数据错误的原因;
异常特征纠正模块,用于将定位出的异常特征组合通过建模预测方法进行纠正;
错误数据集,用于存储纠正前的错误数据;
干净数据集,用于存储纠正后的干净数据;
业务逻辑模块,用于对清洗后的干净数据进行建模分析,并应用于不同的业务场景中。比如,分析用户的消费能力、预测用户可能喜欢的电影等。
其中,局部特征聚类模块可以包括初始化单元、聚类单元、软分配策略单元、关键特征提取单元和度量标准生成单元;
初始化单元用于初始化局部特征聚类单元;
聚类单元用于将各数据划分成不同的簇;
软分配策略单元用于得出数据划分至各个簇的概率;
关键特征提取单元用于提取出每个簇独有的关键特征,以用于聚类模型;
度量标准生成单元用于提取出每个簇独有的度量标准,以用于聚类模型。
最小异常特征组合识别模块可以包括搜索单元和剪枝单元;
搜索单元用于定位出最小的异常特征组合;
剪枝单元用于进一步地在搜索最小异常特征组合建立的伪树中缩小范围,在搜索过程中动态剪枝。
异常特征纠正模块可以包括特征/数据生成单元和预测模型单元;
特征/数据生成单元用于生成预测模型训练时所需的数据,以及构造模型的输入特征与输出特征;
预测模型单元用于预测并推断出异常特征的正确值。
本申请实施例中,服务器将数据聚类为簇,并根据各簇的关键特征和度量标准获取多个数据属于各簇的概率,然后服务器根据概率分析数据是否属于关键特征相同的多个簇(即一个侧面),以识别出错误数据,这样便检测出了侧面下的错误数据。而后服务器将错误数据所在的侧面的关键特征确定为错误数据的异常子空间,从异常子空间进行搜索并动态建立伪树结构,以获取长度最小的异常特征组合即错误数据对应的特征组合。
本申请实施例提供一种数据检测方法,如图4所示,包括:
401、计算机设备将多个数据聚类为簇,获取各簇的关键特征和度量标准。
计算机设备可以采用迭代收敛的方法得到最合适的关键特征和度量标准,每一次迭代过程中可以采用局部压缩的压缩算法来获取各簇的关键特征。即可以对前一次迭代后的聚类结果重新进行压缩,以重新确定当前的关键特征。
对于度量标准来说,计算机设备可以根据当前迭代中多个数据属于聚类成的各簇的概率,和前一次迭代中聚类成的各簇的聚类中心来获取各簇当前迭代得到中所得到的度量标准。
在本申请实施例中,计算机设备在迭代收敛时各簇所获取的度量标准和关键特征可以称为各簇的度量标准和关键特征。
402、对于各簇中的每个簇,计算机设备根据该簇的关键特征和度量标准获取多个数据属于该簇的概率。
需要说明的是,计算机设备根据该簇的关键特征和度量标准获取多个数据属于该簇的概率的过程可以不是一步到位的。计算机设备获取概率的过程可以是一个迭代的过程。
对于各簇中的每个簇,计算机设备可以根据该簇前一次迭代中得到的该簇的关键特征和度量标准,获取当前迭代中多个数据属于该簇的概率。
具体地,在当前迭代过程中,计算机设备根据前一次迭代中得到的关键特征和度量标准,获取当前迭代过程中多个数据属于各簇的概率,且根据当前迭代得到的概率获取每个簇在当前迭代中的关键特征和度量标准。
举例来说,若第三次迭代中得到的关键特征和度量标准分别为第三关键特征和第三度量标准,则第四次迭代中得到的概率(即第四概率)是由第三关键特征和第三度量标准得出的,且第四次迭代中还可以包括根据第四概率得出的第四度量标准和第四关键特征。
也就是说,一次迭代过程会产生概率以及根据该概率得出的度量标准和关键特征。
迭代收敛时,包括迭代得到的概率和度量标准收敛时,对于各簇中的每个簇,计算机设备可以获取多个数据属于该簇的概率。
403、对于具有相同关键特征的多个簇,当计算机设备根据多个数据分别属于多个簇中每个簇的概率识别出多个簇下存在错误数据时,计算机设备根据多个簇的关键特征确定错误数据对应的特征组合。
若具有相同关键特征的多个簇中有错误数据,则计算机设备从多个簇的关键特征进一步确定错误数据对应的特征组合,该特征组合中包括多个簇的关键特征中的最小异常特征组合。其中,对于具有相同关键特征的多个簇下的错误数据,该错误数据对应的特征组合可以有多个。
相比现有技术根据数据的全部特征来将数据聚类成簇,并获取数据到各簇的距离来判断错误数据,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例可以根据各簇的关键特征和度量标准获取多个数据属于各簇中的每个簇的概率,然后可以根据概率识别出多个数据分别在多个簇下的错误数据,从而解决了在高维情况下不能检测出错误数据的问题。而且,本申请实施例在多个簇下存在错误数据时,可以根据错误数据所在的多个簇的关键特征获取最小异常特征组合,即错误数据的特征组合,换句话说,本申请实施例可以自动定位错误数据的最小异常特征组合,从而解决了在定位错误数据时需要人为制定规则而导致规则的可扩展性低的问题。
本申请实施例提供一种数据检测方法,如图5所示,包括:
501、客户端生成多个数据并发送给服务器。
其中,数据可以是用户信息。用户信息可以包括年龄、性别、职业等基本属性,可以将基本属性称为静态属性;也可以包括位置信息、通话记录、套餐使用情况等动态属性。需要说明的是,数据的形式不限于静态和动态两种形式。而且本申请实施例中的数据的属性即可以认为是数据的特征。
客户端将多个数据发送至服务器,并汇总于服务器的原始数据库中。
需要说明的是,汇总于原始数据库中的多个数据质量较低。这是因为原始数据库中的数据是面向某一主题的数据的集合,而这些数据从多个业务系统中抽取而来,且包含历史数据,这样就无法避免有的数据是错误数据,有的数据相互之间有冲突。这些错误的或有冲突的数据可以被称为“脏数据”。通常来说,由于输入错误、多个数据源的不同表示方法以及数据间的不一致等原因,脏数据的比例可以高达20%-30%。
举例来说,用户数据A有城市属性和区域属性,其中,“城市”属性为深圳,“区域”属性是故宫,可以看出,城市属性与区域属性是不符合的,也可以说是自相矛盾的。因此数据A就是一条错误数据。
举例来说,多个数据的形式可以如表1所示。表中的每列即为多个数据的属性或特征,例如城市、当月缴费金额、区域等。多个数据公用这些属性,但多个数据中的每个数据分别对应了不同的属性值。比如用户数据A的属性“城市”的属性值为“深圳”,而用户数据B相应的属性值为“长沙”。表中的每行可以表示一条用户数据,一条用户数据可以视为一个向量,例如:用户数据A的向量可以为:[城市:深圳;当月缴费金额:57;区域:故宫;……]。
表1
在实际应用中,用户数据的个数与属性的个数都远远大于本实施例中列举出的示例。因此可以用N表示多个数据的数据量即用户个数,以M表示特征维度即属性个数,N和M为正整数。
502、服务器在第一次聚类前初始化聚类中心、关键特征和度量标准。
聚类中心即每个簇的中心点,多个簇便有多个聚类中心。
服务器初始化聚类中心可以有多种方法,可以是完全随机或采用某种策略等。
举例来说,可以是从多个用户数据中随机选出K个用户数据作为聚类中心。也可以是采用选择彼此距离尽可能远的K个点作为聚类中心的策略来选取聚类中心。具体步骤可以是:随机选择一个数据点作为第一个中心点;然后选择距离该点最远的那个点,作为第二个中心点;再选择距离前两个点最远的点,作为第三个中心点;以此类推,直至选出K个中心点。一般而言,K远小于N。
服务器可以将全局特征作为初始化的关键特征,全局特征可以为多个数据的全部特征,可以通过后续步骤504的压缩过程缩小关键特征的范围。
需要说明的是,各簇的关键特征在初始化时是相同的。后续的步骤中会进行第一次聚类、第二次聚类……,每次聚类后,会根据聚类结果将全局特征进行不断的压缩以重新确定各簇的关键特征。
服务器在初始化时,可以将第一次聚类成簇前的初始的度量标准设置为无穷大。
需要说明的是,初始的度量标准可以理解为服务器第一次聚类成簇前的度量标准。也是因为后续的步骤中还会进行第二次聚类、第三次聚类……,每次聚类的各簇的度量标准会进行相应的更新。
举例来说,如表2所示,各簇即C1、C2乃至CN的初始的聚类中心、关键特征和第一度量标准可以为:
表2
簇 | 聚类中心 | 关键特征 | 度量标准 |
C1 | 用户数据A | (城市,区域,……),共M维 | 无穷大 |
C2 | 用户数据E | (城市,区域,……),共M维 | 无穷大 |
…… | |||
CN | 用户数据G | (城市,区域,……),共M维 | 无穷大 |
503、对于各簇中的每个簇,服务器根据该簇的关键特征、该簇的聚类中心与度量标准获取多个数据属于该簇的概率。
需要说明的是,服务器根据该簇的关键特征和度量标准获取多个数据属于该簇的概率的过程可以不是一步到位的,可以是一个迭代的过程。
举例来说,对于各簇中的每个簇,服务器可以根据该簇的全局特征、该簇的第一聚类中心与第一度量标准获取多个数据属于该簇的第一概率。其中,全局特征可以是各簇第一次聚类时的关键特征,该簇的全局特征、第一聚类中心与第一度量标准可以为步骤502得到的初始的关键特征、聚类中心和度量标准。
若要获取多个数据属于各簇的第一概率,可以先获取多个数据到各簇的聚类中心的初始距离和投影距离。
需要说明的而是,多个数据中的每个数据可以同时属于各簇中的不止一个簇,并分别对应不同的第一概率。例如,用户数据A属于簇Ci的第一概率为70%,属于簇Cj的第一概率为30%。
服务器可以根据各簇对应的全局特征和各簇对应的聚类中心获取多个数据到各簇的聚类中心的初始距离,进而根据初始距离和第一度量标准获取多个数据到各簇对应的第一聚类中心的投影距离。
在计算初始距离时,采用的距离函数可以是欧氏距离、余弦距离等。本实施例以采用欧氏距离为例进行说明。
举例来说,如表3所示,假设用户数据XD的向量为:
[XD,1,XD,2,XD,3]。
簇C1的聚类中心的向量为:
[C1,1,C1,2,C1,3]。
表3
终端品牌 | 终端型号 | 当月缴费金额 | |
XD | XD,1 | XD,2 | XD,3 |
C1 | C1,1 | C1,2 | C1,3 |
根据表3中可知,簇C1的全局特征为终端型号、终端品牌和当月缴费金额。用户数据XD到簇C1的初始距离的计算结果可以如公式(1)所示:
即累加终端型号、终端品牌和当月缴费金额这三维特征上的平方差,然后开根号得到用户数据XD到簇C1的聚类中心的初始距离distance(XD,C1)。
需要说明的是,服务器在计算第二概率时,可以根据各簇的关键特征和聚类中心来计算初始距离。而不是像计算第一概率时,根据各簇的全局特征和聚类中心来计算初始距离。类似的,后续计算概率的过程也可以是根据各簇的关键特征和聚类中心计算初始距离。
投影距离的计算相当于对多个数据到各簇的初始距离做了一次空间变换。
另外,当度量标准为一个值时,投影距离为初始距离与各簇的度量标准的比值。
举例来说,若簇C1的度量标准的值为1,C2的度量标准的值为3。且用户数据XD到簇C1的初始距离即distance(XD,C1)=5,用户数据XD到簇C2的初始距离即distance(XD,C2)=9;则用户数据XD到簇C2的投影距离即distanceˊ(XD,C2)=9/3,小于用户数据XD到簇C1的投影距离即distanceˊ(XD,C1)=5/1,即XD离簇C2更近。
需要注意的是,每个簇都可以拥有各自的度量标准。比如簇C1的度量标准为一个值,例如可以是1,簇C2的度量标准为一个值,例如可以是2,即簇C1和簇C2的度量标准是不同的。当各簇的关键特征为各簇的全局特征时,度量标准可以为无穷大。
需要说明的是,各个簇的度量标准可以是一个值,也可以是一个函数。
若度量标准是函数,则可以用作非线性变换得到投影距离。此种情况下,计算投影距离可以不需要计算初始距离,而是直接计算投影距离。
举例来说,若计算XD到簇C1的投影距离distanceˊ(Xd,C1),假设簇C1的关键特征为C1,4和C1,5,XD与簇C1的关键特征对应的特征为XD,4和XD,5,并且假设XD,4-C1,4=3,XD,5-C1,5=4;作为度量标准的函数可以为:
f=0.7×(XD,4-C1,4)+0.3×(XD,4-C1,4)×(XD,5-C1,5);
即distanceˊ(Xd,C1)=0.7×3+0.3×3×4=5.7。
其中,f中的参数0.7与0.3可在后续的步骤503中求得。
本领域技术人员可以理解的是,以“函数”作为度量标准是以“值”作为度量标准的一般形式。
从上述说明可知,若度量标准为一个值,则计算距离时,可以计算初始距离distance,再用distance的值与度量标准的值相除得到投影距离d istanceˊ。
若度量标准为一个函数,可以为式(2),则可以不再计算初始距离,直接根据式(2)获取投影距离即可。
其中,w1、w4、w5、w6……是特征对应的权值参数,关键特征的权值可以为1,其它特征的权值可以为0。
例如,若关键特征是第四维特征和第五维特征,则w4、w5的权值为1,其他如w1、w6的权值默认为0。是度量标准函数里的参数,后续步骤可求得。
举例来说,若关键特征为第四维特征和第五维特征,即w4和w5为1。则f可以简化为式(3)的形式。
其中,可以用的综合值即替换所有的换句话说,可以认为分母都为即值为1。
当得到多个用户到各簇的投影距离后,可以根据公式(4)进一步计算多个数据到各簇的第一概率。通常情况下,投影距离越小,第一概率越大。
其中,uij可以表示用户数据Xi到簇Cj的概率,k表示簇的个数,distance'(Xi,Cj)表示数据Xi到簇Cj的投影距离,参数m∈(1,+∞),为平滑参数,可以代表各簇间的共享程度。当m趋近于1时,每个点只能属于一个簇,随着m的增大,模糊性增大。
举例来说,假设用户数据XD到各聚类中心Cj的投影距离如表4所示:
表4
Cj | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 |
XD | 5 | 3 | 6 | 7 | 1 | 8 | 6 | 3 |
如式(4)所示,以XD分配到簇C1的计算为例。若m=2,则计算概率的公式的分母为XD到聚类中心C1的投影距离,分子分别为XD到聚类中心C1~C8的投影距离,XD到聚类中心C1的概率为:
可以理解的是,根据上述获取多个数据中的任一个数据到各簇中的任一簇的概率的步骤,可以获取多个数据属于各簇的第一概率。
504、服务器根据概率和多个数据获取各簇中的每个簇的新的聚类中心,并通过降维算法与多个数据属于该簇的概率对全局特征进行压缩,获取新的聚类中心下该簇的关键特征,并根据多个数据属于该簇的概率、该簇的新的聚类中心和多个数据来获取新的度量标准。
举例来说,服务器可以根据第一概率和多个数据获取各簇中的每个簇的第二聚类中心,并通过降维算法与多个数据属于该簇的第一概率对该簇的全局特征进行压缩,获取第二聚类中心下该簇的第一关键特征,并根据多个数据属于该簇的第一概率、该簇的第一聚类中心和多个数据来获取第二度量标准。
传统方法中,采用同簇中所有用户数据的均值来更新聚类中心。而本申请实施例中,对于各簇中的每个簇,该簇中的每个用户数据都有属于该簇的第一概率,属于该簇的第一概率大于某一阈值的所有用户数据即该簇中带权值的用户数据。因此可以根据公式(5)对同簇中带权值的用户数据的质心更新重新确定,得到该簇新的聚类中心。
其中,Cj为第j个簇的聚类中心;
uij表示用户数据Xi到簇Cj的概率;
表示第j个簇的用户数据的个数;
Xi表示第j个簇中的各个用户数据。
对于特征较多的高维数据,本申请实施例可以对高维数据的特征进行压缩。示例性的,服务器可以通过核主成分分析(Kernel Based Principal Component Analysis,KPCA)和局部线性嵌入算法(Locally Linear Embedding,LLE)等降维压缩算法来对高维数据的特征进行压缩。具体地,对于各簇中的每个簇来说,可以将属于该簇的第一概率大于某一阈值的用户数据的全局特征压缩到子空间,以得到该簇的第一关键特征。
假设簇C1中带权重的用户数据,原本的特征即全局特征有城市、当月缴费金额、区域、终端品牌、终端型号、付费方式和最活跃基站,压缩后的特征只有终端型号和终端品牌,从7维变成了2维。终端型号和终端品牌即为簇C1压缩后的第一关键特征。
类似的,可以将属于该簇的第二概率大于某一阈值的用户数据的全局特征压缩到子空间,以得到该簇的第二关键特征,以此类推。
需要说明的是,各簇压缩后得到的第一关键特征可以相同,也可以不同。这是因为第一关键特征并非特指某一关键特征,可以泛指各簇对应的关键特征。
如图6所示,一个可能的压缩结果为簇C1和簇C2拥有相同的第一关键特征,可以为终端型号和终端品牌;簇C3、C4和C5拥有相同的第一关键特征,可以为城市、区域和最活跃基站;簇C6、C7和C8拥有相同的第一关键特征,可以为付费方式和当月缴费金额。
通常情况下,各个簇的第一关键特征的维度小于全局特征的维度。
对于第二度量标准的计算,本实施例以最简单的方差举例说明如何计算出第二度量标准。
当θj用于计算度量标准的值时,举例来说,假设簇C1的关键特征是第四维和第五维特征,根据下述公式(6)求得的簇C1的θj在第四维和第五维特征所对应的度量标准值分别为则簇C1的度量标准的值可以为θC1,4与θC1,5平方和后开根号,即为1,1即为度量标准的值。
公式(6)可以为:
其中,Cj为第j个簇的聚类中心;
uij表示用户数据Xi到簇Cj的概率;
表示第j个簇的用户数据的个数;
Xi表示第j个簇中的各个用户数据;
θj可以是一个向量。
若以度量标准的值的一般形式即函数来说,以任一簇为例,假设计算该簇的第二度量标准是按照上述公式(2)的计算方式,这里可以先间接获取公式(2)的参数θ,然后将θ值代入公式(2)中获取该簇对应的第二度量标准的函数,计算θ的公式可以如公式(6)所示。
也就是说,当θj是用于计算度量标准的函数的参数时,可以根据公式(6)可以求得步骤503中的度量标准函数里的参数即
505、服务器确定多个数据属于各簇的概率和新的度量标准是否收敛;若确定是,则服务器确定多个数据属于各簇的概率为多个数据分别属于各簇的概率;若确定否,则再次执行步骤503。
举例来说,服务器可以确定第一概率和第二度量标准是否收敛;若确定第一概率和第二度量标准收敛,则服务器确定第一概率为多个数据分别属于各簇的概率;若确定第一概率和第二度量标准不收敛,则再次执行步骤503,直至得到的多个数据属于各簇的概率与度量标准收敛。
具体地,服务器可以设定公式(7)为收敛公式来判断第一概率和第二度量标准是否收敛。
其中uij表示用户数据Xi到簇Cj的概率;
distance'(Xi,Cl)2是用户数据Xi到簇Cj的投影距离的平方;
m与公式(4)中的m一致,是平滑参数;
k表示簇的个数;l表示第l个簇;n表示用户个数,i表示第i个用户;
J表示用于判断是否收敛的值,通过各点与各聚类中心距离的平方后加权,然后加和获得。
每个用户数据到各簇的第一概率uij可以组成一个第一概率矩阵u1,矩阵u1的每行为各用户数据,每列为各用户数据属于各簇的概率。各簇的第二度量标准可以组成一个第二度量标准矩阵θ1,矩阵θ1的每行为各簇,每列为各簇各维度对应的第二度量标准的值,根据第二度量标准可以获取投影距离distance'(Xi,Cl),进而根据投影距离和第一概率矩阵u1以及公式(7)计算即可获取J的值。
若公式(7)中J的值达到指定阈值或不再减小,则说明第一概率和第二度量标准收敛。其中,u1和θ1的具体计算过程可以参考步骤502。其中,J的值不再减小,可以是当前迭代所得到的J值等于或大于前一次迭代所得到的J值。
服务器可以在第一概率和第二度量标准收敛的情况下,确定第一概率为多个数据分别属于各簇的概率。
当服务器确定概率和新的度量标准不收敛并再次执行步骤503时,服务器根据各簇的聚类中心、各簇对应的关键特征以及度量标准获取多个数据属于各簇的概率,并根据概率、聚类中心和多个数据获取度量标准,以便服务器确定概率和度量标准是否收敛。
举例来说,服务器可以根据各簇的第二聚类中心、各簇对应的第一关键特征以及第二度量标准获取多个数据属于各簇的第二概率,并根据第二概率、第二聚类中心和多个数据获取第三度量标准,以便服务器确定第二概率和第三度量标准是否收敛。
服务器获取第二概率可以采用类似步骤503中的方法,可以是服务器先根据第一关键特征和第二聚类中心获取初始距离,再根据初始距离和第二度量标准获取投影距离,也可以根据第二度量标准的函数直接获取投影距离,而后服务器根据步骤503中的公式(4)进一步计算多个数据到各簇的第二概率。
通常来说,投影距离越小,第二概率越大。
服务器获取第三度量标准的方法可以参考步骤504,可以是根据步骤504中的公式(6)获取度量标准的向量,然后可以根据度量标准的向量获取第三度量标准的函数。或通过度量标准的向量的分量的平方加和后开根号的方法来获取各簇的第三度量标准的值。
服务器确定第二概率和第三度量标准是否收敛,可以参考步骤504。即可以将获取到的第二概率和第三度量标准代入步骤504中的公式(5),若求得的公式(7)中J值达到指定阈值或不再减小,则说明第二概率和第三度量标准收敛。
若求得的公式(7)中的未达到指定阈值,则说明第二概率和第三度量标准不收敛。此时,可以参考步骤503-504,继续计算第三概率和第四概率……
具体过程为:对于各簇中的每一个簇,若服务器确定多个数据属于该簇的第二概率和第三度量标准不收敛,则服务器还可以根据第二概率和多个数据获取该簇的第三聚类中心,并通过降维算法对全局特征进行压缩以获取第三聚类中心下该簇的第二关键特征;服务器根据该簇的第三聚类中心、该簇的第二关键特征以及第二度量标准获取多个数据属于该簇的第三概率,并根据第三概率、第三聚类中心和多个数据获取第四度量标准,以便服务器确定多个数据属于该簇的第三概率和第四度量标准是否收敛。
需要说明的是,服务器可以进行这样的迭代过程直到概率和度量标准收敛为止。当概率和度量标准收敛时,服务器可以输出一个概率集合和关键特征集合,概率集合包括每个点到各簇的概率,关键特征集合包括各簇的关键特征。
另外,可以理解的是,这样的迭代过程类似于“鸡生蛋,蛋生鸡”的情况,可用期望最大化(Expectation Maximization,EM)框架解决。
506、服务器根据多个数据分别属于各簇的概率识别出多个数据在具有相同关键特征的多个簇下的错误数据。
服务器可以根据上述步骤505收敛时得到的每个数据属于各簇的概率识别出多个数据在具有相同关键特征的多个簇下的错误数据。
举例来说,多个数据分别属于各簇的概率可以如表5所示,每行代表各数据分配到不同簇的概率。
表5
其中关键特征相同的多个簇可以归为一个侧面,如侧面F1、F2等。
侧面可以看做是将特征也进行聚类的结果。如图7所示,共有7个特征,分别是:城市、当月缴费金额、区域、终端品牌、终端型号、付费方式和最活跃基站,可以看做是将城市、区域和最活跃基站聚类成位置侧面,将当月缴费金额和付费方式聚类成消费侧面,将终端型号和终端品牌聚类成终端侧面。
若对于一个用户数据来说,在同一侧面下的不同簇的概率差别不大,则说明该用户数据存在离群现象,即该用户数据不属于任何簇。
比如,如图6所示,侧面F1的关键特征为终端型号和终端品牌,侧面F2的关键特征为城市、区域和最活跃基站,侧面F3的关键特征为付费方式和当月缴费金额。若用户数据A是侧面F2中的一个用户数据,且属于簇C3、C4和C5的概率相持平,则A不属于侧面F2包括的簇C3、C4和C5中的任一个簇,即用户A是侧面F2中的离群点,应识别为错误数据。
若用户数据映射到某一侧面时,属于其中一个簇的概率要明显大于其它簇,则可以认为该用户数据属于侧面中的该簇,而不是离群点。
例如,如图6所示,假设用户数据B是侧面F1中的一个用户数据,且属于簇C1的概率为0.3,属于簇C2的概率0.011,即用户B属于簇C1的概率明显大于簇C3的概率。因此用户A属于簇C1,即用户A不是侧面F2中的离群点。
步骤506执行完后可以得到一个错误数据集,错误数据集包括多个数据中的错误数据。需要说明的是,一条用户数据可以是多个侧面下的错误数据。
507、服务器将多个簇的关键特征确定为错误数据的异常子空间。
错误数据所在侧面的关键特征可以称为错误数据的异常子空间,该关键特征为迭代收敛时确定的每个簇的关键特征。
举例来说,假设用户数据B不属于侧面F2中任一个簇,但是属于F1和F3中的簇,即用户数据B在侧面F2中是错误数据,但在侧面F1和F3中是正常数据。而侧面F2的关键特征为城市、区域和最活跃基站。因此可以确定此条错误数据的异常子空间为侧面F2的关键特征即城市、区域和最活跃基站。
不同的用户数据可以有不同的异常子空间,例如,如表6所示,不同用户数据的异常子空间可以为:
表6
错误数据 | 异常子空间 |
用户数据A | (城市,区域,最活跃基站) |
用户数据O | (终端型号,终端品牌) |
…… | …… |
508、服务器从异常子空间开始搜索并动态建立伪树结构。
服务器可以根据错误数据对应的异常子空间开始动态建立伪树并搜索获取异常子空间中各种特征组合,特征组合即为错误数据的最小异常特征组合。
可以理解的是,若某特征组合SMs=Ai+1Ai+2…AMs的维度为MS,则与其子集中,维度为MS-1的项间存在路径。
举例来说,如图8所示,伪树的第一层中特征组合A1A2A3A4的维度为4,第二层中所有特征组合的维度都为3,即比A1A2A3A4少1维,以此类推。
本实施例中的伪树是一种有向图,与一般的树结构很相似,不同之处在于一般情况下的树结构中的每个节点只存在一个父节点即入度为1,而本申请实施例中建立的伪树中的每个节点的入度不确定,即节点的父节点可能不止一个。
如图8所示,伪树的异常子空间所对应的节点为A1A2A3A4,异常子空间所对应的节点的子节点为A2A3A4、A1A3A4、A1A2A4和A1A2A3,而A2A3A4对应的子节点为A3A4、A2A4和A2A3,A1A3A4对应的子节点为A3A4、A1A4和A1A3,A1A2A4对应的子节点为A2A4、A1A4和A1A2,A1A2A3对应的子节点为A2A3、A1A3和A1A2,A3A4对应的子节点为A3和A4,A2A4对应的子节点为A2和A4,A2A3对应的子节点为A2和A3,A1A4对应的子节点为A1和A4,A1A3对应的子节点为A1和A3,A1A2对应的子节点为A1和A2。其中,伪树中的子节点为与父节点出度边相连的节点,比如A3A4的子节点有A3和A4;兄弟节点为同层中的其它节点;比如A3A4的子节点有A2A4、A2A3、A1A4、A1A3、A1A2。
509、若服务器确定任一节点异常,则继续确定任一节点的子弟节点是否异常;若服务器确定任一节点正常,则服务器继续确定任一节点的兄弟节点是否异常;当任一节点异常且任一节点的子节点均正常时,则服务器确定任一节点的特征组合为异常子空间中长度最小的异常特征组合,即为错误数据对应的特征组合。
具体来说,若节点异常,则服务器继续搜索该节点的子节点,以判断该子节点是否异常。这是因为在遵循“不满足一致性的超集,也不满足一致性”原理的情况下,最小的异常特征组合的超集也存在异常。所以,需要进行深度优先搜索,即碰到异常的节点便继续去搜索其子节点。这样一来,若某节点异常,而其子节点都正常,则该父节点便是导致错误数据的根本原因。
举例来说,如图9所示,假设一条错误数据的异常子空间为城市、区域和最活跃基站,服务器可以从异常子空间对应的节点1的第一个子节点,即节点2开始搜索,具体地:
若节点2正常,则搜索节点3;
若节点3异常,则搜索节点5;
若节点5正常,则搜索节点6;
若节点6正常,则搜索节点7;
若节点7正常,最终输出节点3。
这是因为节点3的所有子节点已搜索完,且都正常。则服务器确定节点3的特征组合为异常子空间中长度最小的异常特征组合,即城市和最活跃基站为错误数据对应的特征组合。
其中,服务器判断某节点是否异常的方法可以是:服务器在特定子空间中,计算错误数据到错误数据所在侧面下各个聚类中心的距离,以进行异常判断。
举例来说,如图6所示,在判断城市、最活跃基站这个节点是否异常时,只需在城市、最活跃基站两个维度分别计算错误数据到簇C3、簇C4和簇C5的距离,若错误数据能在城市、最活跃基站子空间中归为某个簇,则表示该节点正常,否则异常。
另外,可通过将所有数据在特定子空间中进行聚类,以便进行离群点判断。
比如,对于图9中的节点3,如表7所示,所有数据的特定子空间为城市和最活跃基站,再根据城市和最活跃基站这两个特征进行聚类,以识别出错误数据。
表7
用户 | 城市 | 最活跃基站 |
A | X11 | X17 |
B | X21 | X27 |
…… |
另外,为了降低确定最小异常特征组合的复杂度,当某节点正常,且并未确定出最小异常特征组合时,可将此节点及其子树排除到待搜索空间外。
其中,子树即可由此节点向下搜索到的所有节点。比如图10中,节点A2A3A4的子树为用虚线表示的部分。
举例来说,如图9所示:
若节点1异常,则搜索节点2;
若节点2正常,将节点6与7排除到待搜索的节点外,则搜索节点3;
若节点3异常,则搜索节点5;
若节点5正常,则输出节点3。
这种将节点及其子树排除到待搜索空间外的方法符合大数据搜索中“满足一致性的子集,也满足一致性”的原理。因为,若某节点的子树中存在异常节点,该某节点一定也不正常。
510、服务器将错误数据所在的多个簇的数据作为建模数据,构建模型的输入项与输出项,输入项为多个簇的关键特征中除去错误数据对应的特征组合以外的特征,输出项为错误数据对应的特征组合。
错误数据对应的特征组合可以有多个,比如错误数据为城市、区域、终端品牌和终端型号,错误数据可以对应城市和区域的特征组合,还可以再对应终端品牌和终端型号的特征组合。
举例来说,假设错误数据对应的特征组合包括:城市和区域的特征组合,以及终端品牌和终端型号的特征组合。多个簇组成的侧面F1的关键特征包括城市和区域,多个簇组成的侧面F2的关键特征包括终端品牌和终端型号,那么错误数据可以同时映射在侧面1和侧面2下,即错误数据可以同时属于侧面F1中的簇和侧面F2中的簇。
服务器可以将错误数据所在的侧面下的具有关联性的数据抽取出来,作为下一步建模的训练数据。
这是因为用关联性更强的数据进行预测建模,会更加精准,且能减少计算量。需要注意的是,对于概率值过小的数据,可以忽略不计。
举例来说,如图6所示,假设错误数据的异常特征组合为区域,即错误数据是侧面F2中的错误数据,则只需抽取出属于F2侧面中簇C3、簇C4和簇C5中的带权值的数据作为训练数据即可。
在确定出训练数据之后,服务器可以用梯度提高决策树(Gradient BoostingDecision Tree,GBDT)、逻辑回归(Logistic Regression,LR)等分类预测算法以及训练数据建模,训练出一个模型。然后构建模型的输入与输出项,并用分类预测算法进行建模训练。其中,服务器可以将错误数据对应的异常子空间中除去错误数据对应的特征组合以外的特征作为输入项X,将错误数据对应的特征组合作为输出项Y。
其中,错误数据的异常子空间即错误数据所在的多个簇的关键特征。
举例来说,假设侧面的异常子空间为城市、区域和最活跃基站,异常特征为区域,则可构建输入项X为城市和最活跃基站,构建输出项Y为区域。
511、服务器根据模型对错误数据的异常特征的值进行预测,并将预测后得到的异常特征的值替换预测前异常特征的值。
服务器可以用训练好的模型对错误数据的异常特征组合进行预测,并替换纠正。该模型可以作为一个黑盒使用。
举例来说,若一条错误数据的城市和区域的特征值为深圳和故宫,其异常特征为区域;将深圳输入模型,则输出为坂田;即将该错误数据纠正为深圳和坂田。
512、服务器对特征组合对应的节点的兄弟节点进行搜索,以确定错误数据的其他特征组合。
纠正后的数据需可以进行异常检测,可以将纠正后的数据置于原侧面中,再次判断其是否离群。具体地,假设一个错误数据的特征组合为城市和区域,特征值为深圳和故宫,该错误数据所在的侧面的关键特征为城市、区域和最活跃基站,若该错误数据纠正后的特征组合的特征值为深圳和坂田,则根据深圳和坂田这两个特征值重新判断纠正后的数据在关键特征为城市、区域和最活跃基站的侧面下是否离群,即是否属于关键特征为城市、区域和最活跃基站的侧面下的某些簇。这是因为存在一条错误数据出现多组异常特征组合的情况。若还存在异常,只需继续搜索它的下一个最小的异常特征组合即可。
具体过程可参考步骤508-511,重新计算错误数据所在侧面下,各簇与纠正后数据的距离。
而后,服务器可以将干净的数据集发送给客户端。
相比现有技术根据全局特征获取数据到各簇的距离来判断错误数据,而因为高维数据分布的内在稀疏性,数据无法聚类成簇,所有数据都成为离群点。本申请实施例根据各簇的关键特征和度量标准获取多个数据属于各簇中的每个簇的概率,然后可以根据概率识别出多个数据分别在多个簇下的错误数据,从而解决了在高维情况下不能检测出错误数据的问题。而且,本申请实施例可以根据错误数据所在的多个簇的关键特征获取错误数据的特征组合即最小异常特征组合,也就是说,可以自动定位错误数据的最小异常特征组合,从而解决了在定位错误数据时需要人为制定规则的问题。
上述主要从服务器的角度对本申请实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的模块的情况下,在图3a示出的上述实施例中所涉及的服务器的一种可能的结构示意图的基础上,局部特征聚类模块3001用于对服务器的动作进行控制管理,例如局部特征聚类模块3001用于支持服务器执行图4所示的方法实施例中的步骤401~402,以及图5所示的方法实施例中的步骤502~505,例如在本申请实施例的方法实施例中,局部特征聚类模块用于将多个数据聚类为簇,获取各簇的关键特征和度量标准;对于各簇中的每个簇,根据该簇的关键特征和度量标准获取多个数据属于该簇的概率。离群点检测模块3002用于支持服务器执行图4所示的方法实施例中的步骤403,以及图5所示的方法实施例中的步骤506。最小异常特征组合识别模块3003用于支持服务器执行图4所示的方法实施例中的步骤403,以及图5所示的方法实施例中的步骤507-509和512,在本申请实施例的方法实施例中,最小异常特征组合识别模块用于对于具有相同关键特征的多个簇,当根据多个数据分别属于多个簇中每个簇的概率识别出多个簇下存在错误数据时,根据多个簇的关键特征确定错误数据对应的特征组合。异常特征纠正模块3004用于支持服务器执行图5所示的方法实施例中的步骤510-511,在本申请实施例的方法实施例中,异常特征纠正模块用于将错误数据对应的特征组合下的多个簇的数据作为建模数据,构建模型的输入项与输出项,输入项为多个簇的关键特征中除去错误数据对应的特征组合以外的特征,输出项为错误数据对应的特征组合;根据模型对错误数据对应的特征组合进行预测,并将预测后得到的特征组合的值替换预测前特征组合的值。数据收集/存储模块3005,用于存储服务器的程序代码和数据,例如用于存储本申请实施例中的各簇的关键特征和度量标准等。
其中,局部特征聚类模块3001、离群点检测模块3002、最小异常特征组合识别模块3003、异常特征纠正模块3004可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。数据收集/存储模块3005可以是存储器。
当局部特征聚类模块3001、离群点检测模块3002、最小异常特征组合识别模块3003和异常特征纠正模块3004为处理器,数据收集/存储模块3005为存储器时,本申请实施例所涉及的服务器可以为图11所示的服务器。
参阅图11所示,该服务器11包括:处理器1101、收发器1102、存储器1103以及总线1104。其中,收发器1102、处理器1101以及存储器1103通过总线1104相互连接;总线1104可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (19)
1.一种数据检测方法,其特征在于,包括:
服务器将多个数据聚类为簇,获取各簇的关键特征和度量标准;
对于所述各簇中的每个簇,所述服务器根据该簇的关键特征和度量标准获取所述多个数据属于该簇的概率;
对于具有相同关键特征的多个簇,当所述服务器根据所述多个数据分别属于所述多个簇中每个簇的概率识别出所述多个簇下存在错误数据时,所述服务器从所述多个簇的关键特征进一步确定所述错误数据对应的特征组合。
2.根据权利要求1所述的方法,其特征在于,所述获取各簇的关键特征和度量标准,对于所述各簇中的每个簇,所述服务器根据该簇的关键特征和度量标准获取所述多个数据属于该簇的概率包括:
对于所述各簇中的每个簇,所述服务器根据该簇的全局特征、该簇的第一聚类中心与第一度量标准获取所述多个数据属于该簇的第一概率;
所述服务器根据所述第一概率和所述多个数据获取该簇的第二聚类中心,并通过降维算法与所述多个数据属于该簇的第一概率对该簇的全局特征进行压缩,获取所述第二聚类中心下该簇的第一关键特征,并根据所述多个数据属于所述该簇的第一概率、该簇的第一聚类中心和所述多个数据获取第二度量标准;
所述服务器确定所述多个数据属于该簇的第一概率和所述第二度量标准是否收敛;
若所述多个数据属于该簇的第一概率和所述第二度量标准收敛,则所述服务器确定该簇的第一关键特征为该簇的关键特征,所述第二度量标准为该簇的度量标准,所述多个数据属于该簇的第一概率为所述多个数据属于该簇的概率;
若所述多个数据属于该簇的第一概率和所述第二度量标准不收敛,则所述服务器根据该簇第二聚类中心、该簇的第一关键特征以及所述第二度量标准获取所述多个数据属于该簇的第二概率,并根据所述第二概率、所述第二聚类中心和所述多个数据获取第三度量标准,以便所述服务器确定所述多个数据属于该簇的第二概率和所述第三度量标准是否收敛,直至将收敛时的概率确定为所述多个数据属于该簇的概率,并将收敛时的关键特征确定为所属各簇的关键特征。
3.根据权利要求2所述的方法,其特征在于,所述服务器根据该簇的全局特征、该簇的第一聚类中心与第一度量标准获取所述多个数据属于该簇的第一概率包括:
所述服务器根据该簇的全局特征和该簇的第一聚类中心获取所述多个数据到该簇的初始距离;
所述服务器根据所述初始距离和所述第一度量标准获取所述多个数据到该簇的第一聚类中心的投影距离;
所述服务器根据所述多个数据到该簇的第一聚类中心的投影距离获取所述多个数据属于该簇的第一概率。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器根据所述多个数据分别属于所述多个簇中每个簇的概率识别出所述多个簇下存在的错误数据包括:
若所述多个数据中的任一数据属于所述多个簇中每个簇的概率相差均在预设范围内,则所述服务器确定所述任一数据为所述多个簇下的错误数据。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器从所述多个簇的关键特征进一步确定所述错误数据对应的特征组合包括:
所述服务器将所述多个簇的关键特征确定为所述错误数据的异常子空间;
所述服务器从所述异常子空间进行搜索并动态建立伪树结构,以确定所述异常子空间中长度最小的异常特征组合为所述错误数据对应的特征组合。
6.根据权利要求5所述的方法,其特征在于,所述服务器从所述异常子空间进行搜索并动态建立伪树结构,以确定所述异常子空间中长度最小的异常特征组合为所述错误数据对应的特征组合包括:
所述服务器在对所述伪树结构进行搜索时,若所述服务器确定任一节点异常,则继续确定所述任一节点的子节点是否异常;若所述服务器确定所述任一节点正常,则所述服务器继续确定所述任一节点的兄弟节点是否异常;当所述任一节点异常且其子节点均正常时,则所述服务器确定所述任一节点的特征组合为所述异常子空间中长度最小的异常特征组合,即为所述错误数据对应的特征组合。
7.根据权利要求6所述的方法,其特征在于,所述服务器确定所述任一节点异常包括:
所述服务器根据所述任一节点对应的特征组合获取所述错误数据分别到所述多个簇的概率;
若根据所述任一节点对应的特征组合获取的所述错误数据分别到所述多个簇的概率相差均在预设范围内,则所述服务器确定所述任一节点异常。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
所述服务器将所述错误数据所在的多个簇的数据作为建模数据,构建模型的输入项与输出项,所述输入项为所述多个簇的关键特征中除去所述错误数据对应的特征组合以外的特征,所述输出项为所述错误数据对应的特征组合;
所述服务器根据所述模型对所述错误数据对应的特征组合的值进行预测,并将预测后得到的特征组合的值替换预测前所述特征组合的值。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述服务器在所述任一节点异常并对所述任一节点对应的特征的值进行纠正后,如果所述多个簇的关键特征对应的节点仍存在异常,则所述服务器对所述任一节点的兄弟节点继续进行搜索,以确定所述任一节点的兄弟节点是否异常。
10.一种服务器,其特征在于,包括:
局部特征聚类模块,用于将多个数据聚类为簇,获取各簇的关键特征和度量标准;
所述局部特征聚类模块,还用于对于所述各簇中的每个簇,根据该簇的关键特征和度量标准获取所述多个数据属于该簇的概率;
最小异常特征组合识别模块,用于对于具有相同关键特征的多个簇,当根据所述多个数据分别属于所述多个簇中每个簇的概率识别出所述多个簇下存在错误数据时,从所述多个簇的关键特征进一步确定所述错误数据对应的特征组合。
11.根据权利要求10所述的服务器,其特征在于,所述局部特征聚类模块用于:
对于所述各簇中的每个簇,根据该簇的全局特征、该簇的第一聚类中心与第一度量标准获取所述多个数据属于该簇的第一概率;
根据所述第一概率和所述多个数据获取该簇的第二聚类中心,并通过降维算法与所述多个数据属于该簇的第一概率对该簇的全局特征进行压缩,获取所述第二聚类中心下该簇的第一关键特征,并根据所述多个数据属于所述该簇的第一概率、该簇的第一聚类中心和所述多个数据获取第二度量标准;
确定所述多个数据属于该簇的第一概率和所述第二度量标准是否收敛;
若所述多个数据属于该簇的第一概率和所述第二度量标准收敛,则确定该簇的第一关键特征为该簇的关键特征,所述第二度量标准为该簇的度量标准,所述多个数据属于该簇的第一概率为所述多个数据属于该簇的概率;
若所述多个数据属于该簇的第一概率和所述第二度量标准不收敛,则根据该簇第二聚类中心、该簇的第一关键特征以及所述第二度量标准获取所述多个数据属于该簇的第二概率,并根据所述第二概率、所述第二聚类中心和所述多个数据获取第三度量标准,以便确定所述多个数据属于该簇的第二概率和所述第三度量标准是否收敛,直至将收敛时的概率确定为所述多个数据属于该簇的概率,并将收敛时的关键特征确定为所属各簇的关键特征。
12.根据权利要求11所述的服务器,其特征在于,对于所述各簇中的每个簇,所述局部特征聚类模块用于:
根据该簇的全局特征和该簇的第一聚类中心获取所述多个数据到该簇的初始距离;
根据所述初始距离和所述第一度量标准获取所述多个数据到该簇的第一聚类中心的投影距离;
根据所述多个数据到该簇的第一聚类中心的投影距离获取所述多个数据属于该簇的第一概率。
13.根据权利要求10-12任一项所述的服务器,其特征在于,所述最小异常特征组合识别模块用于:
若所述多个数据中的任一数据属于所述多个簇中每个簇的概率相差均在预设范围内,则确定所述任一数据为所述多个簇下的错误数据。
14.根据权利要求10-12任一项所述的服务器,其特征在于,所述最小异常特征组合识别模块用于:
将所述多个簇的关键特征确定为所述错误数据的异常子空间;
从所述异常子空间进行搜索并动态建立伪树结构,以确定所述异常子空间中长度最小的异常特征组合为所述错误数据对应的特征组合。
15.根据权利要求14所述的服务器,其特征在于,所述最小异常特征组合识别模块用于:
在对所述伪树结构进行搜索时,若确定任一节点异常,则继续确定所述任一节点的子节点是否异常;若确定所述任一节点正常,则继续确定所述任一节点的兄弟节点是否异常;当所述任一节点异常且所其子节点均正常时,则确定所述任一节点的特征组合为所述异常子空间中长度最小的异常特征组合,即为所述错误数据对应的特征组合。
16.根据权利要求15所述的服务器,其特征在于,所述最小异常特征组合识别模块用于:
根据所述任一节点对应的特征组合获取所述错误数据分别到所述多个簇的投影距离;
若根据所述任一节点对应的关键特征获取的所述错误数据分别到所述多个簇的概率相差均在预设范围内,则确定所述任一节点异常。
17.根据权利要求10-16任一项所述的服务器,其特征在于,所述服务器还包括异常特征纠正模块,用于:
将所述错误数据所在的多个簇的数据作为建模数据,构建模型的输入项与输出项,所述输入项为所述多个簇的关键特征中除去所述错误数据对应的特征组合以外的特征,所述输出项为所述错误数据对应的特征组合;
根据所述模型对所述错误数据对应的特征组合的值进行预测,并将预测后得到的特征组合的值替换预测前所述特征组合的值。
18.根据权利要求16所述的服务器,其特征在于,所述最小异常特征组合识别模块还用于:
在所述任一节点异常并对所述任一节点对应的特征的值进行纠正后,如果所述多个簇的关键特征对应的节点仍存在异常,则对所述任一节点的兄弟节点继续进行搜索,以确定所述任一节点的兄弟节点是否异常。
19.一种服务器,其特征在于,包括处理器和存储器,所述存储器用于存储权利要求1-9任一项涉及到的程序指令和数据,所述处理器用于执行如权利要求1-9任一项所对应的方法的程序指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611182307.3A CN108205570B (zh) | 2016-12-19 | 2016-12-19 | 一种数据检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611182307.3A CN108205570B (zh) | 2016-12-19 | 2016-12-19 | 一种数据检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108205570A true CN108205570A (zh) | 2018-06-26 |
CN108205570B CN108205570B (zh) | 2021-06-29 |
Family
ID=62601930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611182307.3A Active CN108205570B (zh) | 2016-12-19 | 2016-12-19 | 一种数据检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205570B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959506A (zh) * | 2018-06-27 | 2018-12-07 | 天闻数媒科技(湖南)有限公司 | 一种基于群体兴趣的资源推荐方法 |
CN109635031A (zh) * | 2018-12-19 | 2019-04-16 | 成都四方伟业软件股份有限公司 | 一种数据质量检测方法、装置、系统及存储介质 |
CN109711478A (zh) * | 2018-12-29 | 2019-05-03 | 中山大学 | 一种基于时序密度聚类的大规模数据群组搜索方法 |
CN110796153A (zh) * | 2018-08-01 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
WO2020042579A1 (zh) * | 2018-08-27 | 2020-03-05 | 平安科技(深圳)有限公司 | 分组归纳方法、装置、电子装置及存储介质 |
CN111611293A (zh) * | 2020-04-24 | 2020-09-01 | 太原太工天宇教育科技有限公司 | 一种基于特征加权与MapReduce的离群数据挖掘方法 |
CN111953665A (zh) * | 2020-07-28 | 2020-11-17 | 深圳供电局有限公司 | 服务器攻击访问识别方法及系统、计算机设备、存储介质 |
TWI716057B (zh) * | 2018-10-25 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 服務推薦方法、裝置及設備 |
CN112667869A (zh) * | 2019-10-15 | 2021-04-16 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306715A1 (en) * | 2007-06-11 | 2008-12-11 | Cheng-Fa Tsai | Detecting Method Over Network Intrusion |
CN103400152A (zh) * | 2013-08-20 | 2013-11-20 | 哈尔滨工业大学 | 基于分层聚类的滑动窗口多数据流异常检测方法 |
CN104376078A (zh) * | 2014-11-14 | 2015-02-25 | 南京大学 | 一种基于知识熵的异常数据检测方法 |
CN104517052A (zh) * | 2014-12-09 | 2015-04-15 | 中国科学院深圳先进技术研究院 | 一种入侵检测方法及装置 |
CN106101102A (zh) * | 2016-06-15 | 2016-11-09 | 华东师范大学 | 一种基于pam聚类算法的网络异常流量检测方法 |
-
2016
- 2016-12-19 CN CN201611182307.3A patent/CN108205570B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306715A1 (en) * | 2007-06-11 | 2008-12-11 | Cheng-Fa Tsai | Detecting Method Over Network Intrusion |
CN103400152A (zh) * | 2013-08-20 | 2013-11-20 | 哈尔滨工业大学 | 基于分层聚类的滑动窗口多数据流异常检测方法 |
CN104376078A (zh) * | 2014-11-14 | 2015-02-25 | 南京大学 | 一种基于知识熵的异常数据检测方法 |
CN104517052A (zh) * | 2014-12-09 | 2015-04-15 | 中国科学院深圳先进技术研究院 | 一种入侵检测方法及装置 |
CN106101102A (zh) * | 2016-06-15 | 2016-11-09 | 华东师范大学 | 一种基于pam聚类算法的网络异常流量检测方法 |
Non-Patent Citations (1)
Title |
---|
赵永宁等: "风电场弃风异常数据簇的特征及处理方法", 《电力系统自动化》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959506A (zh) * | 2018-06-27 | 2018-12-07 | 天闻数媒科技(湖南)有限公司 | 一种基于群体兴趣的资源推荐方法 |
CN110796153A (zh) * | 2018-08-01 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
CN110796153B (zh) * | 2018-08-01 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种训练样本的处理方法、装置 |
WO2020042579A1 (zh) * | 2018-08-27 | 2020-03-05 | 平安科技(深圳)有限公司 | 分组归纳方法、装置、电子装置及存储介质 |
TWI716057B (zh) * | 2018-10-25 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 服務推薦方法、裝置及設備 |
CN109635031A (zh) * | 2018-12-19 | 2019-04-16 | 成都四方伟业软件股份有限公司 | 一种数据质量检测方法、装置、系统及存储介质 |
CN109711478A (zh) * | 2018-12-29 | 2019-05-03 | 中山大学 | 一种基于时序密度聚类的大规模数据群组搜索方法 |
CN112667869A (zh) * | 2019-10-15 | 2021-04-16 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备、系统及存储介质 |
CN112667869B (zh) * | 2019-10-15 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备、系统及存储介质 |
CN111611293B (zh) * | 2020-04-24 | 2023-09-29 | 太原太工天宇教育科技有限公司 | 一种基于特征加权与MapReduce的离群数据挖掘方法 |
CN111611293A (zh) * | 2020-04-24 | 2020-09-01 | 太原太工天宇教育科技有限公司 | 一种基于特征加权与MapReduce的离群数据挖掘方法 |
CN111953665A (zh) * | 2020-07-28 | 2020-11-17 | 深圳供电局有限公司 | 服务器攻击访问识别方法及系统、计算机设备、存储介质 |
CN111953665B (zh) * | 2020-07-28 | 2022-08-30 | 深圳供电局有限公司 | 服务器攻击访问识别方法及系统、计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108205570B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205570A (zh) | 一种数据检测方法和装置 | |
Yurochkin et al. | Bayesian nonparametric federated learning of neural networks | |
Yan et al. | Automatic virtual network embedding: A deep reinforcement learning approach with graph convolutional networks | |
US11836615B2 (en) | Bayesian nonparametric learning of neural networks | |
Wu et al. | Contextual bandits in a collaborative environment | |
JP7183385B2 (ja) | ノード分類方法、モデル訓練方法並びに、その装置、機器及びコンピュータプログラム | |
CN106228386A (zh) | 一种信息推送方法及装置 | |
CN111177473B (zh) | 人员关系分析方法、装置和可读存储介质 | |
US20210073669A1 (en) | Generating training data for machine-learning models | |
CN105335368B (zh) | 一种产品聚类方法及装置 | |
CN112785005B (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
CN107622326A (zh) | 用户分类、可用资源预测方法、装置及设备 | |
Li et al. | Research on QoS service composition based on coevolutionary genetic algorithm | |
CN104156467B (zh) | Api推荐方法及api推荐装置 | |
CN113139651A (zh) | 基于自监督学习的标签比例学习模型的训练方法和设备 | |
Li et al. | From reputation perspective: A hybrid matrix factorization for QoS prediction in location-aware mobile service recommendation system | |
WO2023020214A1 (zh) | 检索模型的训练和检索方法、装置、设备及介质 | |
CN115545103A (zh) | 异常数据识别、标签识别方法和异常数据识别装置 | |
CN115718826A (zh) | 图结构数据中的目标节点分类方法、系统、设备及介质 | |
Li et al. | Hierarchical clustering-based personalized federated learning for robust and fair human activity recognition | |
CN111242319A (zh) | 模型预测结果的解释方法和装置 | |
CN113222073B (zh) | 训练广告推荐模型的方法及装置 | |
US20160342899A1 (en) | Collaborative filtering in directed graph | |
Zhang et al. | Quality of web service prediction by collective matrix factorization | |
CN108830302B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |