大数据十大经典算法讲解13772.pptx





《大数据十大经典算法讲解13772.pptx》由会员分享,可在线阅读,更多相关《大数据十大经典算法讲解13772.pptx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、The algorithm of Kmeans小组成员:徐佳、张俊飞、刘志伟、孔祥玉主要内容:主要内容:Kmeans实战实战聚类算法简介聚类算法简介Kmeans算法详解算法详解Kmeans算法的缺陷及若干改进算法的缺陷及若干改进Kmeans的单机实现与分布式实现策略的单机实现与分布式实现策略 聚聚类类算算法法简简介介123聚类的目标:聚类的目标:将一组向量分成若干组,组内数据是相似的,将一组向量分成若干组,组内数据是相似的,而组间数据是有较明显差异。而组间数据是有较明显差异。与分类区别:与分类区别:分类与聚类最大的区别在于分类的目标事先已分类与聚类最大的区别在于分类的目标事先已知,聚类也被称为
2、无监督机器学习知,聚类也被称为无监督机器学习聚类手段:传统聚类算法聚类手段:传统聚类算法划分法划分法层次方法层次方法基于密度基于密度方法方法基于网络方法基于网络方法基于模型方法基于模型方法什什么么是是Kmeans算算法法?Q1Q1:K K是什么?是什么?是什么?是什么?A1A1:k k是聚类算法当中类的个数。是聚类算法当中类的个数。是聚类算法当中类的个数。是聚类算法当中类的个数。Summary:Kmeans是用均值算法把数是用均值算法把数据分成据分成K个类的算法!个类的算法!Q2 Q2:meansmeans是什么?是什么?是什么?是什么?A2A2:meansmeans是均值算法。是均值算法。是
3、均值算法。是均值算法。Kmeans算法详解(算法详解(1)步骤一:取得步骤一:取得k个初始初始中心点个初始初始中心点Kmeans算法详解(算法详解(2)MinofthreeduetotheEuclidDistance步骤二:把每个点划分进相应的簇步骤二:把每个点划分进相应的簇Kmeans算法详解(算法详解(3)MinofthreeduetotheEuclidDistance步骤三:重新计算中心点步骤三:重新计算中心点Kmeans算法详解(算法详解(4)步骤四:迭代计算中心点步骤四:迭代计算中心点Kmeans算法详解(算法详解(5)步骤五:收敛步骤五:收敛Kmeans算算法法流流程程1.从数据中
4、随机抽取从数据中随机抽取k个点作为初始聚类的个点作为初始聚类的中心,由这个中心代表各个聚类中心,由这个中心代表各个聚类2.计算数据中所有的点到这计算数据中所有的点到这k个点的距离,个点的距离,将点归到离其最近的聚类里将点归到离其最近的聚类里3.调整聚类中心,即将聚类的中心移动到调整聚类中心,即将聚类的中心移动到聚类的几何中心(即平均值)处,也就是聚类的几何中心(即平均值)处,也就是k-means中的中的mean的含义的含义4.重复第重复第2步直到聚类的中心不再移动,此步直到聚类的中心不再移动,此时算法收敛时算法收敛最后最后kmeans算法时间、空间复杂度是:算法时间、空间复杂度是:1.时间复杂
5、度:上限为时间复杂度:上限为O(tKmn),下限为,下限为(Kmn)其中,)其中,t为迭代次数,为迭代次数,K为簇的为簇的数目,数目,m为记录数,为记录数,n为维数为维数2.空间复杂度:空间复杂度:O(m+K)n),其中,其中,K为为簇的数目,簇的数目,m为记录数,为记录数,n为维数为维数决决定定性性因因素素Input¢roidsInput¢roidsSelectedkSelectedkMaxIterations&ConvergenceMaxIterations&ConvergenceMeassuresMeassures数据的采集和抽象初始的中心选择最大迭代次数收敛值 k值的选
6、定 度量距离的手段factorsfactors?主主要要讨讨论论初始中初始中心点心点输入的数输入的数据及据及K值值的选择的选择距离度距离度量量我们主要研究的三个方面因素。我们主要研究的三个方面因素。初初始始中中心心点点的的划划分分讨论初始中心点意义何在?下面的例子一目了然吧?讨论初始中心点意义何在?下面的例子一目了然吧?初始中心点初始中心点收敛后收敛后你你懂懂的的如如何何衡衡量量Kmeans算算法法的的精精确确度度?在进一步阐述初始中心点选择在进一步阐述初始中心点选择之前,我们应该先确定度量之前,我们应该先确定度量kmeans的算法精确度的方法。的算法精确度的方法。一种度量聚类效果的标准是:一
7、种度量聚类效果的标准是:SSE(SumofSquareError,误差平方和误差平方和)SSE越小表示数据点越接近于越小表示数据点越接近于它们的质心,聚类效果也就越它们的质心,聚类效果也就越好。因为对误差取了平方所以好。因为对误差取了平方所以更重视那些远离中心的点。更重视那些远离中心的点。一种可以肯定降低一种可以肯定降低SSE的方法的方法是增加簇的个数。但这违背了是增加簇的个数。但这违背了聚类的目标。因为聚类是在保聚类的目标。因为聚类是在保持目标簇不变的情况下提高聚持目标簇不变的情况下提高聚类的质量。类的质量。现在思路明了了我们首先以缩现在思路明了了我们首先以缩小小SSE为目标改进算法。为目标
8、改进算法。改进的算法改进的算法二分二分Kmeans算法算法为了克服为了克服k均值算法收敛于局部的问题,提出了二分均值算法收敛于局部的问题,提出了二分k均值算法。该算法首先将所有的点作为一个簇,然后均值算法。该算法首先将所有的点作为一个簇,然后将该簇一分为二。之后选择其中一个簇继续划分,选将该簇一分为二。之后选择其中一个簇继续划分,选择哪个簇进行划分取决于对其划分是否可以最大程度择哪个簇进行划分取决于对其划分是否可以最大程度降低降低SSE值。值。伪代码如下:伪代码如下:将所有的点看成一个簇将所有的点看成一个簇当簇数目小于当簇数目小于k时时对于每一个簇对于每一个簇计算总误差计算总误差在给定的簇上面
9、进行在给定的簇上面进行K均值聚类均值聚类(K=2)计算将该簇一分为二后的总误差计算将该簇一分为二后的总误差选择使得误差最小的那个簇进行划分操作选择使得误差最小的那个簇进行划分操作二二分分Kmeans算算法法的的效效果果既然是改进算法就要体现改既然是改进算法就要体现改进算法的优越性。为此控制进算法的优越性。为此控制变量,在相同的实验环境下,变量,在相同的实验环境下,取相同的取相同的k值取。值取。选取相同的的距离度量标选取相同的的距离度量标准(欧氏距离)准(欧氏距离)在相同的数据集下进行测在相同的数据集下进行测试。试。一一组组实实验验结结果果一组不好的初始点产生的一组不好的初始点产生的Kmeans
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 经典 算法 讲解 13772

限制150内