一种基于图计算技术的大规模数据聚类方法技术

技术编号:12151583 阅读:120 留言:0更新日期:2015-10-03 12:41
本发明专利技术公开了一种基于图计算技术的大规模数据聚类方法。本方法为:1)从待处理图数据的所有顶点中选取N个顶点作为候选聚类中心;2)设置每一候选聚类中心的簇标签值,然后根据一加权无向图G将候选聚类中心合并,将属于同一聚类簇的候选聚类中心划分到同一集合中;3)候选聚类中心将包含自己当前簇标签值以及权重的消息传递给相邻顶点;收到消息的顶点根据簇标签值将本次迭代收到的所有消息分成不同的类别,然后生成新的消息并在下一迭代时传递给相邻顶点;4)迭代结束后,对于每一顶点,计算具有相同标签类型的边的权重之和,得到每一顶点最后的结果值;将具有相同结果值的顶点聚为一类。本发明专利技术节约了时间和存储开销。

【技术实现步骤摘要】

本专利技术设及,属于软件

技术介绍
聚类技术是最重要的数据挖掘技术之一,获得了极大的关注,比如专利化 200910211714. 6聚类方法和系统;ZL 201110418812. 4, 一种面向SNP数据的聚类方法等技 术,聚类技术根据特定标准来查找具有相似之处的对象。例如,在社区检测,话题追踪和意 见领袖等社交网络应用中,根据用户的行为和兴趣爱好,利用聚类技术可W快速的发掘类 似的群体。传统的聚类解决方案,如CLARANS,BIRCH和DESCAN是单机聚类算法,适合于小 规模数据集,具有较低的可扩展性。 为了解决上述问题,学者提出了并行聚类算法。该些方法包括基于MapRe化ce的 K-Means并行算法,基于Pregel的半聚类算法W及RankCompete等。 MapRe化ce是一个分布式编程模型,它使用迭代的方式执行聚类,采用本地文件系 统或者分布式文件系统维护中间结果,该种方式会导致过度的存储开销,同时也影响执行 性能。因此,基于MapRe化ce的K-Means并行聚类算法非常耗费时间。 为了提升性能,业界学者提出将大同步模型炬U化Sync虹onization Model, BSF〇 应用到大规模聚类算法中。BSP模型采用消息传递来保存中间结果,减小了性能开销。例 如,Pregel就是Google提出的基于BSP的图计算模型,基于Pregel及基于它的一种半聚 类方案。 然而,基于BSP的聚类算法并不能彻底解决上述问题。在存储中间结果方面,它们 仍然存在较高的内存开销。除此之外,它们还需要在顶点之间进行若干消息传输。如果一个 顶点有繁重的工作负载,在指定的时间内无法完成需要的计算,消息传输可能会有延迟,从 而极大的降低BSP模型的整体性能。此外,还有其他大规模聚类解决方案,如RankCompete, 其仅被用于聚类web图片,其应用领域较为狭窄。
技术实现思路
针对现有技术中存在的技术问题,本专利技术的目的在于提出一种基于分布式图计算 平台的聚类算法,相比于当前其它主流的解决方案而言,具有更小的时间和存储开销。 本专利技术采用一种基于分布式化geRank的算法来确定聚类中屯、。聚类中屯、代表社 交网络中最重要的顶点,具有较高化geRank值的顶点将被视为聚类中屯、的候选顶点。该方 法与那些随机选择聚类中屯、的传统方法相比,有更好的聚类效果。也可W使用其他方法来 确定聚类中屯、,比如Canopy算法来获取聚类中屯、,或者由程序开发人员指定。 本专利技术在聚类中屯、的基础上,设计了一种高效的分布式聚类算法,它不仅占用较 少的物理内存空间,也可W在短时间内完成。其主要思想是利用化geRank信息传递的优势 实现快速收敛,可W非常快的扩散聚类中屯、的影响。本专利技术使用影响力来表示一个顶点对 其它顶点的影响程度,一个聚类中屯、在比其它中屯、点更靠近某一顶点时,该聚类中屯、对该 一顶点的影响力越大。 本专利技术的技术方案为: ,其步骤为:[001引1)从待处理图数据的所有顶点中选取N个顶点作为候选聚类中屯、,得到一候选聚 类中屯、列表; 2)设置每一候选聚类中屯、的簇标签值,然后根据一加权无向图G将所述候选聚类 中屯、进行合并,将属于同一聚类簇的候选聚类中屯、划分到同一集合中,将顶点聚为k类;其 中,N大于k,同一集合中的候选聚类中屯、采用同一标签; 3)根据该加权无向图G,每个候选聚类中屯、将包含自己当前簇标签值W及权重的 消息传递给相邻顶点;收到消息的顶点根据消息中的簇标签值将本次迭代收到的所有消息 分成不同的类别,然后生成新的消息并在下一迭代过程中将其传递给相邻顶点;[001引 4)迭代结束后,对于每一顶点,计算具有相同标签类型的边的权重之和,得到每一 顶点最后的结果值;然后将图数据中具有相同结果值的顶点聚为一类。 进一步的,采用化geRank算法计算所有顶点的化geRank值;然后选取化geRank 值最高的N个顶点作为所述聚类中屯、。 进一步的,N为k的10倍。 进一步的,所述步骤2)的具体步骤包括: 41)将所述候选聚类中屯、设置不同的簇标签值,且簇标签值有一定的间隔区间; 42)根据图G,每个顶点把自己的簇标签值发送给邻居顶点; 43)如果顶点a的簇标签值小于接收到的消息中的簇标签值,则顶点a更新自己的 簇标签值为收到的消息中的簇标签值; 44)重复步骤42)、43)直到迭代结束,然后将具有相同簇标签值的候选聚类中屯、 合并到同一集合中。进一步的,计算所述结果值的方法为;其中,SUM。是顶点 a具有同一标签类型e的所有边的权重之和,m是标签类型e的边数目,邸GE。为每条边的 权重。 进一步的,所述迭代结束的条件为满足设定的迭代次数或簇标签值不再发生变 化。与现有技术相比,本专利技术的积极效果为: 本专利技术相比于当前其它主流的解决方案而言,更加适合处理大规模图数据,具有 更小的时间和存储开销。【附图说明】 图1为本专利技术的聚类算法流程图; 图2为两种算法的时间开销对比图; 图3为两种算法的模块化值对比图; 图4为内存开销对比图; 图5为顶点A计算它的标签示意图。【具体实施方式】 W下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并 非用于限定本专利技术的范围。 本专利技术提供了一种基于图计算技术的分布式聚类算法,将同一聚类结果中的顶点 确定为相似对象,如图1所示。 选择聚类中屯、 聚类算法使得同一簇中的顶点比在不同簇中的顶点具有更紧密的联系(相似度 更大)。合理的选择聚类中屯、对准确的将顶点聚类成若干子集有很大的帮助。在本专利技术的 方法中,首先使用标准的化geRank算法计算所有顶点的化geRank值。然后,降序排列所 有的顶点的化geRank值。在此过程中,本专利技术算法并没有保存所有顶点信息,而是保存了 处于最高化geRank值范围的小部分顶点信息,忽略其他顶点,该种方法大大降低了存储消 耗。最后,从列表中选择足够数量的顶点将其作为聚类中屯、。需要注意的一点是,选择的顶 点数一般要大于系统实际需求的聚类中屯、数目,该样可W避免一些具有很高化geRank值 的顶点已经被包含在同样的簇中导致的数据重叠问题。 本专利技术算法的输入包括一个加权无向图G,它的输出是1化个按照顶点化geRank 值降序排序的列表,其中k是最终聚类的簇数目。 算法1选择聚类中屯、 步骤1初始化每个顶点的初值; 步骤2每个顶点把自己的初值发送给邻居顶点; 步骤3每个顶点收到信息后,累加其收到的所有信息 步骤4按照一定权重更新该顶点的值,如aX顶点的值+bX累加值(其中a+b = 1),然后得到更新后的顶点值; 步骤4顶点把自己更新的值再发送给邻居顶点; 步骤5重复步骤3 -直到达到迭代次数或者顶点的值不再发生变化; 步骤6排序每个顶点最后的化geRank值; 步骤7选取1化个排序最高的化geRank值作为初步候选聚类中屯、。 算法1选择聚类中屯、 上述算法生成的候选聚类中屯、列表将被应用于下一步的聚类簇扩展操作。[004引聚类过程 聚类中屯、确定后,本专利技术使用一种新的聚类算法来扩展每个聚类簇的范围,该算 法可W迅速扩散聚类中屯、的影响,并快速收敛。<当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于图计算技术的大规模数据聚类方法,其步骤为:1)从待处理图数据的所有顶点中选取N个顶点作为候选聚类中心,得到一候选聚类中心列表;2)设置每一候选聚类中心的簇标签值,然后根据一加权无向图G将所述候选聚类中心进行合并,将属于同一聚类簇的候选聚类中心划分到同一集合中,将顶点聚为k类;其中,N大于k,同一集合中的候选聚类中心采用同一标签;3)根据该加权无向图G,每个候选聚类中心将包含自己当前簇标签值以及权重的消息传递给相邻顶点;收到消息的顶点根据消息中的簇标签值将本次迭代收到的所有消息分成不同的类别,然后生成新的消息并在下一迭代过程中将其传递给相邻顶点;4)迭代结束后,对于每一顶点,计算具有相同标签类型的边的权重之和,得到每一顶点最后的结果值;然后将图数据中具有相同结果值的顶点聚为一类。

【技术特征摘要】

【专利技术属性】
技术研发人员:周薇马宏远包秀国程工刘纬刘春阳王卿韩冀中庞琳李雄刘玮贺敏
申请(专利权)人:中国科学院信息工程研究所国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1