Hadoop框架下高维海量数据GMM聚类方法技术

技术编号:8656027 阅读:398 留言:0更新日期:2013-05-01 23:43
本发明专利技术公开了一种Hadoop框架下高维海量数据GMM聚类方法,主要针对已有聚类算法的不足,将海量数据的聚类问题架构在分布式平台上,用于高维、海量数据的聚类。其实现步骤是:1、组建局域网;2、建立Hadoop平台;3、上传数据到集群;4、初始聚类;5、计算各聚类的参数和判别函数;6、判断聚类是否完成;7、重新聚类;8、计算新聚类中每一个类的均值、权重;9、计算新聚类中每一个类的方差;10、输出聚类结果。本发明专利技术利用Hadoop框架中MapReduce运算模型的特点,对聚类中的可并行部分用Map并行方法处理,计算均值和方差时采用两个Map/Reduce分别计算,可以高效、精确的聚类,有较强的可扩展性和容错性。

【技术实现步骤摘要】

本专利技术属于计算机
,更进一步涉及数据挖掘领域中Hadoop框架下高维、海量数据的高斯混合模型(Gaussian Mixtures Model7GMM)聚类方法。本专利技术可以方便、高效的完成高维、海量数据地的聚类,克服单机模式下海量数据处理的低效,维数灾难问题。
技术介绍
海量数据处理的过程中广泛采用的一种计算框架MR “Dean J, GhemawatS.MapReduce :simplified data processing on large clusters[J]. Communications ofthe ACM, 2005, 51 (I) :107_113”该计算框架是由Google公司专利技术,近些年新兴的并行编程模式,它将并行化、容错、数据分布、负载均衡等放在一个库里,将系统对数据的所有操作都归结为两个步骤=Map (映射)阶段和Reduce (化简)阶段,使那些没有多少并行计算经验的开发人员也可以开发并行应用,对海量数据进行处理。Clustering with Gaussian Mixtures “Andrew ff. Moore Professor, School ofComputer Science Carnegie Mellon University”所提出的 GMM(高斯混合聚类模型)是单一高斯概率密度函数的延伸。通过多个单高斯模型的线性组合来组成一个混合高斯模型。通过EM算法对模型的参数不断进行调整从而得到能够描述数据的聚类模型。该方法存在的不足是在聚类过程中不能有效应对海量数据,算法效率受到时间,空间复杂度的限制。上海海事大学申请的专利技术专利“一种基于在线分裂合并EM算法的高斯混合模型聚类方法”(专利申请号:201010172604. 6,公开号CN102081753A)。该专利申请公开了一种基于在线分裂合并EM算法的高斯混合模型聚类方法,该方法基于在线分裂合并的EM算法对Ueda等人和Demsper等人的算法进行改进,因此,该聚类方法继承了 EM算法的完备性和收敛性特征,也继承了分裂合并算法对局部收敛性的改进,通过引入时间序列参数,提出了增量在线分裂EM训练方法,由此实现了增量式的期望最大化训练。该聚类方法能够逐样本在线更新GMM模型参数,克服了批处理数据要求的离线训练的局限性。但是,该聚类方法仍然存在不足之处是,该聚类方法并没有解决大规模数据处理中的维数灾难问题,可扩展性及伸缩性不强。
技术实现思路
本专利技术的目的在于克服上述现有技术的不足,将海量数据的聚类问题架构在分布式平台上,提出一种基于Hadoop框架的高维、海量数据聚类方法。在聚类的过程中,利用Hadoop框架中MapReduce运算模型的特点,对聚类中的可并行部分用Map并行方法处理,计算均值和方差时采用两个Map/Reduce分别计算。为实现上述目的,本专利技术包括如下步骤(I)组建局域网将多台计算机连接到同一局域网中,每台计算机作为一个节点,建立能够相互通信的集群;(2)建立 Hadoop 平台对集群中的每个节点配置Hadoop0.20.2文件,通过文件中属性参数dfs.namenode和dfs.datanode的设置,使集群中包含一个名字节点和多个数据节点;通过文件中属性参数mapred.jobtracker和mapred.tasktracker的设置,使集群中包含一个调度节点和多个任务节点,建立开源的Hadoop平台;(3)上传数据到集群使用Hadoop分布式文件命令dfs-put将待聚类数据集上传至Hadoop平台的各个节点上;(4)初始聚类采用KMeans聚类方法,对集群中节点上的数据进行初始粗略聚类,得到初始的聚类;(5)计算各聚类的参数和判别函数5a)计算初始的聚类每一个类的均值;5b)统计初始聚类每一个类中数据的个数,用统计的数据个数除以待聚类数据集中数据的总数,得到初始聚类每一个类的权重;5c)计算初始的聚类每一个类的方差;5d)计算判别函数按照下式计算高斯概率密度值:本文档来自技高网
...

【技术保护点】
Hadoop框架下高维海量数据GMM聚类方法,包括如下步骤:(1)组建局域网将多台计算机连接到同一局域网中,每台计算机作为一个节点,建立能够相互通信的集群;(2)建立Hadoop平台对集群中的每个节点配置Hadoop0.20.2文件,通过文件中属性参数dfs.namenode和dfs.datanode的设置,使集群中包含一个名字节点和多个数据节点;通过文件中属性参数mapred.jobtracker和mapred.tasktracker的设置,使集群中包含一个调度节点和多个任务节点,建立开源的Hadoop平台;(3)上传数据到集群使用Hadoop分布式文件命令dfs?put将待聚类数据集上传至Hadoop平台的各个节点上;(4)初始聚类采用KMeans聚类方法,对集群中节点上的数据进行初始粗略聚类,得到初始的聚类;(5)计算各聚类的参数和判别函数5a)计算初始的聚类每一个类的均值;5b)统计初始聚类每一个类中数据的个数,用统计的数据个数除以待聚类数据集中数据的总数,得到初始聚类每一个类的权重;5c)计算初始的聚类每一个类的方差;5d)计算判别函数按照下式计算高斯概率密度值:G=exp(-(x-ui)Σi-1(x-ui)/2)(2π)d|Σi|其中,G表示高斯概率密度的值,x表示待聚类数据集中的任意一个向量数据, ui表示第i个类的均值,i表示聚类中的第i个类,∑i表示第i个类的方差,exp表示以e为底的指数运算;按照下式计算判别函数的值:L=Σx∈Dlog(Σi=1KpiG(x|ui,Σi))其中,L表示判别函数值,x表示待聚类数据集中的任意一个向量数据,D表示待聚类数据集,K表示聚类中类的个数,i表示聚类中的第i个类,pi表示第i个类在聚类中的权重,G表示第i个类的高斯概率密度值,ui表示第i个类的均值,Σi表示第i个类的方差;(6)判断聚类是否完成判断判别函数的值是否在设定域值之内,若在阈值内,则聚类结束,执行步骤(10),若不在阈值内,表示聚类尚未结束,执行步骤(7);(7)重新聚类7a)启动第一个Map任务,扫描待聚类数据集,每次读入一条数据;7b)对每次读入的数据,采用以下公式计算读入的数据到聚类中每个类的概率值:γ(x,i)=piG(x|ui,Σi)Σh=1KPhG(x|uh,Σh)其中,γ(x,i)表示待聚类数据集中数据x到聚类中第i个类的概率值,pi表示第i个聚类在待聚类数据集中的权重,G为第i个聚类的概率密度函数值,x表示待聚类数据集中的数据,ui表示第i个聚类的均值,Σi表示第i个聚类的方差,K表示聚类的个数,h表示聚类中的第h个类,Ph表示第h个聚类在待聚类数据集中的权重,uh表示第h个类的均值,∑h表示第h个聚类的方差;7c)选取概率值中的最大值,将步骤7a)读入数据分配到最大值对应的类;7d)判断是否读取完待聚类数据集,若未读取完,则执行步骤7a),若读取完,则表示得到了新聚类,执行步骤(8);(8)计算新聚类中每一个类的均值、权重启动第一个Reduce任务,计算第一个Map任务传入的聚类数据,按照步骤5a)的计算方法获得新聚类中每一个类的均值,按照步骤5b)的计算方法获得新聚类中每一个类的权重;(9)计算新聚类中每一个类的方差9a)启动第二个Map任务,第二次扫描待聚类数据集,每次读入一条数据;9b)对每次读入的数据,采用以下公式计算Map/Reduce中间值:Dmid=(x?u)2其中,Dmid表示Map/Reduce中间值,x表示步骤9a)读入的一条数据,u表示x所属类的均值;9c)启动第二个Reduce任务,对9b)的中间值先求和,再求和的根,获得新聚类的方差;9d)判断是否读取完待聚类数据集,若未读取完,则执行步骤9a),若读取完,执行步骤(5);(10)输出聚类结果聚类结束后,聚类中每一个类的均值、权重、方差作为聚类结果输出。...

【技术特征摘要】
1.Hadoop框架下高维海量数据GMM聚类方法,包括如下步骤: (1)组建局域网 将多台计算机连接到同一局域网中,每台计算机作为一个节点,建立能够相互通信的集群; (2)建立Hadoop平台 对集群中的每个节点配置Hadoop0.20.2文件,通过文件中属性参数dfs.namenode和dfs.datanode的设置,使集群中包含一个名字节点和多个数据节点;通过文件中属性参数mapred.jobtracker和mapred.tasktracker的设置,使集群中包含一个调度节点和多个任务节点,建立开源的Hadoop平台; (3)上传数据到集群 使用Hadoop分布式文件命令dfs-put将待聚类数据集上传至Hadoop平台的各个节点上; (4)初始聚类 采用KMeans聚类方法,对集群中节点上的数据进行初始粗略聚类,得到初始的聚类; (5)计算各聚类的参数和判别函数 5a)计算初始的聚类每一个类的均值; 5b)统计初始聚类每一 个类中数据的个数,用统计的数据个数除以待聚类数据集中数据的总数,得到初始聚类每一个类的权重; 5c)计算初始的聚类每一个类的方差; 5d)计算判别函数 按照下式计算高斯概率密度值: n _ exp(-(x - U1-1 (χ - %) / 2) [χ, I 其中,G表示高斯概率密度的值,χ表示待聚类数据集中的任意一个向量数据,Ui表示第i个类的均值,i表示聚类中的第i个类,Σ ,表示第i个类的方差,exp表示以e为底的指数运算; 按照下式计算判别函数的值: 其中,L表示判别函数值,χ表示待聚类数据集中的任意一个向量数据,D表示待聚类数据集,K表示聚类中类的个数,i表示聚类中的第i个类,Pi表示第i个类在聚类中的权重,G表示第i个类的高斯概率密度值,Ui表示第i个类的均值,Σ i表示第i个类的方差; (6)判断聚类是否完成 判断判别函数的值是否在设定域值之内,若在阈值内,则聚类结束,执行步骤(10),若不在阈值内,表示聚类尚未结束,执行步骤(7); (7)重新聚类 7a)启动第一个Map任务,扫描待聚类数据集,每次读入一条数据; 7b...

【专利技术属性】
技术研发人员:崔江涛李林司蓁彭延国史玮陈煜崔小利王博
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1