《数据挖掘概念与技术》读书笔记(四)

来源:互联网 发布:网络主播唱得最火的歌 编辑:程序博客网 时间:2024/06/07 19:59

八. 聚类分析的基本概念和方法

1. 聚类分析的典型要求:

可伸缩性、处理不同属性类型的能力、发现任意形状的簇、确定输入参数的要求、

处理噪声数据、增量聚类、对输入次序不敏感、聚类高维数据、基于约束的聚类、可解释性

 

2. 基本方法概述

划分方法:

    在数据集上进行一层划分,包括k-均值划分、k-中心点划分、CLARA(大型应用聚类)。

 

层次方法:

    创建给定数据对象集的层次分解,分为自底向上和自顶向下两类。该方法的一个缺陷是一旦一个步骤完成,它不能被撤销。 包括凝聚、分裂、使用聚类特征树的多阶段聚类、使用动态建模的多阶段层次聚类。

 

基于密度的方法:

    基本思想是只要邻域中的密度超过某个阈值,就继续增长给定的簇。该方法可以用来过滤噪声或离群点,并发现任意形状的簇。

包括DBSCAN(具有噪声应用的基于密度的空间聚类)、OPTICS()、DENCLUE(基于密度分布函数的聚类)。

 

基于网格的方法:

    把对象空间量化为有限个单元,形成一个网格结构。其主要优点是处理速度快,其速度独立于对象数,而仅依赖于量化空间中每一维的单元数。

包括STING(统计信息网格)、CLIQUE方法。

 

3. 聚类算法:

1). 划分方法

k-均值划分算法: 使用簇内变差度量簇的质量。将对象划分成k个簇,任意选择k个对象作其簇中心,根据簇中对象的均值,把每个对象分配到最相似的簇,然后更新簇中心,重新计算每个簇中对象的均值,迭代以上过程,当对象的重新分配不再发生,处理过程结束。

优点:相对可伸缩的和有效的。

缺点:不能保证收敛于全局最优解,常常终止于一个局部最优解;必须提供k值;对噪声和离群点敏感。

 

k-中心点划分:采用实际对象来代表簇,而不是均值,可以降低对离群点的敏感性。该方法是一个NP-困难问题。

 

2). 层次方法:

BIRCH(平衡迭代归约和聚类):使用聚类特征树的多阶段聚类,使用聚类特征来概括一个簇,使用聚类特征树来表示聚类的层次结构。其聚类特征是可加的。使用聚类特征概括簇可以避免存储个体对象或点的详细信息。

步骤: 1. 扫面数据库,建立一棵存放于内存的初始CF树。

           2. 采用某个聚类算法对CF树的叶结点进行聚类,把稀疏的簇当做离群点删除,而把稠密的簇合并为更大的簇。

CF树可以被动态地构造,即支持增量聚类。

CF树是一棵高度平衡的树,有分支因子和阈值两个参数。

分支因子:每个非叶结点的子女的最大数目

阈值:存储在树的叶结点中的子簇的最大直径。

 

优点:具有可伸缩性,支持增量聚类;克服了不能撤销先前步骤的缺陷;时间复杂度为O(n)。

缺点:不能很好地处理非球簇。

 

Chameleon:使用动态建模的多阶段层次聚类

根据两个簇的相对互连度和相对接近度来决定它们的相似度。

优点:具有更强的发现高质量任意形状的簇的能力。

缺点:最坏情况下,需要O(n2)的时间

 

3). 基于密度的方法:

DBSCAN: 一种基于高密度连通区域的基于密度的聚类,可以有效的发现任意形状的簇。

核心对象:一个对象在以e为半径的邻域内至少包含MinPts个对象

直接密度可达的:对于核心对象q,如果p在q的e邻域内,则p是从q直接密度可达的

密度可达的:如果存在一个对象链p1,p2, ...,pn,使得p1 = p, pn = q, 并且p(i+1)到p(i)是直接                     密度可达的,则p是从q密度可达的

密度相连的:两个对象p1,p2是密度相连的,如果存在一个对象q,使得p1、p2都是从q                                   密度可达的。

使用密度相连的闭包来发现连通的稠密区域作为簇,每个闭集都是一个基于密度的簇。

DBSCAN算法过程: 首先数据集所有对象都标记为未访问,随机选择一个未访问对象标记为已访问,检验其邻域内是否至少包含MinPts个对象,如果不是,则标记为噪声点,否则为其创建一个新的簇,添加到C中,继续添加对象,知道C不能再扩展。

优点:可以有效的发现任意形状的簇。

缺点:需要输入邻域半径e和MinPts参数。

 

OPTICS: 通过点排序识别聚类结构

基本思想:同时构造不同的聚类,将对象按照特定次序处理。选择关于最小的e值是密度可达的对象,以便较高密度的簇先完成。

核心距离:最小的e值,使得p的e邻域内至少有MinPts个对象。

可达距离:使p从q密度可达的最小半径值。

算法步骤:

1. 从数据库中选择任意对象作为当前对象,确定核心距离并设置可达距离为未定义。

2. 输出当前对象,如果它不是核心对象,则转向OrderSeeds(存储每个对象的核心距离和可达距离)表的下一个对象;如果是核心对象,则对每个该对象邻域内的对象更新可达距离,如果对象尚未处理,则加入OrderSeeds表中。

3. 继续迭代直到OrderSeeds和输入为空。

优点:不需要用户输入参数

 

DENCLUE:基于密度分布函数的聚类

基本思想:DBSCAN和OPTICS算法中,密度估计对所使用的半径值非常敏感。可以使用核密度估计解决。

密度吸引点: 估计的密度函数的局部最大点。DENCLUE使用一个噪声阈值来避免平凡的局部最大点。 非平凡密度吸引点都是簇中心。

通过密度吸引点,使用一个步进式爬山过程,把待分析的数据分配到簇中。

优点:课发现任意形状的簇;抗噪声的。

 

 

4). 基于网格的方法:

1).STING(统计信息网格)

基本思想:将输入对象的空间区域划分成矩形单元,空间可以用分层和递归进行划分。每个网格单元的属性的统计信息被作为统计参数预先计算和存储。

优点:独立查询;网格结构有利于并行处理和增量更新;效率高,只需扫描一次数据库,时间复杂度为O(n)

缺点:聚类质量取决于网格结构的最底层粒度,粒度很细处理代价显著增加,太粗会降低聚类质量。

 

2).CLIQUE:类似于Apriori的子空间聚类方法

基本思想:使用稠密单元关于唯独的单调性。单调性:一个k维单元c至少有m个点,仅当c的每个(k-1)维投影至少有m个点。

稠密单元:一个单元是稠密的,如果映射到它的对象超过密度阈值。

步骤: 1. 划分数据空间为若干不重叠的举行单元,从中识别出稠密单元

           2. 利用最小描述长度(MDL)原理,使用最大区域来覆盖连接的稠密单元。

优点:对输入对象顺序不敏感;可伸缩的

缺点:依赖于网格大小和密度阈值

 

4. 聚类评估

1). 估计聚类趋势:评估数据集是否存在非随机结构,仅当数据为非随机结构才有意义。

霍普金斯统计量: 确定随机变量在多大程度上不同于数据空间的均匀分布。

 

2). 确定簇数:肘方法(使用簇 内方差和关于簇数的曲线的拐点)、交叉验证。

 

3). 测量聚类质量

外在方法:

         簇的同质性:簇越纯,聚类越好

    簇的完全性:两个对象属于相同类别,则应该被分配到相同的簇。

    碎布袋准则:把一个异种对象放入纯的簇中应该比放入碎布袋受到更大的处罚。

    小簇保持准则:把小类别划分成小片比将大类别划分成小片更有害。

精度和召回率

 

内在方法:

轮廓系数:度量簇的分离情况和簇的紧凑情况。

 

5. 高级聚类分析

基于概率模型的聚类

1). 模糊聚类:允许一个对象属于多个簇。

2). 期望最大化算法:一种框架,它逼近统计模型参数的最大似然或最大后验估计。

期望步:根据当前的模糊聚类或概率簇的参数,把对象指派到簇中。

最大化步:发现新的聚类或参数,最小化模糊聚类的SSE或基于概率模型的聚类的期望似然。

优点:使用合适的统计模型捕获潜在的簇。

缺点:可能收敛于局部极大;对于数据集只包含很少观测数据点,EM算法计算开销很大。

 

聚类高级数据:在高维空间中,传统的距离度量可能被一些维上的噪声所左右。主要包括子空间聚类方法和维归约方法。

子空间聚类:在原始空间的子空间上搜索簇,包括子空间搜索方法、基于相关性的聚类方法、双聚类方法。

 

聚类图和网络数据

相似性度量:

                   测地距:离心率(一个点与其他点的最大测地距)、半径(所有顶点的最小离心率)、                          直径(所有顶点的最大离心率)

                   SimRank:基于网络随机游走可达性。

图聚类方法:最小割未必导致好的聚类,最稀疏割(最小化跨越划分的边数)是NP困难的。

 

具有约束的聚类:当聚类违反软性约束时,在聚类上施加一个罚。

原创粉丝点击