聚类分析:基本概念与算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

定义簇之间的邻近性
p1 p2 相似性? p1 p3 p4 p5
...
39
p2
p3 p4
p5

单链 全链 组平均 质心间的距离 Ward方法
. . .
邻近度矩阵
特殊技术—样本数据
40
定义簇间的邻近性
41

单链 全链 组平均 质心间的距离 Ward方法
• 两个簇的邻近度定义为 基于这两个簇中最大相似度 (最短距离) • 由一对最近邻点决定
C1 C3 C4 C2 C3 C4 C5 C1
37
邻近度矩阵
C5
C2
...
p1 p2 p3 p4 p9 p10 p11 p12
基本凝聚层次聚类方法
• 合并簇
C1 C2 U C1 C5 C3
38
C4
C2 UC5
C3 C4 C3 C4
邻近度矩阵
C1
C2 U C5
...
p1 p2 p3 p4 p9 p10 p11 p12
部分聚类(partial clustering)
– 部分聚类中数据集某些对象可能不属于明确定义的组。如: 一些对象可能是离群点、噪声。
完全聚类(complete clustering)
– 完全聚类将每个对象指派到一个簇。
不同的簇类型 明显分离的(Well-Separated) 基于原型的 基于图的 基于密度的 概念簇
p1 p3 p2 p4
p2
p3 p4
Traditional Dendrogram
p1 p2
p3 p4
Non-traditional Hierarchical Clustering
Non-traditional Dendrogram
11
互斥聚类(exclusive clustering)
— 每个对象都指派到单个簇。
1
聚类分析:基本概念和算法
蔡赛凤 141030008 王希鹃 141030014 王书一 142030045
目录
1. 概述 2. K均值 3. 凝聚层次聚类
2
4. DBSCAN
5. 簇评估
3
思考:如何对移动公司客户进行管理?
什么是聚类分析?
1. 含义
4
“物以类聚,人以群分”,在自然科学和社会科学 中,存在着大量的分类问题。 所谓类,通俗地说,就是指相似元素的集合。 聚类是根据“物以类聚”的原理,将本身没有类
28
算法演示
29
二分k均值算法
• 初始化簇表,使之包含由所有的点组成的簇。 • Repeat • 从簇表中取出一个簇。 • for i=1 to 实验次数 do • 使用基本k均值,二分选定的簇。 • end for • 从二分实验中选择具有最小总SSE的两个簇。 • 将这两个簇添加到簇表中。 • Until 簇表中包含k个簇。
选择初始的质心
• 随机选择 • 从层次聚类中提取K个簇,并用这些簇的质心作 为初始质心 • 随机选择第一个点,或取所有点的质心作为第一 个点。然后,对于每个后继初始质心,选择离已 经选取过的初始质心最远的点 • 局限:需多次运行,每次使用不同的随机初始质 心,然后选取具有最小SSE(误差的平方和)的 簇集。方法简单,但是效果不佳,取决于数据集 和寻找簇的个数。
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
x
Iteration 4
3 2.5
Iteration 5
3 3 2.5 2.5
Iteration 6
2
2
2
1.5
1.5
1.5
y
y
1
1
y
1 0.5 0.5 0 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
2
5
4
1
单链树状图
34

关键的操作是两组簇的邻近度计算 – 不同的邻近度的定义区分了各种不同的凝聚层次技术
基本凝聚层次聚类方法
• 起始于单独的点及邻近度矩阵
p1 p2 p1 p2 p3 p4 p3 p4 p5
...
35
p5
. . .
p1 p2 p3 p4
邻近度矩阵
...
p9 p10 p11 p12
基本凝聚层次聚类方法
16
• 簇可以定义为连通分支(connected component):互相连 通但不与组外对象连通的对象组。
簇类型: 基于密度的(Density-Based)
• 簇是对象的稠密区域,被低密度的区域环绕。
17
六个基于密度的簇
簇类型: 概念簇(Conceptual Clusters)
• 可以把簇定义为有某种共同性质的对象的集合。 • 例如:基于中心的聚类。还有一些簇的共同性质需 要更复杂的算法才能识别出来。
• 经过部分融合之后 ,我们得到一些簇
p1 p2
p1 p2 C3 C4
36
p3
p4 p5
...
p3
p4 p5
.
C1
.
邻近度矩阵
C2
C5
.
...
p1 p2 p3 p4 p9 p10 p11 p12
基本凝聚层次聚类方法
• 我们希望合并两个最邻近的簇 (C2 和 C5) 并更新临近度 矩阵 C1 C2 C3 C4 C5
18
2个重叠的簇
基本K均值算法
• • • • • 1.选择k个点作为初始的质心 2.repeat 3.将每个点指派到最近的质心,形成k个簇 4. 重新计算每个簇的质心 5.until 质心不发生变化
19
算法演示
Iteration 6
3
3
20
Iteration 5 1 2 3 4
2.5
2.5
2
2
1.5
30
优点与缺点
优点: • 算法简单 • 适用于球形簇 • 二分k均值等变种算法运行良好,不受初始化问 题的影响。 缺点: • 不能处理非球形簇、不同尺寸和不同密度的簇 • 对离群点、噪声敏感
31
层次聚类的定义及其分类
• 层次聚类按数据分层建立簇,形成一棵以簇为节点的树,即聚类图。
32
• 按自底向上层次分解,则称为凝聚的层次聚类。
模式识别 空间数据分析 在GIS系统中,对相似区域进行聚类,产生主题地图 检测空间聚类,并给出它们在空间数据挖掘中的解释 图像处理
6
商务应用中,帮市场分析人员发现不同的顾客群 万维网
对WEB上的文档进行分类 对WEB日志的数据进行聚类,以发现相同的用户访问 模式
聚类的复杂性
1.5
1
1
0.5
0.5
0.5
0
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
x
二分k均值
• 二分k均值算法是基本k均值算法的直接扩充。它 将所有点的集合分裂成两个簇,从这些簇中选取 一个继续分裂,如此下去,直到产生k个簇。
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
x
K均值聚类实例
①假设给定如下要进行聚类的元组: {2,4,10,12,3,20,30,11,25} ②并假设k=2.初始时用前两个数值作为类的均值; m=2 和 m=4.
22
③利用欧几里德距离,可得K1={2,3}和 K2={4,10,12,20,30,11,25}。数值3与两个均值的距离 相等,所以任意地选择K1作为其所属类。在这种情况 下,可以进行任意指派。
8
划分聚类(Partitional Clustering)
划分成不重叠的子集,使得每个数据对象恰在一个子集。
9
原来的点
划分聚类
层次聚类(Hierarchical Clustering)
嵌套簇的集族,组织成一棵树。
10
p1 p3 p2 p4
p1
Traditional Hierarchical Clustering
别的样本聚集成不同的组,这样的一组数据对象的
集合叫做簇,并且对每一个这样的簇进行描述的过
程。
5
聚类分析将数据划分成有意义或有用的组(簇)。
聚类分析仅根据在数据中发现的描述对象及其关系
的信息,将数据对象分组。
其目标是,组内的对象相互之间是相似的,而不同
组中的对象是不同的。
聚类分析的典型应用
33
凝聚 的 层 次 聚 类
第3 步
分 裂 的 层 次 聚 类
第0 步
a
第4 步
凝聚的(AGENS)
基本凝聚层次聚类方法
• 凝聚层次聚类算法:
1. 2. 3. 4. 5. 6. 计算临近度矩阵 让每个点作为一个簇 重复第一步和第二步 合并最近的两个簇 更新临近度矩阵,以反映新的簇与原来的簇之间的临近性 直到仅剩下一个簇为止
特殊技术—单链
min(0.15,0.25,0.28,0.39) 0.15
5 1 3 5
0.2
42
dist({3,6}, {2,5}) min(dist(3,2), dist(6,2), dist(3,5), dist(6,5))
2 2
4 4
单链聚类
1 3 6
0.15
0.1
0.05
0
3
6
25
选择了较差的初始质心的结果演示
Iteration 5
3
3
26
Iteration 4 1 2 3
2.5
2.5
2
2
1.5
1.5
y
y
1
1
0.5
0.5
0
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
x 0.5
1
1.5
2
x
选择了较差的初始质心的结果分解演示
Iteration 1
13
簇类型: 明显分离的(Well-Separated)
• 每个点到同簇中任一点的距离比到不同簇中所有点 的距离更近。
14

三个明显分离的簇
簇类型:基于原型的
• 每个对象到定义该簇的原型(质心、中心)的距离 比到其他簇的原型的距离更近。
15
四个基于原型的簇
簇类型:基于图的
• 如果数据用图表示,其中节点是对象,而边代表对象之间的 联系。
1.5
y
y
1
1
0.5
0.5
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x
算法分解演示
Iteration 1
3 3 2.5 2.5
21
Iteration 2
3 2.5
Iteration 3
2
2
2
1.5
1.5
1.5
y
y
1
1
y
1 0.5 0.5 0 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
3 2.5
27
Iteration 2
3 2.5
2
2
y
y
1 0.5 0 -2
1.5
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
Iteration 3
3 2.5
Iteration 4
3 2.5
Iteration 5
3 2.5
2
2
2
yFra Baidu bibliotek
y
y
1
1.5
1.5
7
原来的点
两个簇
四个簇
六个簇
相同点集的不同聚类方法
不同的聚类类型 划分聚类(Partitional Clustering) 层次聚类(Hierarchical Clustering) 互斥聚类(exclusive clustering) 非互斥(重叠)聚类(non-exclusive) 模糊聚类(fuzzy clustering) 完全聚类(complete clustering) 部分聚类(partial clustering)
④计算均值可得m1=2.5 和 m2=16。
⑤重新对类中的成员进行分配,不断重复上述过程, 直至均值不再变化。
23
• 具体过程如表:
m1 2 2.5 3 m2 4 16 18 {2,3} {2,3,4} {2,3,4,10} K1 K2 {4,10,12,20,30,11,2 5} {10,12,20,30,11,25} {12,20,30,11,25}
• 按自顶向下层次分解,就称为分裂的层次聚类。
6 4 3 2 4 5 2 1 3 1
5
0.2
0.15
0.1
0.05
0
1
3
2
5
4
6
镶嵌簇图
树状图
凝聚的和分裂的层次聚类
分裂的(DIANA) 第4 步 a, b, c, d, e 第0 步 c, d, e 第1 步 第2 步 第1 步 a, b d, e 第2 步 第3 步 b c d e
4.75 7
19.6 25
{2,3,4,10,11,12} {20,30,25} {2,3,4,10,11,12} {20,30,25}
24
• 注意在最后两步中类的成员是一致的,由于均 值不再变化,所以均值已经收敛了。因此,该 问题的答案为: K1={2,3,4,10,11,12} 和 K2={20,30,25}
非互斥(重叠)聚类(non-exclusive)
— 聚类用来反映一个对象,同时属于多个组(类)这一事 实。 例如:在大学里,一个人可能既是学生,又是雇员 例如:在蛋白质网络里,一个蛋白质,可能具有多个不同 功能,分别属于多个功能模块
12
模糊聚类(Fuzzy clustering)
– 每个对象以一个0(绝对不属于)和1(绝对属于)之间的隶 属权值属于每个簇。簇被视为模糊集。
相关文档
最新文档