一种基于分布式计算平台改进的k均值聚类方法技术

技术编号:14146972 阅读:80 留言:0更新日期:2016-12-11 03:58
本发明专利技术公开了一种基于分布式计算平台改进的k均值聚类方法,针对海量数据处理慢的问题引入了分布式计算平台Spark的,针对迭代次数过多的问题,引入卡洛斯卡尔算法,针对没有考虑向量各特征间的相关性,引入谷本距离。首先,通过克洛斯卡尔算法来对随机选取的k个点来构造最小生成树并求出对应的权值和,重复n次,然后按照这n次得到的权值和,从中选取出最大的权值和并且确保由k个点组成的边之间的距离值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算。

【技术实现步骤摘要】

本专利技术涉及一种在机器学习中适用于分布式计算平台Spark改进的k均值聚类方法,属于数据挖掘

技术介绍
互联网技术和信息技术的飞速发展导致了信息资源的急剧增长,从而引起严重的信息过载的问题。如何从海量的数据中挖掘出隐含的有用的信息引起人们越来越多的关心,机器学习技术由此产生。聚类分析就是其中相当重要的一部分。它将抽象或者物理的对象的集合组成多个类,使得同一个类的对象之间具有较高的相似度,而不同类的对象之间相似度尽可能的低。在机器学习领域,国内外提出了划分型类聚、密度型类聚、网络型类聚类聚算法。就目前的聚类算法而言还存在如下这些问题:对于初始中心选择敏感,极易陷入局部最优解的问题;对于海量数据和高维数据的处理能力有限的问题等。k均值算法是非常经典的基于划分的聚类算法,由Macqueen在1967年提出的解决聚类问题的经典算法。k均值算法由于其快速简单而被广泛的使用,然而在实际中发现了k均值存在一些问题,如对初始中心敏感,必须给出簇的数目,聚类的结果容易受到噪声的干扰,对海量数据的处理速度,数据的迭代次数多等问题。目前,国内外学者提出一系列对此改的方法,但是这些改进增加了k均值算法的复杂度,增加了数据处理的迭代次数以及对海量数据的处理十分慢。所以本专利技术提出一种基于分布式计算平台改进的k均值聚类方法来解决上述问题。现有技术一单机版本的通过卡洛斯卡尔算法来对初始中心进行选择后改进的k均值算法。现有技术一的技术方案根据克洛斯卡尔算法对随机选取的k个点求出这k个点的最小生成树权值和,重复n次,然后根据这n次的权值和选取出权值和最大的,最后使用k均值算法进行聚类运算。具体步骤如下:1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对这选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di;2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;3)根据欧式距离公式计算数据向量到k个簇心的距离,根据计算获得k个距离值,取到簇中心距离最小的数据向量放入这个簇心对应的蔟中,然后根据每个簇的所有数据向量求平均值来更新蔟中心,此时,计算上一次k个蔟中心与更新后对应的蔟中心之间的欧式距离,得到k个欧氏距离值,倘若k个欧氏距离值都小于规定的误差阈值或达到迭代次数时,转步骤4),否则继续迭代;4)输出聚类结果。现有技术一的缺点1)对于海量数量和数据向量维度特别的大的时候,单机版本的通过卡洛斯卡尔算法来对初始中心进行选择后改进的k均值算法的处理速度十分的缓慢或者根本无法运行。2)选择初始中心以后进行k均值运算时,没有考虑每个数据向量之间的相似度,直接使用欧氏距离来计算到每个簇心的距离来判定每个数据向量所属的簇,这样会导致实际的误差平方函数的数值增大。现有技术二分布式平台Spark自带的k均值++算法现有技术二的技术方案主要目的是尽量保证初始聚类中心点互相之间距离尽可能的远,具体步骤如下:1)从数据向量集合中随机选一个向量作为聚类的第一个中心点。2)对于数据向量集合中每个向量v,然后计算它与刚选择得到聚类的中心点之间的距离记为D(v)。3)从中选一个新的数据向量作为下一个聚类的中心点,选择准则是:D(v)值越大的点,有更大的概率被选为为聚类的中心点。4)重复步骤2),步骤3)直到k个聚类的中心点都被选出来为止。5)这k个聚类中心点作为聚类的初始中心点来运行k均值算法。现有技术二的缺点由于k均值++没有很好的选择初始中心,没有很好的解决随机选择初始中心带来的迭代次数过多的问题。
技术实现思路
专利技术目的:针对现有技术中存在的问题与不足,本专利技术提供一种基于分布式计算平台改进的k均值聚类方法。针对现有技术一对海量数据和维数特别大的数据集处理速度慢或者根本无法运算的问题,本专利技术使用分布式计算平台Spark,可以通过搭建Spark集群来并行化运算,可以大大提高处理速度。针对现有技术一选取最小生成树和中的最大值而没有保证簇心相对均匀分布的问题,本专利技术提出,如果所选簇心点集中各点之间距离不能保证相差不大,这里需要设置一个阈值,则移除这个簇心点集,从剩下的那些点集中选择最小生成树权值和最大值的对应的点集作为簇心点集,判断此时簇心点集中各点之间距离是否保证相差不大,重复上述过程,这样可以有效地减少迭代次数。针对现有技术一没有考虑每个数据向量之间相关性问题,本专利技术引入谷本距离来进行计算每个数据向量到簇心的距离来判定每个数据向量应该属于哪个簇,这样选择的k个初始聚类中心可以减少误差平方函数的值,从而可以提高算法的正确率。针对现有技术二一次选取选取没有很好解决随机性的问题,本专利技术通过克洛斯卡尔来选择初始中心,通过重复n次来尽可能减少随机性所带来的问题,可以较好地减少迭代次数。技术方案:一种基于分布式计算平台改进的k均值聚类方法,由于k均值算法存在随机选取初始中心导致最终簇心局部化最优解,对海量数据处理速度慢,数据迭代次数过多以及没有考虑向量之间的关联关系等问题,所以针对海量数据处理慢的问题引入了分布式计算平台Spark的,针对迭代次数过多的问题,引入卡洛斯卡尔算法,针对没有考虑向量各特征间的相关性,引入谷本距离。首先,通过克洛斯卡尔算法来对随机选取的k个点来构造最小生成树并求出对应的权值和,重复n次,然后按照这n次得到的权值和,从中选取出最大的权值和并且确保由k个点组成的边之间的距离值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算。其步骤如下:1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di,2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;3)倘若求出的点集的各边的权值相差不大于0.1时,则将该点集作为初始簇中心的k个初始中心,转步骤4);否则排除该点集,转步骤2);4)运行基于分布式计算平台Spark改进后的k均值算法;对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,运行过程中根据谷本距离公式计算每个数据向量到k个簇中心的距离,根据计算得到的k个距离值,将数据向量放入到距离最小的这个簇心所对应的蔟中,然后通过每个簇中所有数据向量求平均值来更新蔟中心,此时,计算上一次k个蔟中心与更新后对应的蔟中心之间的欧式距离,得到k个欧氏距离值,倘若k个欧氏距离值都小于规定的误差阈值或达到迭代次数时,转步骤5),否则继续迭代;这里迭代是指迭代簇中心,通过迭代来更新蔟中心;5)输出聚类结果。所述的分布式计算平台Spark,介绍如下:Spark是一个围绕易用性、速度和复杂分析构建的大数据处理框架,在大数据环境下提高了处理数据的实时性,并且保证了高可伸缩性和高容错性,此外可以将Spark部署由大量廉价机器之上来形成集群。所述的克洛斯卡尔最小生成树算法,具体描述如下:克洛斯卡尔算法的基本思想本文档来自技高网
...
一种基于分布式计算平台改进的k均值聚类方法

【技术保护点】
一种基于分布式计算平台改进的k均值聚类方法,其特征在于:首先,根据克洛斯卡尔算法对随机选取的k个点求出该点集的最小生成树权值和,重复n次,然后根据这n次的权值和选取出权值和最大并保证该点集的各边的权值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算,其步骤如下:1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di,2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;3)倘若求出的点集的各边的权值相差不大时,则将该点集作为初始簇中心的k个初始中心,转步骤4);否则排除该点集,转步骤2);4)然后运行基于分布式计算平台Spark改进后的k均值算法;运行过程中根据谷本距离公式计算每个数据向量到k个簇中心的距离,根据计算得到的k个距离值,将数据向量放入到距离最小的这个簇心所对应的蔟中,然后通过每个簇中所有数据向量求平均值来更新蔟中心,此时,计算上一次k个蔟中心与更新后对应的蔟中心之间的欧式距离,得到k个欧氏距离值,倘若k个欧氏距离值都小于规定的误差阈值或达到迭代次数时,转步骤5),否则继续迭代;5)输出聚类结果。...

【技术特征摘要】
1.一种基于分布式计算平台改进的k均值聚类方法,其特征在于:首先,根据克洛斯卡尔算法对随机选取的k个点求出该点集的最小生成树权值和,重复n次,然后根据这n次的权值和选取出权值和最大并保证该点集的各边的权值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算,其步骤如下:1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di,2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;3)倘若求出的点集的各边的权值相差不大时,则将该点集作为初始簇中心的k个初始中心,转步骤4);否则排除该点集,转步骤2);4)然后运行基于...

【专利技术属性】
技术研发人员:纪小展张成徐平平戴磊
申请(专利权)人:上海凌科智能科技有限公司
类型:发明
国别省市:上海;31

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

1