基于《数据挖掘导论》这本书,总结一下聚类的基本概念和知识点 聚类 一、 实用的聚类
汇总 依赖分析类型、原型个数和原型代表数据的精度,汇总结果可以与使用所有数据得到的结果相媲美压缩 每个对象用与它所在的簇相关联的索引表示,这类压缩称作向量量化,常用于图像、声音和视频数据,此类数据特点: (1) 许多数据对象之间高度相似, (2) 某些信息丢失是可以接受的 (3) 希望大幅度压缩数据量有效的发现最近邻 找最近的邻点,计算近邻簇中对象的距离,其中两个簇的领近性用其原型之间的距离来测量二、 聚类的主要问题 1. 将数据对象划分为簇集合的不同方法 2. 簇的类型
三、 聚类分析
在数据中发现描述对象及其关系的信息,将数据对象分组。目标:组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。 组内的相似性(同质性)越大(内聚度, Cohesion),组间的差别越大(内聚度, Coupling),聚类就越好。聚类分析分为监督分类(supervised classification),非监督分类(unsupervised classification)。通常如无特殊提示,则默认为监督分类。术语:分割(segmentation), 划分(partitioning) 划分(partitioning)一词通常用在将图分成子图相关的技术,与聚类关联较少 分割(segmentation)通常指使用简单的技术将数据分组;如:图像可以根据像素亮度或颜色分割;人可以根据他们的收入分组等。图划分、图像分割和市场分割等许多工作都与聚类分析有关四、 不同的聚类类型
整个簇集合通常称为聚类,可分为:层次的(嵌套的),划分的(非嵌套的),或称之为层次聚类(partitional clustering) : 简单地将数据对象集划分成不重叠的子集(簇),使得每个数据对象恰在一个子集中。图b-d
若允许簇有子簇,则可得一个层次聚类(hierarchical clustering)。层次聚类是嵌套簇的集族,组织成一棵树。一般通过给定网络的拓扑结构定义网络节点间的相似性或距离,然后采用单连接层次聚类或全连接层次聚类将网络节点组成一个树状图层次结构。其中,树的叶节点表示网络节点,非叶节点一般由相似或距离接近的子节点合并而得到。[1]
互斥、重叠的和模糊的 图8-1展示的簇都是互斥的(exclusive),因为每个对象都指派到单个簇。在部分情况,可以合理地将一个点放到多个簇中,这种情况可以非互斥聚类更好地处理。 重叠(overlapping)或非互斥的(non-exclusive)聚类用来反映一个对象同时属于多个组(类)这一事实。如:一个人在大学中可能是学生也同时是雇员。
模糊聚类 每个对象属于介于0(绝对属于)及1(绝对不属于)之间的权值属于任何一个集合 (1) 模糊聚类中,通常施加一个约束条件:每个对象的权值之和必须等于1。 (2) 概率聚类技术计算每个点属于每个簇的概率,并且这些概率的和必须等于1。 (3) 局限:由于任何对象的所属权值或概率之和等于1,因此模糊和概率聚类并不能真正地解决一个对象属于多个类的多类问题。
方法最适用场景:当对象接近多个簇时,避免将对象随意地指派到一个簇。 实践中,通常通过将对象指派到具有最高所属权值或概率的簇,将模糊或概率聚类转换成互斥聚类。
完全的和部分的 (1) 完全聚类(complete clustering) 将每个对象指派到一个簇。 如:用聚类组织用于浏览的文档应用,必须保证能够浏览所有文档 (2) 部分聚类(partial clustering) 因数据集中某些对象可能不属于明确定义的组。(一些对象为噪声、离群点或“不感兴趣的内容”) 如:搜索特定主题的文档簇五、 不同类型的簇
明显分离的:图8-2(a) 不必是球形的,可以具有任意形状 基于原型的 图8-2(b) 原型可以视为最靠近中心的点,通常把基于原型的簇看作基于中心的簇(center-based cluster),这种簇呈球状。基于图的 图8-2© 边代表对象之间的联系,簇可定义为连通分支(connected component),即互相连通但不与组外对象连通的对象组。 例子:基于邻近的簇(contiguity-based cluster) 两个对象是相连的,仅当它们的距离在指定的范围之内。如图8-2© 但如果数据具有噪声时就可能出现问题,一个小的点桥就可能合并两个不同的簇基于密度的 图8-2d 当簇不规则或互相盘绕,并且有噪声和离群点时,常用基于密度的簇定义。 图8-2d的数据,簇的基于邻近的定义就行不通,因为噪声将形成簇间的桥。共同性质的(概念簇) 图8-2e六、 常用的聚类分析技术
K-Means K-Means是基于原型的、划分的聚类技术。它试图发现用户指定的个数K的簇层次凝聚聚类算法(Hierarchical Agglomerative Clustering) 步骤:1.start 2. 每个点作为一个单点簇 3. 重复地合并两个最近的簇 4. 直到产生单个的、包含所有点的簇。 部分可用基于图的聚类来解释,其他的则于基于原型的方法解释。DBSCAN 为一种产生划分聚类的基于聚类算法,簇的个数为random,低密度的点被视为噪声而忽略,因此DBSCAN不产生完全聚类。