大数据十大经典算法讲解

大数据十大经典算法讲解

ID:24949628

大小:4.58 MB

页数:33页

时间:2018-11-16

大数据十大经典算法讲解_第1页
大数据十大经典算法讲解_第2页
大数据十大经典算法讲解_第3页
大数据十大经典算法讲解_第4页
大数据十大经典算法讲解_第5页
资源描述:

《大数据十大经典算法讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ThealgorithmofKmeans小组成员:徐佳、张俊飞、刘志伟、孔祥玉主要内容:Kmeans实战聚类算法简介Kmeans算法详解Kmeans算法的缺陷及若干改进Kmeans的单机实现与分布式实现策略聚类算法简介123聚类的目标:将一组向量分成若干组,组内数据是相似的,而组间数据是有较明显差异。与分类区别:分类与聚类最大的区别在于分类的目标事先已知,聚类也被称为无监督机器学习聚类手段:传统聚类算法①划分法②层次方法③基于密度方法④基于网络方法⑤基于模型方法什么是Kmeans算法?Q1:K是什么?A1:k是聚类算法当中类的个数。Summary

2、:Kmeans是用均值算法把数据分成K个类的算法!Q2:means是什么?A2:means是均值算法。Kmeans算法详解(1)步骤一:取得k个初始初始中心点Kmeans算法详解(2)MinofthreeduetotheEuclidDistance步骤二:把每个点划分进相应的簇Kmeans算法详解(3)MinofthreeduetotheEuclidDistance步骤三:重新计算中心点Kmeans算法详解(4)步骤四:迭代计算中心点Kmeans算法详解(5)步骤五:收敛Kmeans算法流程从数据中随机抽取k个点作为初始聚类的中心,由这个中心代表

3、各个聚类计算数据中所有的点到这k个点的距离,将点归到离其最近的聚类里调整聚类中心,即将聚类的中心移动到聚类的几何中心(即平均值)处,也就是k-means中的mean的含义重复第2步直到聚类的中心不再移动,此时算法收敛最后kmeans算法时间、空间复杂度是:时间复杂度:上限为O(tKmn),下限为Ω(Kmn)其中,t为迭代次数,K为簇的数目,m为记录数,n为维数空间复杂度:O((m+K)n),其中,K为簇的数目,m为记录数,n为维数决定性因素Input¢roidsSelectedkMaxIterations&ConvergenceMeass

4、ures①数据的采集和抽象②初始的中心选择①最大迭代次数②收敛值①k值的选定①度量距离的手段factors?主要讨论初始中心点输入的数据及K值的选择距离度量我们主要研究的三个方面因素。初始中心点的划分讨论初始中心点意义何在?下面的例子一目了然吧?初始中心点收敛后你懂的…如何衡量Kmeans算法的精确度?在进一步阐述初始中心点选择之前,我们应该先确定度量kmeans的算法精确度的方法。一种度量聚类效果的标准是:SSE(SumofSquareError,误差平方和)SSE越小表示数据点越接近于它们的质心,聚类效果也就越好。因为对误差取了平方所以更重视

5、那些远离中心的点。一种可以肯定降低SSE的方法是增加簇的个数。但这违背了聚类的目标。因为聚类是在保持目标簇不变的情况下提高聚类的质量。现在思路明了了我们首先以缩小SSE为目标改进算法。改进的算法——二分Kmeans算法为了克服k均值算法收敛于局部的问题,提出了二分k均值算法。该算法首先将所有的点作为一个簇,然后将该簇一分为二。之后选择其中一个簇继续划分,选择哪个簇进行划分取决于对其划分是否可以最大程度降低SSE值。伪代码如下:将所有的点看成一个簇当簇数目小于k时对于每一个簇计算总误差在给定的簇上面进行K均值聚类(K=2)计算将该簇一分为二后的总误

6、差选择使得误差最小的那个簇进行划分操作二分Kmeans算法的效果双击此处添加文字内容既然是改进算法就要体现改进算法的优越性。为此控制变量,在相同的实验环境下,①取相同的k值取。②选取相同的的距离度量标准(欧氏距离)③在相同的数据集下进行测试。一组实验结果一组不好的初始点产生的Kmeans算法结果二分kmeans产生的结果要强调的是尽管只是这一组实验不得以得出二分kmeans的优越性,但是经过大量实验得出的结论却是在大多数情况下二分kmeans确实优于朴素的kmeans算法。全局最小值二分kmeans真的能使SSE达到全局最小值吗?从前面的讲解可以

7、看到二分kmeans算法的思想有点类似于贪心思想。但是我们会发现贪心的过程中有不确定的因素比如:二分一个聚类时选取的两个中间点是随机的,这会对我们的策略造成影响。那么如此一来二分kmeans算法会不会达到全局最优解呢?答案是:会!尽管你可能惊诧于下面的说法,但全局最小值的定义却是:可能的最好结果。K值的选择以及坏点的剔除讨论k值、剔除坏点的意义何在?下面以一个例子来说明k值的重要性。有一组关于湿度和温度的数据想把它划分为冬天和夏天两部分。(k=2)气象学家打了个盹不小心把(100℃,1000%)和(101℃,1100%)加入了数据,并不幸选取(1

8、00℃,1000%)作为其中一个初始点于是得到两个很不靠谱的聚类结果。为什么会出错?上面的例子当中出错的原因很明显。凭直觉我们很容易知道

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。