数据挖掘导论 之 聚类分析

来源:互联网 发布:网络服装品牌创建 编辑:程序博客网 时间:2024/05/19 06:36

这篇文章对《数据挖掘导论》中聚类分析这部分做一个总结。

聚类

  • 含义:根据在数据中发现的描述对象及其关系的信息,将数据对象分组
  • 目标:组内的对象相互之间是相似的,而不同组中的对象是不同的。组内的相似性越大,组间差别越大,聚类就越好。
  • 类型:
    • 划分聚类(partitional clustering):将数据对象划分成不重叠的子集,使得每个数据对象恰在一个子集中。
    • 层次聚类(hierarchical clustering):允许簇有子簇。
    • 互斥的(exclusive):每个对象都被指派到单个簇。
    • 重叠的(overlapping):一个对象同时属于多个组。
    • 模糊的(fuzzy):每个对象以一个0和1之间的隶属权值属于每个簇。
    • 完全聚类(complete clustering):每个对象指派到一个簇。
    • 部分聚类(partial clustering):数据集中某些对象不属于明确定义的组。
  • 簇类型:
    • 明显分离的:每个点到同簇中任一点的距离比到不同簇中所有点的距离更近。
    • 基于原型的:每个点到定义该簇的原型的距离比到其他簇的原型的距离更近。
      • 连续属性的数据:质心(所有点的平均值)
      • 数据具有分类属性:中心点
    • 基于密度的:簇是对象的稠密区域,被低密度的区域环绕。
  • 聚类方法
    • 基于划分的:K-Means, K-Medoids, Clarans算法
    • 基于层次的:Birch,Cure,Chameleon算法
    • 基于密度的:DBScan,Optics,Denclue算法
    • 基于网格的: Sting,Clique,Wave-cluster算法
    • 基于模型的

K-Means

  • 基于原型的聚类技术
  • 分类:K均值(用质心定义原型)K中心点(用中心点定义原型)
  • 过程:
    • 选择K个初始质心
    • 每个点指派到最近的质心,指派到一个质心的点集为一个簇
    • 根据指派到簇的点,更新每个簇的质心(最小化给定质心集的SSE)
    • 重复指派和更新步骤,直到簇不发生变化
  • 一些问题
    • 选择初始质心:多次运行,每次使用一组不同的随机初始质心,然后选取具有最小SSE的簇集。
    • 处理空簇:选择替补质心
      • 选择一个距离当前质心最远的点(消除对总平方和误差影响最大的点)
      • 从具有最大SSE的簇中选择一个替补质心(分裂簇并降低聚类的总SSE)
    • 离群点:发现离群点并删除它们
    • 用后处理降低SSE:交替使用簇分裂和簇合并
      • 增加簇个数来降低总SSE
        • 分裂一个簇:分裂最大SSE的簇
        • 引进一个新的质心:选择离所有簇最远的点作为新的质心||从所有点或具有最高SSE的点中随机选择
      • 减少簇个数
        • 拆散一个簇:删除使总SSE增加最少的簇的质心,并将簇的点重新指派到其他簇。
        • 合并两个簇:选择质心最接近的两个簇。
    • 增量更新质心:在点到簇的每次指派后,增量的更新质心,而不是到所有点都指派到簇中之后在进行更新
      • 每步都要0次或2次簇质心更新
        • 0次:一个点留在它的当前簇
        • 2次:一个点转移到新的簇
    • 二分K均值:为了得到K个簇,将所有点的集合分裂成两个簇,从这些簇中选取一个继续分裂,如此下去,直到产生K个簇。
  • 优点:有效
  • 缺点:
    • 不能处理非球形、不同尺寸、不同密度的簇
    • 仅限于具有中心概念的数据

层次聚类

  • 凝聚 V.S. 分裂
    • 凝聚:从点作为个体簇开始,每一步合并两个最接近的簇
    • 分裂:从包含所有点的某个簇开始,每一步分裂一个簇,直到仅剩下单点簇。
  • 表现方式:树状图(dendrogram)、嵌套簇图(nested cluster diagram)
  • 簇的邻近性:
    • 基于图的思想:
      • MIN:两个不同簇的任一点的最短距离
      • MAX:两个不同簇的任一点的最长距离
      • 组平均:不同簇的所有点对邻近度的平均值
    • 基于原型的思想:
      • 质心:簇质心之间的相似性
      • Ward方法:合并两个簇导致的SSE增加量
  • 主要问题

    • 缺乏全局目标函数 – 没有局部极小或很难选择初始点的问题
    • 处理不同大小簇的能力
      • 加权(weighted):平等的对待所有簇
      • 非加权(unweighted):考虑每个簇的点数
    • 合并决策是最终的:一旦做出合并两个簇的决策,以后就不能撤销。从而阻碍了局部最优标准变为全局最优标准。

    DBSCAN

  • 基于密度的聚类
  • 基于中心的方法:数据集中特定点的密度通过对该点Eps半径之内的点计数来估计。
    • 核心点(core point):该点的给定邻域内的点的个数超过给定的阈值MinPts
    • 边界点(border point):落在某个核心点的邻域
    • 噪声点(noise point):非核心点非边界点
  • 步骤:
    • 任意两个足够靠近(Eps内)的核心点放到一个簇中。
    • 任何与核心点足够靠近的边界点也放到与核心点相同的簇中。
    • 噪声点被丢弃。
  • 优点:抗噪声,能够处理任意形状和大小的簇
  • 缺点:不能处理密度变化很大的簇。不能处理高维数据。

簇评估

  • 指标:
    • 非监督的(内部指标):仅使用出现在数据集中的信息
      • 簇的凝聚性(cluster cohesion):确定簇中对象如何密切相关
      • 簇的分离性(cluster separation):确定某个簇不同于其他簇的地方
    • 监督的(外部指标):度量聚类算法发现的聚类结构与某种外部结构的匹配程度
    • 相对的:比较不同的聚类或簇
    • 轮廓系数(silhouette coefficient):结合了凝聚度和分离度
    • 邻近度矩阵:创建一个矩阵,每个数据点一行一列,矩阵的一个项为1,如果它所关联的一对点属于一个簇。其他项为0。
  • 簇有效性的度量
    • 熵:每个簇由单个类的对象组成的程度。
    • 纯度:簇包含单个类的对象的度量。
    • 精度:簇中一个特定类的对象所占的比例。
    • 召回率:簇包含一个特定类的所有对象的程度。
    • F度量:精度和召回率的组合。度量在多大程度上,簇只包含一个特定类的对象和包含该类的所有对象。
0 0