掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及数据挖掘领域,尤其涉及一种基于云计算平台的大数据聚类方法。

背景技术

云计算(Cloud Computing)是一种计算资源交付模型,通常对资源进行了虚拟化。简单地说,云计算就是计算服务的提供(包括服务器、存储、数据库、网络、软件、分析和智能)-通过Internet提供快速创新、弹性资源和规模经济。

大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

谱聚类算法建立在谱图理论基础上,与传统的聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解的优点。该算法首先根据给定的样本数据集定义一个描述成对数据点相似度的亲合矩阵,并且计算矩阵的特征值和特征向量,然后选择合适的特征向量聚类不同的数据点。

但是传统谱聚类算法就是在构建的拉普拉斯矩阵中,根据聚类个数k,求解其前k个特征值与其对应的特征向量并构建特征向量空间,然后采用K-means算法对特征向量空间中的特征向量进行聚类,在实际应用中随着数据集规模的增大,谱聚类的收敛速度变得十分缓慢,然而利用传统的谱聚类算法会使得运行速度以及对配置方面要求更高,不利于普遍使用化。

发明内容

基于背景技术存在的技术问题,本发明提出了一种基于云计算平台的大数据聚类方法。

为本发明提出的一种基于云计算平台的大数据聚类方法,所述方法包括以下步骤:

Step1:将数据集X=(x1,x2,…,xn)部署到HDFS;

Step2:依次读取每条记录i,并计算样本i与每个样本的相似度,得到数据集的相似度矩阵S;第i个样本与其余样本的相似度计算和第j个样本与其余样本的相似度计算可以并行进行;

Step3:依据矩阵S得到数据集的加权连接矩阵W和度矩阵D;

Step4:计算拉普拉斯矩阵L;

Step5:采用Lanczos算法计算矩阵L的前k个特征值和特征向量;

Step6:采用并行K-means算法对特征向量构成的特征空间进行聚类得到聚类结果C1,C2,…,Cn。

优选的,所述步骤Step1中HDFS是Hadoop的分布式文件系统(Hadoop DistributedFile System)的简称,它基于Google的GFS文件系统的思想而设计,可以部署在廉价的硬件设备上,并且具有良好的容错性能。HDFS采用了master/slave结构,集群通常由一个NameNode和多个DataNode组成,数据采用分块的形式存储在各个DataNode上。NameNode则负责整个HDFS文件系统的管理包括客户端在HDFS上进行文件的创建、删除等,同时也可以兼任DataNode的角色,完成数据的存储。为了防止单点故障,HDFS一般会设计SecondaryNameNode,用来作为NameNode的备份节点。同时,HDFS采用了副本策略,一个数据块默认有三个副本,分别存放在本地节点、同一机架的另一节点、不同机架的某一节点,与HDFS相配合使用的MapReduce组成云计算平台Hadoop。

优选的,MapReduce是一种适用于大规模数据处理的编程模型。它将工作流程分为map和reduce两个阶段。每个阶段都用键/值对作为输入和输出。map阶段将从原始数据块中读取出来的key/value进行map处理,并以缓冲的方式写到磁盘。reduce阶段读取map处理之后的数据,进行归约处理,最后输出到程序指定的输出路径。

优选的,所述步骤Step2中相似度是将数据集中的所有样本看作图的顶点集v={x

S=(s

优选的,为了获得更好的计算性能,谱聚类通常对矩阵S进行稀疏化处理。稀疏化相似矩阵通常采用ξ-近邻、k-近邻、全连通三种方式。谱聚类算法将稀疏化的顶点间的相似度矩阵作为相应点对的连接边的权值。这样就得到一个基于样本间相似度的无向图G=(V,E)的相应边的权重w

d

其中,W=(w

优选的,所述步骤中Step4中的拉普拉斯矩阵由连接矩阵W和度矩阵D可以得到顶点集的拉普拉斯矩阵。拉普拉斯矩阵分为非归一化和归一化两种。

非归一化的拉普拉斯矩阵计算公式如下:

L=D-W(3)

归一化的拉普拉斯矩阵计算公式如下:

L

L

公式(4)和(5)中的L即为公式(3)中的非归一化拉普拉斯矩阵。L

优选的,所述步骤中Step5中Lanczos算法是一种将对称矩阵通过正交相似变换变成对称三对角矩阵的算法,其算法为:

给定对称矩阵A;

选取单位向量v_1;

设定v_0为零向量;

设定b_0=0;

for i=1:m

a_i=(Av_i,v_i);

b_i=||Av_i-a_iv_i-b_{i-1}v_{i-1}||;

b_iv_{i+1}=Av_i-a_iv_i-b_{i-1}v_{i-1};

end

由上述Lanczos算法得:V'AV=T,

其中V=[v_1,...,v_m],T=tridiag(b,a,b),a=[a_1,...,a_m],b=[b_1,...,b_m],从而得到相应的矩阵L的前k个特征值和特征向量。

优选的,所述步骤中Step5中K-means是数据挖掘中应用最为普遍的一种聚类算法。它是一种基于划分的聚类方法,其基本思想是“物以类聚”,将n个样本对象划分为k个簇,每一个簇的内部高度相似,不同簇之间则高度相异。K-means算法的实现过程为:首先在全体数据集内任意选取k个点作为初始聚类中心,每一个中心点代表一个簇的中心;然后将剩下的其它数据分配到与其相似度最高的那个中心点所在的簇;最后通过计算簇内平均值来重新确定中心点,继续分类。重复以上过程,直到中心点收敛到预先设定的某个阈值为止。

与现有技术相比,本发明提出的一种基于云计算平台的大数据聚类方法的有益效果是:

相对于传统的谱聚类方法来说,提高了并行谱聚类的聚类精度,同时在利用并行谱聚类进行计算的时候用到的MapReduce计算框架可以提高数据处理速度,主要依赖于Hadoop集群中的计算节点的个数即task-tracker的个数,大大的提高整个谱聚类的聚类速度。

附图说明

图1为本发明提出的一种基于云计算平台的大数据聚类方法的步骤示意图。

具体实施方式

下面将对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的方法的例子。

参照图1,一种基于云计算平台的大数据聚类方法,包括:

步骤Step1,首先通过填写缺失值、噪声数据光滑化、识别删除离群点将现实世界的数据进行清理,并将来自不同数据源的数据进行规范化处理,将其转换为标准格式的数据,实现对数据进行收集整理,然后将收集好的数据集切块后,得到切分后的多个数据块,并将其存储到云平台的分布式文件系统HDFS中,Hadoop负责管理切分后的数据块,利用HDFS的特殊方式将整个数据良好的储存起来。

步骤Step2,将数据集中的所有样本看作图的顶点集v={x

S=(s

步骤Step3,将步骤Step2中得到的矩阵S进行稀疏化处理,稀疏化相似矩阵通常采用ξ-近邻、k-近邻、全连通三种方式,来对其进行选择一个相对比较有效率的方式来进行处理。谱聚类算法将稀疏化的顶点间的相似度矩阵作为相应点对的连接边的权值。这样就得到一个基于样本间相似度的无向图G=(V,E)的相应边的权重w

d

其中,W=(w

然后利用得到的数据进行填入公式内,从而会得到相应的顶点绘制到G中,最终就可以得到相对应的连接矩阵W和度矩阵D,作为下一步的使用。

步骤Step4,将步骤Step3中得到的连接矩阵W和度矩阵D进行连接使用,从而会得到顶点集的拉普拉斯矩阵,通过拉普拉斯矩阵的非归一化和归一化两种方式进行有效且相对应的计算,计算的步骤如下:

非归一化的拉普拉斯矩阵计算公式如下:

L=D-W (3)

归一化的拉普拉斯矩阵计算公式如下:

L

L

其中公式(4)和(5)中的L即为公式(3)中的非归一化拉普拉斯矩阵。Lsym是对称矩阵,Lrw是一个随机游走矩阵,通常是非对称的。

通过将数据填入进去后收集得出的拉普拉斯矩阵L作为下一步的使用。

步骤Step5,将得到的数据集通过Lanczos算法将其填入算法公式中,其公式为给定对称矩阵A;

选取单位向量v_1;

设定v_0为零向量;

设定b_0=0;

for i=1:m

a_i=(Av_i,v_i);

b_i=||Av_i-a_iv_i-b_{i-1}v_{i-1}||;

b_iv_{i+1}=Av_i-a_iv_i-b_{i-1}v_{i-1};

end

由上述Lanczos算法得:V'AV=T,

其中V=[v_1,...,v_m],T=tridiag(b,a,b),a=[a_1,...,a_m],b=[b_1,...,b_m],依据每输入一个数据后得到的相应特征值和特征向量,从而使得使用者提取出前k个特征值和特征向量来作为处理准备。

步骤Step6,将步骤Step5中得到的k个数据点作为聚类中心,然后紧接着计算其它点到这些聚类中心点的距离,通过对簇中距离平均值的计算,不断的改变这些聚类中心的位置,直到这些聚类中心不再变化为止。其具体的步骤如下:

输入:n个数据的数据几何和已知的簇个数k

输出:n个数据各属于k个簇中哪个簇的信息

算法步骤:1.任意从n个数据中选择k个作为初始的簇中心;

2.将剩余的n-k个数据按照一定的距离函数划分到最近的簇;

3.repeat

4.按一定的距离函数计算各个簇中数据的各属性平均值,作为新的簇中心;

5.重新将n个数据按照一定的距离函数划分到最近的簇;

6.until簇的中心不再变化。

本发明中,使用着通过上述的步骤进行一步一步的操作,知道最后在数据上就可以实现到相应的聚类数据,相对于传统的谱聚类方式而言,并行谱聚类的方式可以将整个数据做到精准化,然后还可以有效的提高整个操作的速度。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于云计算平台的大数据聚类方法及系统
  • 一种基于云计算平台的大数据聚类方法和装置
技术分类

06120112901269