一种奇异序列数据探测系统及其探测方法与流程

文档序号:12125196阅读:275来源:国知局
一种奇异序列数据探测系统及其探测方法与流程

本发明涉及计算机中奇异序列数据探测领域,更具体涉及一种基于Hadoop平台和带权值优化的奇异序列数据探测系统及其探测方法。



背景技术:

常见的奇异序列数据探测方法主要有:基于概率统计模型的奇异序列数据探测;基于线性模型的奇异序列数据探测;基于近邻模型的奇异序列数据探测。不同的方法适用于不同的数据类型。对于序列数据而言,通常使用相似度来测量序列数据中的奇异对象。在对序列数据集中各个序列数据相似性度量的时候,需要针对序列数据的特点选择合适的方法,如杰卡德距离(Jaccard Distance)、海明距离(Hamming distance)等,这些度量方式可以很好区别两个序列数据。

在获得数据集中各个序列数据实例的离群度的过程中,需要以一个序列对象作为评价标准,将数据集中的每个序列数据对象与之对比,获得数据集中每个数据对象的相似性分数。相似性分数越高,离群度越低。然而在真实的情况下,作为评价标准的对象很难获取,因此本发明提出了一种基于投票理论的方法。在这个方法中,依次将数据集中对每个数据对象作为评价标准,用于评价其它的数据对象。即,每个数据对象都以其它数据对象作为标准进行了评价,再将这些评价结果综合起来用于作为序列评价结果。但是使用这个方法存在一个问题,不同的序列数据对象的质量不同,所以需要对它们的投票权值做出修正。

在实际操作中,大数据会为奇异序列数据探测带来考验。而这个框架的 并行性很高,所以将该框架运用于Hadoop平台中可以解决数据量增大带来的性能问题。Hadoop平台的MapReduce框架中将数据集所有内容复制到各个节点,每个节点选择一个数据对象作为评价标准获得评价结果,再对结果进行聚合,获得各序列数据对象最终的评价结果。



技术实现要素:

本发明的目的是提供一种奇异序列数据探测系统及其探测方法,解决数据标准难以获取以及数据量巨大带来的性能问题。

为实现上述目的,本发明采用以下技术方案:一种奇异序列数据探测方法,基于Hadoop平台和带权值优化进行奇异序列数据探测;所述方法包括:

通过对数据集进行两两之间的比较生成离群度;

对生成的离群度的结果进行排序,然后通过投票理论对结果进行聚集,得出整个序列数据集中全部序列数据的综合离群度;

所述离群度优化数据集中每个序列的投票权值,迭代执行,直到权值的结果收敛或者迭代次数到达上限。

通过选取使用多种不同类型的离群度度量方式中的一种度量方式来进行离群度度量,并且使用Hadoop平台的MapReduce框架来加速基于序列对的所述离群度生成的计算。

所述离群度度量方式为对于目标数据集中的所有序列数据,依次将其取出作为评价标准序列,将剩余的序列作为待评价的序列,对剩余的序列一一的进行评价,获得基础的离群度评价结果;然后对每个序列作出的评价结果进行一个排序,为后面进行的基础离群度评价结果的聚集提供一个基础。

通过选取使用多种不同类型的投票方式来中的一种投票方式对基础的离群度评价结果进行聚集,并且使用Hadoop平台的MapReduce框架来加速 基于对离群度的聚集过程。

在所述投票理论中选出一个投票方式,对于序列数据集中的每个序列,我们通过Hadoop数据平台进行对其进行离群度得分的聚集,即将每条一个序列得出的离群度序列分发给一个单独的服务器,然后通过Reducer函数将结果进行聚集。

所述离群度优化数据集中每个序列的投票权值的过程包括:

对整个数据集的离群度的值进行归一化处理,通过归一化处理值修正数据集中全部序列的投票权值;

在修正后的权值的基础上,重新进行探测方法的步骤,直到迭代次数超过上限,或者某次迭代后整个数据集的离群度的评价和上次结果之间的差值小于用户设定的阈值;

最终输出整个序列数据集中每个序列的离群度得分结果。

在所述通过对数据集进行两两之间的比较生成离群度的步骤前还包括:将全部的序列的投票权值都初始化为1.0。

一种奇异序列数据探测系统,基于Hadoop平台和带权值优化进行奇异序列数据探测;所述系统包括:

序列离群度生成模块,通过对数据集进行两两之间的比较生成离群度;

投票理论的结果聚集模块,对生成的离散度的结果进行排序,然后通过投票理论对结果进行聚集,得出整个序列数据集中全部序列数据的综合离群度;

权值的结果优化模块,用于离群度优化数据集中每个序列的投票权值,迭代执行,直到权值的结果收敛或者迭代次数到达上限。

和最接近的现有技术比,本发明提供技术方案具有以下优异效果

1、本发明技术方案高效灵活地实现了对一个序列数据的数据集进行奇异对象探测的任务;

2、本发明技术方案基于带权值优化的投票理论的提高本框架的可靠性和有效性;

3、本发明技术方案解决优化数据对象投票的能力的问题;

4、本发明技术方案解决大数据为本发明的处理框架带来的性能问题。

附图说明

图1为本发明实施例算法框架示意图;

图2为本发明实施例算法流程示意图;

图3为本发明实施例序列离群度生成示意图;

图4为本发明实施例利用序列数据评价结果进行投票获取离群度示意图;

图5为本发明实施例利用离群度对权值进行修改示意图。

具体实施方式

下面结合实施例对发明作进一步的详细说明。

实施例1:

本例的发明提供一种奇异序列数据探测系统及其探测方法,所述方法如图2所示包括:

1)将需要进行奇异序列数据探测的序列数据集提交给框架;

2)选取合适的离群度度量方法:对于不同的类型,不同领域的序列数据集而言,需要进行离群度的度量的时候,我们需要的具体的离群度度量方式是不同的,本框架实现了包括最长公共子串(Longest Common Subsequence,LCS)、杰卡德距离(Jaccard Distance)、编辑距离(Edit Distance)、海明距离(Hamming distance)等多种度量方式。对于具体的问题还可以引入相关领域的知识构造出适合特定的应用的特殊离群度度量方法,以提高奇异序列数据探测的可靠性和有效性。对于整个框架而言,算法的流程与奇异对象探测的具体度量方式是无关;

3)选取合适的投票理论:类似于离群度度量方法,对于不同类型和领域的序列数据集而言,并没有一个可以适用于全部数据集的投票理论,不同的投票方法如:Plurality Voting,Instant Runoff Voting,Borda Count,Copeland’s Method和Approval Voting都有自己的优点、缺点和使用范围。对于整个框架而言,具体的投票理论的选择也和流程无关。

4)将全部的序列的投票权值都初始化为1.0;

5)通过数据集中的每个序列对数据集中的全部其它的序列,利用选定的离群度度量方法进行一个离群度评分。对于具有n条序列的数据集,如果离群度的评价方法对称,那么需要进行n×(n-1)/2次基于序列对的评价,如果离群度的评价方法不对称,那么需要进行n×(n-1)次基于序列对的评价;

6)在上一个步骤中,序列数据集中的每个序列都对其余的序列进行了评价,我们对这n-1条(假设数据集大小为n)评价进行排序,这样我们得到n条长度为n-1的离群度评价序列;

7)现在根据n条长度为n-1的离群度评价序列,利用选定的投票理论对这些序列进行离群度的结果进行带权值的聚集,即不是简单的将每个序列获得的离群度得分相加,而是将评价的序列的离群度乘以权值后再利用投票理论进行聚集,最终得出整个数据集中n条序列数据的离群 度;

8)对整个数据集的离群度的值进行一定的处理(如归一化),然后通过这个值修正数据集中全部序列的投票权值;

9)在修正后的权值的基础上,重新进行步骤5~8,直到迭代次数超过上限,或者某次迭代后整个数据集的离群度的评价和上次结果之间的差值小于用户设定的阈值;

10)最终输出整个序列数据集中每个序列的离群度得分结果。

图3为本框架进行序列离群度生成的示意图,对于目标数据集中的所有序列数据,我们依次将其取出作为评价标准序列,然后将剩余的序列作为待评价的序列,一一的进行评价,获得基础的离群度评价结果。然后对每个序列作出的评价结果进行一个排序,为后面进行的基础离群度评价结果的聚集提供一个基础。从图中可以看出,所有的评价过程都是只和参与评价的两个序列有关,并不需要其它的额外信息的参与,这部分的计算过程并发进行,没有任何同步问题。对于大数据而言,通过Hadoop平台,我们将这部分的计算分发到多台计算机进行并行计算,然后通过Reducer将结果聚集起来。

图4为本框架对基础的评价结果进行带权值的聚集的示意图。在投票理论中选出一个合适的投票方式,对于序列数据集中的每个序列,我们通过Hadoop大数据平台进行对其进行离群度得分的聚集,即将每条一个序列得出的离群度序列分发给一个单独的服务器,然后通过Reducer函数将结果进行聚集。

图5为权值如何在本框架中工作的示意图。通过框架流程中的步骤4~7(即图3和图4对应的流程),获得一个对于目标序列数据集的离群度的评价结果,是建立在一个假设上的,即每个序列对其它序列的离群度评价在最 终结果中具有相同的权值,这个假设是不合理的。因为,如果我们选取相似度作为离群度的度量方法,那么在一个序列作为标准序列对其它序列进行离群度评价的时候,默认作为标准的序列其本身是非奇异的数据,然后以这个序列为标准来对其它序列进行离群度的衡量。但是如果其本身就是奇异数据,在它的评价中离群度得分越低的序列反而是很可能是奇异数据,而不是正常的数据,但是这个缺点在原本系统中是无法解决的,所以我们引入了权值,即如果一个序列在某次离群度评价后,其离群度越高,那么在下一次的评价过程中,我们认为其评价的结果的可信度越低,其权值也就越低。

为了解决序列相似度比较的问题,本发明选择了几种比较序列数据之间相似度的度量方式,根据不同的数据对象选择不同的度量方式以达到最好的效果。常用的度量方式有:最长公共子串(Longest Common Subsequence,LCS)、杰卡德距离(Jaccard Distance)、编辑距离(Edit Distance)、海明距离(Hamming distance)这几个方式。最长公共子串思想是给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。最长公共子串越长,则表明两个序列越相似。杰卡德相似性是两个集合交集的元素个数除以并集的元素个数,杰卡德距离是用1减去杰卡德相似性,杰卡德距离越小,两个序列数据越相似。编辑距离是指两个序列之间,由一个转成另一个所需的最少编辑操作次数,需要的次数越小的序列越相似。海明距离是两个序列的对应位置取值是否相同,不同的个数就是海明距离。通常情况下,通过这些距离度量方式可以很好的衡量两个序列之间的相似性,并且我们还可以引入与具体应用相关的知识用于构造适合特定领域的具体相似性度量方式。

为了解决度量标准难以获取的问题,本发明使用了投票理论。由于没有 一个可以适用于度量所有序列数据集的标准,本发明将数据集中所有的数据对象都作为度量标准。每个序列数据对象以自己为标准,对其它数据对象进行评价,然后使用投票理论进行结果聚集。投票理论常常会使用以下几种实现方式:

1)多数取胜法(Plurality)

根据相似性度量的结果,每个序列数据都会获得其它所有数据作为标准的投票,如果被认为相似性很低,那么就会被投一张异常票,统计每个序列数据对象获得的总票数,获得最终票数最多的数据对象就是奇异序列数据。

2)排序复选法(Instant RunoffVoting)

每一回合与多数取胜法相似,每个回合末尾淘汰得票最低的序列数据对象,再进行新的回合投票过程。最终直到只剩两个数据对象时,得票最高的为奇异序列数据。

3)波达什数法(Borda Count)

每个序列数据对象作为评价标准时,相似度最大的序列获得1票,按照相似度的递减而票数依次递增,这样的方式可以增大最相似与最不相似对象的对比程度。最后依照每个对象获得的总票数来判断离群度。

通过投票理论,本发明可以由得票对所有的序列数据对象进行排序。得票分数越高,表明该对象是奇异序列数据的可能性越大。

为了解决优化数据对象投票的能力的问题,本发明对上述过程采用了迭代的方式,以修正每个数据对象的投票能力。在上述的投票过程中,存在一个不公平的现象。以一个正常的序列为投票标准,与它差异越大说明它是一个奇异序列数据的可能性很大,但是如果以一个较异常的序列数据对象为投票标准,与该序列差异越大说明该序列是奇异序列数据的概率较小,但是之 前的方法却给了这两种类型的序列相同的权值,这样的投票结果十分不公平。为了修正这个现象,本发明在之前得到序列数据对象排序结果之后,按照各个序列对象的得分修正每个对象投票能力。异常得分高的数据对象,投票的权值降低,异常得分低的数据对象投票结果权值提高,不断的使用投票理论的方法进行迭代,直到最终结果稳定不变。通过这样的修正,可以优化数据对象的投票能力,让最终结果的可信度更高。

为了解决大数据为本发明的处理框架带来的性能问题,本方法将该框架部署到了Hadoop平台上。本发明将每次投票的迭代过程通过MapReduce并行框架实现,作为一次MapReduce执行过程。首先将所有的数据进行拷贝后分发到每个数据节点上,在每个数据点选择一个数据对象作为标准,对其它的数据对象依照相似性进行投票,该过程在Map程序中进行,这时的Key值为序列数据对象,Value值为该数据在这次投票中获得的票数。在Reduce过程中对投票的结果进行聚合,最终获得每个对象(Key),以及获得的总票数(Value)。对结果进行排序,用于修正Map投票过程中,每个对象的投票能力,不断的进行多次MapReduce程序最终直到结果稳定。这时候得分最高的序列数据就是奇异对象。

所述系统如图1所示,包括:

序列离群度生成模块,通过对数据集进行两两之间的比较生成离群度;

投票理论的结果聚集模块,对生成的离散度的结果进行排序,然后通过投票理论对结果进行聚集,得出整个序列数据集中全部序列数据的综合离群度;

权值的结果优化模块,用于离群度优化数据集中每个序列的投票权值,迭代执行,直到权值的结果收敛或者迭代次数到达上限。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员尽管参照上述实施例应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

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