当前课程知识点:互联网大规模数据分析技术 >  第四章 聚类算法 >  第9讲 K-Means & K-Medoids Clustering >  第9讲 K-Means & K-Medoids Clustering

返回《互联网大规模数据分析技术》慕课在线视频课程列表

第9讲 K-Means & K-Medoids Clustering在线视频

下一节:第10讲 大数据处理平台Hadoop

返回《互联网大规模数据分析技术》慕课在线视频列表

第9讲 K-Means & K-Medoids Clustering课程教案、知识点、字幕

同学们好

欢迎来到

互联网大规模数据分析技术课堂

我是这节课的主讲教师张蕊

来自武汉理工大学

这节课我们一起来了解一下

K-Means 与K-Medoids两个经典的

聚类算法

K-Means 与K-Medoids算法

都属于聚类中的划分方法

划分方法是把

数据集D当中的n个对象

分配到k个簇里面去

使得误差的平方和最小

在这个公式里,p是数据点

ci是簇心,比如均值或者是中心点

d(p,ci)是点p到簇心的距离

这两个累加表示求出每个簇中

每个点到簇心距离的平方和

对于给定的k

要发现关于K个簇的划分

使得这些划分准出最优化

划分准则,可能是全局最优

那就需要穷举所有的划分来得到

而这是个np难度问题,不可行

更可行的选择是

采用一些直觉的方法来进行划分

典型代表就是我们今天要讲的

K-Means 与k-K-Medoids算法

K-Means算法的基本思想是这样的

给定k

K-Means算法按以下4个步骤来进行

首先,将对象划分到k个非空子集

第二步,计算种子结点作为簇心

这里是均值

第三步,将每个数据对象

分配到距离种子结点最近的簇

然后回到第二步进行迭代

直到划分不再改变,变得稳定

算法停止

我们来看一个K-Means算法的例子

我们的初始数据集是这样的

给定k=2

将所有点划分两个group里面

然后我们计算每个簇的均值作为簇心

根据这些簇心

我们重新计算每个点到簇心的距离

分配到距离最近的簇

然后我们重新计算每个簇的簇心

接着根据新的簇心

再次计算每个点到簇心的距离

来进行分配

但现在我们算下来

每个点的分配并没有改变

也就是说这时候划分已经稳定

算法停止

k-means算法有什么优点和缺陷呢

首先我们可以看到

假定一共有n个数据对象

k个簇,进行了T次迭代

那K-Means算法的复杂度应该是

t乘以k乘以n这个数量级

因为k和t,都远远小于n

所以它的复杂度

相对于其他聚类算法来说有优势

可以比较容易地

在大规模数据集上运行

相对来说是可伸缩的

但K-Means算法

经常终止于局部最优

不能保证发现全局最优

另外,他只能处理数值型数据

并且需要指定k

对噪声数据和离群点比较敏感

而且不适合发现

非凸形状的簇

特别是k均值对离群点非常敏感

如果有一个离群点的值非常的极端

它会严重影响

整个簇的计算出来的均值

针对这个问题

有人提出不采用簇的均值来代表簇

而是采用一个

位居中心的实际对象来代表簇

比如这两个较大的蓝色的点

就分别是这两个簇的中心点

而不是计算出来的均值

这就是K-Medoids算法的基本思想

我们来看一个典型的

K-Medoids算法的例子

我们的初始数据集是这样的

给定k=2,随机选择两个点

作为初始的簇的代表点

这里是深蓝的这两个

将剩余的数据对象

分配到距离最近的代表点所在的簇

然后随机选择一个非中心点对象

计算如果用这个随机对象代替中心点

交换后的代价是多少

这里我们计算出来总代价是26

如果,这个随机对象

计算出来的代价小于原代表对象

那就用这个随机对象替换原中心点

然后再根据新的中心点

再次将其他数据对象

分配到距离最近的代表点所在的簇

迭代进行,直到划分不再改变

算法停止

所以K-Medoids算法的重点

是要发现簇的代表点

对于PAM算法来说

先任意选择簇的代表点

然后用其他点去替换现有的代表点

看是否能提高聚类质量

要尝试所有可能的替换

直到聚类质量不再被任何替换提高

PAM算法

在小规模数据集上的运行结果不错

对离群点不敏感

但因为尝试所有替换的计算代价很高

所以它对大规模数据来说不是可伸缩的

有研究者针对这做了一些有效的改进

大家可以去查看相关资料

本节课的内容到此结束

谢谢大家的观看

互联网大规模数据分析技术课程列表:

第一章 大数据与数据挖掘概述

-第1讲 大数据与数据挖掘概述

--第1讲 大数据与数据挖掘概述

第二章 关联规则

-第2讲 频繁项集和关联规则的基本概念

--第2讲 频繁项集和关联规则的基本概念

-第3讲 Apriori算法

--第3讲 Apriori算法

-第4讲 Apriori算法的改进与兴趣度度量

--第4讲 Apriori算法的改进与兴趣度度量

第三章 分类算法

-第5讲 分类的基本概念

--第5讲 分类的基本概念

-第6讲 决策树

--第6讲 决策树

-第7讲 简单贝叶斯分类

--第7讲 简单贝叶斯分类

第四章 聚类算法

-第8讲 聚类的基本概念

--第8讲 聚类的基本概念

-第9讲 K-Means & K-Medoids Clustering

--第9讲 K-Means & K-Medoids Clustering

-第四章 聚类算法--习题

第五章 大数据平台与技术

-第10讲 大数据处理平台Hadoop

--第10讲 大数据处理平台Hadoop

-第11讲 MapReduce编程

--第11讲 MapReduce编程

-第12讲 大数据处理平台Spark

--第12讲 大数据处理平台Spark

-第13讲 NoSQL数据库

--第13讲 NoSQL数据库

第六章 信息检索

-第14讲 Web信息检索简介

--第14讲 Web信息检索简介

-第15讲 信息检索之倒排索引

--第15讲 信息检索之倒排索引

-第16讲 信息检索之TFIDF

--Video

-第17讲 信息检索之相似度排序

--第16讲 信息检索之TFIDF

第七章 Web链接分析

-第18讲 Web搜索之链接分析

--第18讲 Web搜索之链接分析

-第19讲 Web搜索之PageRank

--第19讲 Web搜索之PageRank

-第20讲 Lucene信息检索平台

--第20讲 Lucene信息检索平台

-第七章 Web链接分析--习题

第八章 推荐系统

-第21讲 推荐系统简介

--第21讲 推荐系统简介

-第22讲 推荐系统之协同过滤

--第22讲 推荐系统之协同过滤

-第23讲 Mahout数据挖掘平台

--第23讲 Mahout数据挖掘平台

-第24讲 信息过滤评价体系

--第24讲 信息过滤评价体系

-第八章 推荐系统--习题一

-第八章 推荐系统--习题二

自我提升练习

-综合编程题

第9讲 K-Means & K-Medoids Clustering笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。