Transcript Lecture6

聚类
林琛
博士,副教授
本讲要点
• 聚类概念
• 聚类方法
– 划分法:k-means
– 层次聚类
– 基于密度的方法:DBScan
• 聚类的效果评估
什么是聚类分析
• 把对象分成若干个簇
– 同簇内的对象彼此相似
– 不同簇内的对象彼此相异
• 聚类的作用
– 独立应用
• 论文作者消歧
– 可视化
• 展现微博区域
– 预处理
聚类分析的几种方法
• 划分方法
– 将数据对象分为几组
– 每组至少包含一个对象
– 每个对象属于一组
• 层次方法
– 凝聚:自底向上
– 分裂:自顶向下
• 基于密度的方法
– 根据邻域中的对象数量聚类
向量化
聚类分析的一般准备
属性
颜色
长宽比
1
255106106
1.2
2
25511486
1.0
3
255239219
0.5
相异度矩阵
1
1
2
3
2
3
0
0
0
相似度/相异度(Lecture 5)
• 明氏距离Minkowski Distance
– 曼哈顿距离(城市街区距离):p=1
– 欧式距离 :p=2
• 余弦相似度Cosine Similarity
• 皮尔逊积矩相关系数Pearson Correlation
• 杰卡德相似度Jaccard Similarity
• 编辑距离Edit Distance
K-means方法
将每个对象
指派到最相
似的簇
更新簇中
心(均值)
1.任意选择k个对象
作为簇中心
簇中心
均值:k-means
中位数:k-median
不连续->众数:k-mode
重
复
更新簇中心
重新指派对象
停止条件
• 我们希望,同一个簇中的对象是相近的,而不
同簇中对象是相异的
• 准则带来问题
– 局部最优
– 球状簇
– 离群点
• 算法带来问题
– 依赖于初始点选择
K-means问题(1)
较好的初始点
局部最优
不好的初始点
K-means问题(2)
• 球状簇
• 离群点(噪声)
层次聚类
• 使用相异度矩阵
• 自顶向下或自底向上
Step 0
a
Step 1
Step 2 Step 3 Step 4
ab
b
abcde
c
cde
d
de
e
Step 4
agglomerative
(AGNES)
Step 3
Step 2 Step 1 Step 0
divisive
(DIANA)
类间距离
• 单链接Single link: 最小距离 dist(Ki, Kj) = min(tip, tjq)
• 全链接Complete link: 最大距离dist(Ki, Kj) = max(tip, tjq)
• 平均Average: 平均距离 dist(Ki, Kj) = avg(tip, tjq)
• 质心Centroid: 簇质心距离 dist(Ki, Kj) = dist(Ci, Cj)
• Medoid: dist(Ki, Kj) = dist(Mi, Mj)
– Medoid: 选择簇中的一个点,到簇内其他点的距离之和最小
X
X
层次聚类问题
• 扩展性
– O(n2),n是数据对象数目
• 不可回溯
– 已经聚类的数据对象不能重新计算
基于密度的聚类
• 参数
– Eps:点p的半径Eps内范围成为p的Eps-邻域
– MinPts:邻域内数据对象最小数目(p为核心对象)
• 直接密度可达
– 如果p在q的Eps邻域内,且q的Eps邻域内至少包含
MinPts个对象,则p是q直接密度可达的
• 密度可达
– 如果存在对象链p1,p2,…pn,pi+1是从pi直接密度可达的,
则p1是从pn出发密度可达的
• 密度相连
– 如果p和q都是从o出发密度可达的,则p和q是密度相连
的
密度可达和密度相连
MinPts = 5
Eps = 1 cm
p
p
p1
q
q
1. 请指出上图中p是从q出发直接密度可达的吗?
2. 请指出右边两个图中直接密度可达、密度可达、
密度相连的点对
p
q
o
DBSCAN: Density-Based Spatial Clustering of
Applications with Noise
• 算法
– 检查每个点的Eps邻域
• 如果是核心对象,则建立新簇
• 迭代的聚集直接密度可达的对象,合并密度可达簇
– 当不存在新点时,算法结束
• 对参数敏感
• 簇形状不限
Outlier
Border
Eps = 1cm
Core
MinPts = 5
DBSCAN: Sensitive to Parameters
17
聚类评估
• 聚类评估的天然准则
– 内部准则(聚类算法本身使用的准则)
– 高簇内相似度,低簇间相似度
水果聚类
– 一般评估意义不大
• 聚类评估的挑战
– 主观性
按种类:苹果/梨子/草莓
按味道:甜/酸/多汁/干
按大小:小/中/大
按季节:春/夏/秋/冬
按产地:热带/温带/寒带
按性质:热性/凉性/温性
– 由于聚类通常作为预处理/后处理的一部分,和应
用有关
命名实体消歧
检索结果聚类
聚类评估方法
• 直接评估
– 大规模的user study
• 几种典型的外部评估准则
– 纯度Purity
– 归一化互信息量Normalized mutual information
– 约当指数Rand index
– F-measure
聚类评估方法:纯度
•
需要一个分类的基准(benchmark)
1. 对于每一个簇,指定在簇内出现最多的类别为这
个簇的类别
2. 计算上述指定的正确率,即正确分类的实例/总数
•
聚类效果好,纯度接近1,否则接近0
分类基准:x,o, ◇
课堂小quiz:评估上图聚类结果的purity
结果:
Cluster1: x: 5/6
Cluster2:o:4/6
Cluster 3:◇:3/5
取平均:0.71
聚类评估方法:归一化互信息
• 纯度缺点
– 和聚类数目有关,每个实例一个簇,纯度=1
• 引入互信息的概念
• 标准化互信息NMI
互信息经常用于分类的特征选择,
量化了特征对于类别的指示程度。
简单的说互信息I(x;y)就是y对于x
的信息量增加
I(X;Y)=H(x)-H(x|Y)
– 范围[0,1],可以在不同聚类数目比较
分类基准:x,o, ◇
课堂小quiz:评估上图聚类结果的NMI
p(x=1,y=“x”)=5/17, p(x=2,y=“x”)=1/17
p(x=1)=6/17
p(y=“x”)=8/17
聚类评估方法
Rand指数&F-measure
• 聚类结果是一系列对实例对的决策
• 其中每一个决策可以是
–
–
–
–
TP:把相似对放在了同一个簇里
TN:把不相似对放在了不同簇里
FP:把不相似对放在了同一个簇里
FN:把不相似对放在了不同簇里
• Rand index= (TP+TN)/(TN+TP+FP+FN)
– 即精度
• F-measure考虑TP和TN的重要性是不同的
– 通常把相似对分开在不同簇里是更糟糕的决策
β>1
例子
分类基准:x,o, ◇
课堂小quiz:
评估上图聚类结果的RI和F-measure
1,计算聚类结果中决策总数(即实例对总数)
C172=136
2,计算TP
Cluseter 1 “x” C52 Cluseter 2 “o” C42 Cluseter 3 “x” C22 Cluseter 3 “◇” C32
=20
3,计算FP
Cluseter 1 C62 Cluseter 2 C62 Cluseter 3 C52
=40 – TP =20
4,计算TN
136-40-FN=72
5,计算FN
“x” 5x1+5x2+1x2=17 “o” 1x4=4 “◇” 1x3=3
=24
6,计算RI
7,计算F-measure(需给定β)