大数据十大经典算法讲解课件.ppt

上传人(卖家):三亚风情 文档编号:3428938 上传时间:2022-08-30 格式:PPT 页数:33 大小:4.28MB
下载 相关 举报
大数据十大经典算法讲解课件.ppt_第1页
第1页 / 共33页
大数据十大经典算法讲解课件.ppt_第2页
第2页 / 共33页
大数据十大经典算法讲解课件.ppt_第3页
第3页 / 共33页
大数据十大经典算法讲解课件.ppt_第4页
第4页 / 共33页
大数据十大经典算法讲解课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、小组成员:徐佳、张俊飞、刘志伟、孔祥玉Kmeans实战实战聚类算法简介聚类算法简介Kmeans算法详解算法详解Kmeans算法的缺陷及若干改进算法的缺陷及若干改进 Kmeans的单机实现与分布式实现策略的单机实现与分布式实现策略 123聚类的目标:聚类的目标:将一组向量分成若干组,组内数据是相似的,将一组向量分成若干组,组内数据是相似的,而组间数据是有较明显差异而组间数据是有较明显差异。与分类区别:与分类区别:分类与聚类最大的区别在于分类的目标事先已分类与聚类最大的区别在于分类的目标事先已知,聚类也被称为无监督机器学习知,聚类也被称为无监督机器学习聚类手段:传统聚类算法聚类手段:传统聚类算法

2、划分法划分法 层次方法层次方法 基于密度基于密度方法方法 基于网络方法基于网络方法 基于模型方法基于模型方法Q1:K是什么?是什么?A1:k是聚类算法当中类的个数。是聚类算法当中类的个数。Summary:Kmeans是用均值算法把数是用均值算法把数据分成据分成K个类的算法!个类的算法!Q2:means是什么?是什么?A2:means是均值算法。是均值算法。步骤一:取得步骤一:取得k个初始初始中心点个初始初始中心点Min of threedue to the EuclidDistance步骤二:把每个点划分进相应的簇步骤二:把每个点划分进相应的簇Min of threedue to the Eu

3、clidDistance步骤三:重新计算中心点步骤三:重新计算中心点步骤四:迭代计算中心点步骤四:迭代计算中心点步骤五:收敛步骤五:收敛1.从数据中随机抽取从数据中随机抽取k个点作为初始聚类个点作为初始聚类的中心,由这个中心代表各个聚类的中心,由这个中心代表各个聚类2.计算数据中所有的点到这计算数据中所有的点到这k个点的距离,个点的距离,将点归到离其最近的聚类里将点归到离其最近的聚类里3.调整聚类中心,即将聚类的中心移动到调整聚类中心,即将聚类的中心移动到聚类的几何中心(即平均值)处,也就是聚类的几何中心(即平均值)处,也就是k-means中的中的mean的含义的含义4.重复第重复第2步直到聚

4、类的中心不再移动,步直到聚类的中心不再移动,此时算法收敛此时算法收敛最后最后kmeans算法时间、空间复杂度是:算法时间、空间复杂度是:时间复杂度:上限为时间复杂度:上限为O(tKmn),下限为,下限为(Kmn)其中,)其中,t为迭代次数,为迭代次数,K为簇的数为簇的数目,目,m为记录数,为记录数,n为维数为维数 空间复杂度:空间复杂度:O(m+K)n),其中,其中,K为簇为簇的数目,的数目,m为记录数,为记录数,n为维数为维数Input¢roidsSelected kMaxIterations&ConvergenceMeassures数据的采集和抽象初始的中心选择最大迭代次数收敛值

5、k值的选定 度量距离的手段factors?初始中初始中心点心点输入的数输入的数据及据及K值值的选择的选择距离度距离度量量我们主要研究的三个方面因素。我们主要研究的三个方面因素。讨论初始中心点意义何在?下面的例子一目了然吧?讨论初始中心点意义何在?下面的例子一目了然吧?初始中心点初始中心点收敛后收敛后你你懂懂的的 在进一步阐述初始中心点选择在进一步阐述初始中心点选择之前,我们应该先确定度量之前,我们应该先确定度量kmeans的算法精确度的方法。的算法精确度的方法。一种度量聚类效果的标准是:一种度量聚类效果的标准是:SSE(Sum of Square Error,误差平方和误差平方和)SSE越小表

6、示数据点越接近于越小表示数据点越接近于它们的质心,聚类效果也就越它们的质心,聚类效果也就越好。因为对误差取了平方所以好。因为对误差取了平方所以更重视那些远离中心的点。更重视那些远离中心的点。一种可以肯定降低一种可以肯定降低SSE的方法的方法是增加簇的个数。但这违背了是增加簇的个数。但这违背了聚类的目标。因为聚类是在保聚类的目标。因为聚类是在保持目标簇不变的情况下提高聚持目标簇不变的情况下提高聚类的质量。类的质量。现在思路明了了我们首先以缩现在思路明了了我们首先以缩小小SSE为目标改进算法。为目标改进算法。为了克服为了克服k均值算法收敛于局部的问题,提出了二分均值算法收敛于局部的问题,提出了二分

7、k均值算法。该算法首先将所有的点作为一个簇,然后均值算法。该算法首先将所有的点作为一个簇,然后将该簇一分为二。之后选择其中一个簇继续划分,选将该簇一分为二。之后选择其中一个簇继续划分,选择哪个簇进行划分取决于对其划分是否可以最大程度择哪个簇进行划分取决于对其划分是否可以最大程度降低降低SSE值。值。伪代码如下:伪代码如下:将所有的点看成一个簇将所有的点看成一个簇当簇数目小于当簇数目小于k时时对于每一个簇对于每一个簇计算总误差计算总误差在给定的簇上面进行在给定的簇上面进行K均值聚类均值聚类(K=2)计算将该簇一分为二后的总误差计算将该簇一分为二后的总误差选择使得误差最小的那个簇进行划分操作选择使

8、得误差最小的那个簇进行划分操作既然是改进算法就要体现改既然是改进算法就要体现改进算法的优越性。为此控制进算法的优越性。为此控制变量,在相同的实验环境下,变量,在相同的实验环境下,取相同的取相同的k值取。值取。选取相同的的距离度量标选取相同的的距离度量标准(欧氏距离)准(欧氏距离)在相同的数据集下进行测在相同的数据集下进行测试。试。一组不好的初始点产生的一组不好的初始点产生的Kmeans算法结果算法结果二分二分kmeans产生的结果产生的结果要强调的是尽管只是这一组实验不得以得出二分要强调的是尽管只是这一组实验不得以得出二分kmeans的的优越性,优越性,但是但是经过大量实验得出的结论却是在大多

9、数情况下经过大量实验得出的结论却是在大多数情况下二分二分kmeans确实优于朴素的确实优于朴素的kmeans算法。算法。二分二分kmeans真真的能使的能使SSE达达到全局最小值到全局最小值吗?吗?从前面的讲解可以看到二分从前面的讲解可以看到二分kmeans算法的思想有点类算法的思想有点类似于贪心思想。但是我们会似于贪心思想。但是我们会发现贪心的过程中有不确定发现贪心的过程中有不确定的因素比如:二分一个聚类的因素比如:二分一个聚类时选取的两个中间点是随机时选取的两个中间点是随机的,这会对我们的策略造成的,这会对我们的策略造成影响。那么如此一来二分影响。那么如此一来二分kmeans算法会不会达到

10、全算法会不会达到全局最优解呢?答案是:会!局最优解呢?答案是:会!尽管你可能惊诧于下面的说尽管你可能惊诧于下面的说法,但全局最小值的定义却法,但全局最小值的定义却是:是:可能可能的最好结果。的最好结果。讨论讨论k值、剔除坏点的意义何在?下面以一个例值、剔除坏点的意义何在?下面以一个例子来说明子来说明k值的重要性。值的重要性。有一组关于湿度和温度的数据想把它划分为冬天和夏天两部分。(k=2)气象学家打了个盹不小心把(100,1000%)和(101,1100%)加入了数据,并不幸选取(100,1000%)作为其中一个初始点于是得到两个很不靠谱的聚类结果。上面的例子当中出错的原因上面的例子当中出错的

11、原因很明显。凭直觉我们很容易很明显。凭直觉我们很容易知道不可能有这样的天气知道不可能有这样的天气它的气温是它的气温是100,湿度,湿度是是1100%。可见坏点对。可见坏点对kmeans的影响之大。另一的影响之大。另一方面,季节有春夏秋冬之分,方面,季节有春夏秋冬之分,而我们强行的把它们分为夏而我们强行的把它们分为夏冬两个类也是不太合理的。冬两个类也是不太合理的。如果分为四个类我们也许可如果分为四个类我们也许可以以“中和中和”掉坏点的影响。掉坏点的影响。究竟哪里错究竟哪里错了!了!(1)将数据集向量化得到一个)将数据集向量化得到一个list后放后放入内存,选择两个距离阈值:入内存,选择两个距离阈

12、值:T1和和T2。(2)从)从list中任取一点中任取一点P,用低计算成,用低计算成本方法快速计算点本方法快速计算点P与所有与所有Canopy之之间的距离(如果当前不存在间的距离(如果当前不存在Canopy,则把点则把点P作为一个作为一个Canopy),如果点),如果点P与某个与某个Canopy距离在距离在T1以内,则将点以内,则将点P加入到这个加入到这个Canopy;(3)如果点)如果点P曾经与某个曾经与某个Canopy的距的距离在离在T2以内,则需要把点以内,则需要把点P从从list中删中删除,这一步是认为点除,这一步是认为点P此时与这个此时与这个Canopy已经够近了,因此它不可以再已经

13、够近了,因此它不可以再做其它做其它Canopy的中心了;的中心了;(4)重复步骤)重复步骤2、3,直到,直到list为空结为空结束束 canopy可以自动帮我我们确定k值。有多少canopy,k值就选取多少。Canopy可以帮我们去除“坏点”。去除离群的canopyCanopy预处理这么好,预处理这么好,我们以后就用它好了!我们以后就用它好了!我看不见得,它虽然解决我看不见得,它虽然解决kmeans当中的一些问题,当中的一些问题,但其自身也引进了新的问题:但其自身也引进了新的问题:t1、t2的选取。的选取。VS单挑单挑OR群殴群殴?!?!面对海量数据时,传统的聚类算法存在着单位时面对海量数据时

14、,传统的聚类算法存在着单位时间内处理量小、面对大量的数据时处理时间较长、间内处理量小、面对大量的数据时处理时间较长、难以达到预期效果的缺陷以上算法都是假设数据都难以达到预期效果的缺陷以上算法都是假设数据都是在内存中存储的,是在内存中存储的,随着数据集的增大,基于内存随着数据集的增大,基于内存的就难以适应的就难以适应是一个为并行处理大量数据而设计的编程模型。是一个为并行处理大量数据而设计的编程模型。Kmeans算法都是假设数据都是在内存中存储的,算法都是假设数据都是在内存中存储的,随着数据集的增大,基于内存的就难随着数据集的增大,基于内存的就难以适应是一个为并行处理大以适应是一个为并行处理大量数

15、据而设计的编程模型,它将工作划分为独立任量数据而设计的编程模型,它将工作划分为独立任务组成的集合。务组成的集合。函数的设计函数的设计框架中框架中 函数函数的输入为的输入为,对,其对,其中:为输入数据记录的偏移量;中:为输入数据记录的偏移量;为当前样本的各维坐标值组成的为当前样本的各维坐标值组成的向量向量首先计算该向量到各个聚簇中心点的距离,首先计算该向量到各个聚簇中心点的距离,然后选择最小的距离的聚簇作为该样本所然后选择最小的距离的聚簇作为该样本所属的簇,之后输出属的簇,之后输出,其中,其中是距最近的聚簇的标是距最近的聚簇的标识符,识符,为表示该样本的向为表示该样本的向量量函数的设计函数的设计

16、函数的输入为函数的输入为,对,即函数的输出首先,对,即函数的输出首先,从中解析出各个向量,然后从中解析出各个向量,然后将解析出的向量相加并记录集合中向量将解析出的向量相加并记录集合中向量的个数输出是的个数输出是,对,其中:对,其中:是聚簇的标是聚簇的标识符;识符;是以上集合中所有是以上集合中所有的向量相加所得的向量及集合中向量的的向量相加所得的向量及集合中向量的数目数目函数的输入是函数的输入是,键值对,其中:为聚簇的键值对,其中:为聚簇的标识符;为节点处理的聚标识符;为节点处理的聚簇中含有的样本的个数及用向量表示的聚簇的簇中含有的样本的个数及用向量表示的聚簇的中心点输出为中心点输出为,对,其中

17、:对,其中:为为聚簇的标识符;聚簇的标识符;为新的聚簇中为新的聚簇中心函数首先从函数的输入中解心函数首先从函数的输入中解析出属于同一个聚簇的样本的个数及各个析出属于同一个聚簇的样本的个数及各个节点传过来的,然后节点传过来的,然后将个数及各个相加,之将个数及各个相加,之后将所得到的向量除以个数得到新的中心点坐后将所得到的向量除以个数得到新的中心点坐标。标。所有实验都是在实验室搭建的平台所有实验都是在实验室搭建的平台上运行的平台有上运行的平台有 台机器,都是四核台机器,都是四核处理器,内存处理器,内存版本,版本,版本每台机器之间用千版本每台机器之间用千兆以太网兆以太网卡,通过交换机连接实验所用的数据是人工数卡,通过交换机连接实验所用的数据是人工数据,维度是维为了测试算法的性能,实验据,维度是维为了测试算法的性能,实验中构中构造了分别含有造了分别含有104,105,106,2*106 条条记录的数据来进行测试由于算法记录的数据来进行测试由于算法中有中有随机初始化中心点的操作,因此对每一组实验重随机初始化中心点的操作,因此对每一组实验重复执行次,取其平均执行时间作为最终实验复执行次,取其平均执行时间作为最终实验结结果果可以看出:基于可以看出:基于的算法的算法的运行效率要远远高于传统的的运行效率要远远高于传统的算法算法http:/ http:/ http:/ http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(大数据十大经典算法讲解课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|