[发明专利]一种MapReduce平台上的海量高维数据聚类方法有效
申请号: | 201110148982.5 | 申请日: | 2011-06-03 |
公开(公告)号: | CN102222092A | 公开(公告)日: | 2011-10-19 |
发明(设计)人: | 廖松博;何震瀛;汪卫 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mapreduce 平台 海量 数据 方法 | ||
技术领域
本发明属于云计算与数据挖掘技术领域,具体涉及一种利用MapReduce分布式计算框架对海量高维数据的进行聚类的方法。
背景技术
高维数据的分析一直是数据挖据中的难题,当维度达到一定高度时,很多对低维数据很有效的聚类方法便不再适用。对于海量高维数据来说,分析和挖掘更涉及到内存和硬盘的限制。
近年来,MapReduce及其开源版本Hadoop的研究非常活跃。许多单机算法都在Hadoop上予以重新实现,为各种算法处理海量数据提供了高可用性和可扩展性。
Mahout是 Apache 旗下基于Hadoop的一个开源项目,提供一些可扩展的机器学习领域经典算法在Hadoop上的实现,包括聚类、分类、推荐过滤、频繁子项挖掘。Mahout将很多数据挖掘的经典算法,例如K-means,贝叶斯分类,SVM等在Hadoop-MapReduce平台上重新实现,使得这些传统算法具有并行处理海量数据的能力。通过使用 Hadoop,Mahout 中的各种数据挖据算法可以有效地扩展到分布式集群中。
但是,在Mahout中针对坐标的聚类方法例如K-means,往往是面向低维数据,在对海量高维数据进行聚类时往往会出现内存不足,性能不佳等问题。
发明内容
本发明的目的是针对海量高维数据的聚类问题,提出一种利用MapReduce分布式计算框架对海量高维数据的进行高效聚类的方法,为用户提供可定制性和可扩展性,并优化算法效率。
本发明提出的高维数据聚类方法,利用Hadoop分布式计算框架,结合切格处理和高效距离计算,对海量高维数据进行分布式并行聚类,实现了高可扩展性和可定制性,提高了聚类的效率和实际应用价值。
首先对一些基本概念进行介绍和定义:
定义1. MapReduce:MapReduce是谷歌提出的分布式并行计算框架,它让程序员只需关注数据的处理,而数据的分布式存储和容错都交给计算框架来解决。在MapReduce平台上的计算过程中,数据首先被切分到集群的不同节点上,以Key→Value的形式存储在分布式文件系统中;计算过程主要分为两个阶段:Map阶段和Reduce阶段。集群中的每台机器都有一些几个Map和Reduce任务,Map过程是生成一些<key,value>,共享同一个key的<key,value>由同一个Reduce来处理。而我们所使用的Hadoop是MapReduce的开源实现,由Apache基金会开发。
定义2. K-mediods算法:K-mediods算法是一种基于坐标的聚类算法,算法基本过程是首先选择一些中心点代表每个类,之后按每个点与中心点的距离将所有点分配到类中,再将每个类中的所有点坐标求中位数得到新的类中心点,反复迭代,直到中心点不再变化。K-mediods算法类似于K-Means算法,但克服了K-Means算法对孤立点的敏感性。
定义3. 切格:设初始数据中的每个点都有D维,本方法将每一维切成N等份(N由用户指定),切分完毕后,,每个点都落入唯一的格子中,所有格子在每一维的坐标都是[0,N )的一个整数。本发明在聚类过程中使用所有非空格子代替初始点集进行聚类。
定义4. 记录:在处理过程中,本发明用每一行记录代表一个点或一个非空格子的所有维坐标。例如“0 7 6 3 5”,代表一个5维格子的坐标。
定义5. 用ASCII码计算欧氏距离:在计算欧式的距离过程中,由于每一维的切格数N往往小于128,一般情况下常常小于10,可以用每一行记录的各有效位的ASCII码直接相减,再求平方和得到欧式距离。例如N=10,两个格子坐标行分别为“7 5 6 2”和“4 6 8 0”,可以用两行的单数位ASCII码直接相减,不用将每个坐标字符转换为数字再相减,大大提高了计算效率;
根据以上定义,给定海量高维数据集合,每一行为一个点的D维坐标,本发明提出的聚类方法是基于以下性质的:
(1)在将每一维切成N格后,每个点都落入唯一的D维格子中,N越大,每个D维格子中的点越少,用D维格子进行聚类与用原始点集进行聚类的结果越接近。
(2)由于非空的D维格子数量小于原始点集的数量,而且D维格子的所有坐标均为整数,而原始点集的坐标往往为浮点数,所以数据规模必然下降。
(3)在K-mediods迭代聚类过程中,当所有中心点坐标不再变化,每个D维格子已经分配给固定的类,聚类过程完毕。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110148982.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有摄像功能的能见度仪
- 下一篇:一种用于钢管淬火的挡水活门装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置