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(需给定β)