230 likes | 359 Views
聚类. 林琛 博士 , 副 教授. 本讲要点. 聚类概念 聚类方法 划分法: k-means 层次聚类 基于密度的方法: DBScan 聚类的效果评估. 什么是聚类分析. 把对象分成若干个簇 同簇内的对象彼此相似 不同簇内的对象彼此相异 聚类的作用 独立应用 论文作者消歧 可视化 展现微博区域 预处理. 聚类分析的几种方法. 划分方法 将数据对象分为几组 每 组至少包含一个对象 每个 对象属于一组 层次 方法 凝聚:自底向上 分裂:自顶向下 基于密度 的方法 根据邻域中的对象数量聚类. 聚类分析的一般准备. 向量化.
E N D
聚类 林琛 博士,副教授
本讲要点 • 聚类概念 • 聚类方法 • 划分法:k-means • 层次聚类 • 基于密度的方法:DBScan • 聚类的效果评估
什么是聚类分析 • 把对象分成若干个簇 • 同簇内的对象彼此相似 • 不同簇内的对象彼此相异 • 聚类的作用 • 独立应用 • 论文作者消歧 • 可视化 • 展现微博区域 • 预处理
聚类分析的几种方法 • 划分方法 • 将数据对象分为几组 • 每组至少包含一个对象 • 每个对象属于一组 • 层次方法 • 凝聚:自底向上 • 分裂:自顶向下 • 基于密度的方法 • 根据邻域中的对象数量聚类
聚类分析的一般准备 向量化 相异度矩阵
相似度/相异度(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 Step 1 Step 2 Step 3 Step 4 agglomerative (AGNES) a a b b a b c d e c c d e d d e e divisive (DIANA) Step 3 Step 2 Step 1 Step 0 Step 4 层次聚类 • 使用相异度矩阵 • 自顶向下或自底向上
类间距离 单链接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是密度相连的
p q o 密度可达和密度相连 MinPts = 5 Eps = 1 cm p p1 q 请指出上图中p是从q出发直接密度可达的吗? 请指出右边两个图中直接密度可达、密度可达、密度相连的点对 p q
Outlier Border Eps = 1cm MinPts = 5 Core DBSCAN: Density-Based Spatial Clustering of Applications with Noise • 算法 • 检查每个点的Eps邻域 • 如果是核心对象,则建立新簇 • 迭代的聚集直接密度可达的对象,合并密度可达簇 • 当不存在新点时,算法结束 • 对参数敏感 • 簇形状不限
聚类评估 • 聚类评估的天然准则 • 内部准则(聚类算法本身使用的准则) • 高簇内相似度,低簇间相似度 • 一般评估意义不大 • 聚类评估的挑战 • 主观性 • 由于聚类通常作为预处理/后处理的一部分,和应用有关 水果聚类 按种类:苹果/梨子/草莓 按味道:甜/酸/多汁/干 按大小:小/中/大 按季节:春/夏/秋/冬 按产地:热带/温带/寒带 按性质:热性/凉性/温性 命名实体消歧 检索结果聚类
聚类评估方法 • 直接评估 • 大规模的user study • 几种典型的外部评估准则 • 纯度Purity • 归一化互信息量Normalized mutual information • 约当指数Rand index • F-measure
聚类评估方法:纯度 • 需要一个分类的基准(benchmark) • 对于每一个簇,指定在簇内出现最多的类别为这个簇的类别 • 计算上述指定的正确率,即正确分类的实例/总数 • 聚类效果好,纯度接近1,否则接近0 结果: Cluster1: x: 5/6 Cluster2:o:4/6 Cluster 3:◇:3/5 取平均:0.71 分类基准:x,o, ◇ 课堂小quiz:评估上图聚类结果的purity
聚类评估方法:归一化互信息 • 纯度缺点 • 和聚类数目有关,每个实例一个簇,纯度=1 • 引入互信息的概念 • 标准化互信息NMI • 范围[0,1],可以在不同聚类数目比较 互信息经常用于分类的特征选择,量化了特征对于类别的指示程度。 简单的说互信息I(x;y)就是y对于x的信息量增加 I(X;Y)=H(x)-H(x|Y) 分类基准: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 Cluseter2 “o” C42 Cluseter3 “x” C22Cluseter3 “◇” C32 =20 3,计算FP Cluseter 1 C62Cluseter2 C62Cluseter3 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(需给定β)