1、第3章 聚类分析,数据挖掘与知识发现(第2版)吉林大学计算机科学与技术学院 李雄飞,数据挖掘与知识发现(第2版),(49-2),聚类分析,聚类是对物理的或抽象的对象集合分组的过程。本章主要介绍如下几个方面的内容: 聚类算法的特点 聚类分析中的数据类型 基于划分的方法 基于层次的方法 基于密度的方法 基于网格的方法 基于模型的方法 孤立点分析,数据挖掘与知识发现(第2版),(49-3),引言,聚类(Clustering) 是对物理的或抽象的对象集合分组的过程 聚类生成的组称为簇(Cluster),簇是数据对象的集合。簇内部的任意两个对象之间具有较高的相似度,而属于不同簇的两个对象间具有较高的相异
2、度。 相异度可以根据描述对象的属性值计算,对象间的距离是最常采用的度量指标。 聚类最初来自数学、统计学和数值分析;机器学习领域把聚类描述成隐含模式,发现簇的过程是无监督学习;聚类是模式识别的重要手段。 聚类的特点 用少量的簇描述大量数据的特征 数据简洁 丢失精细部分 聚类在数据挖掘实践中的应用 数据预处理 科学数据探索 信息获取与文本挖掘 空间数据库应用 CRM,市场分析Web分析医学诊断计算生物学,数据挖掘与知识发现(第2版),(49-4),引言,从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。 包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。
3、从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。 与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。 从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。 就数据挖掘功能而言,聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。 聚类分析还可以作为其他数据挖掘任务(如分类、关联规则)的预处理步骤。,数据挖掘与知识发现(第2版),(49-5),引言,聚类算法的特征 处理不同类型属性的能力 对大型数据集的可
4、扩展性 处理高维数据的能力 发现任意形状簇的能力 处理孤立点或“噪声”数据的能力 对“噪声”数据具有较低的敏感性 合理地发现孤立点 对数据顺序的不敏感性 对先验知识和用户自定义参数的依赖性 聚类结果的可解释性和实用性 基于约束的聚类,数据挖掘与知识发现(第2版),(49-6),引言,聚类算法分类 基于划分的方法 k-means算法 基于密度的算法 基于层次的方法 汇聚算法 分裂算法 基于网格的方法 非数据与数值属性同时出现的方法 基于约束的方法 运用机器学习技术的方法。 梯度下降法和人工神经网络法 进化模型 有扩展性的算法 面向高维数据集的算法,数据挖掘与知识发现(第2版),(49-7),数据
5、类型和数据结构,数据类型 区间标度型:用线性标度描述的连续度量。(如,重量、高度、经纬度坐标、温度等) 布尔型:若两个状态同等重要,称为对称的,否则是不对称的。 标称型:有若干个离散的取值。 序数型:取离散的序数值,序列排序是有意义的。 比例标度型:在非线性标度上取正的度量值。 数据结构,数据矩阵,相异度矩阵,数据挖掘与知识发现(第2版),(49-8),计算对象之间的距离,距离函数距离函数应满足的条件是:(1) xixj = 0,当且仅当 xi = xj (2) 非负性:xixj 0 (3) 对称性:xixj =xjxi (4) 三角不等式:xixk xixj +xj xk ,数据挖掘与知识发
6、现(第2版),(49-9),计算对象之间的距离,设两个对象的p维向量分别表示为xi =(xi1,xi2,xip)T 和 xj=(xj1,xj2,xjp)T ,有多种形式的距离度量可以采用。如, 闵可夫斯基(Minkowski)距离 曼哈坦(Manhattan)距离 欧几里得(Euclidean)距离 切比雪夫(Chebyshev)距离 马哈拉诺比斯(Mahalanobis)距离,数据挖掘与知识发现(第2版),(49-10),计算对象之间的距离,闵可夫斯基(Minkowski)距离:其中q1, 。 曼哈坦(Manhattan)距离:欧几里德(Euclidean)距离:切比雪夫(Chebyshev
7、)距离:马哈拉诺比斯(Mahalanobis)距离:其中A为正定矩阵。,数据挖掘与知识发现(第2版),(49-11),计算对象之间的距离,令对象的维数p=2,在二维空间中考察到原点距离为常数的所有点形成的形状。即,考察集合x| |x|=c的形状。 菱形:曼哈坦距离; 圆形:欧几里德距离; 方形:切比雪夫距离。,数据挖掘与知识发现(第2版),(49-12),基于划分的聚类方法,已知由n个对象(或元组)构成的数据库,对其采用目标函数最小化的策略,通过迭代把数据分成k个划分块,每个划分块为一个簇(cluster),这就是划分方法。 划分方法满足两个条件: 每个簇至少包含一个对象; 每个对象必需属于且
8、仅属于某一个簇。 常见的划分方法: k-means(k-均值)方法 k-medoids(k-中心点)方法,数据挖掘与知识发现(第2版),(49-13),k-means聚类算法,k-均值(K-means)聚类算法的核心思想是通过迭代把数据对象划分到不同的簇中,以求目标函数最小化,从而使生成的簇尽可能地紧凑和独立。 设p表示数据对象,ci表示簇Ci的均值,通常目标函数采用平方误差准则函数:这个目标函数采用欧几里得距离度量。如果采用Mahalanobis距离可以对椭圆形的簇进行分析。 k-means算法步骤如下: 首先,随机选取k个对象作为初始的k个簇的质心; 然后,将其余对象根据其与各个簇质心的距
9、离分配到最近的簇;再求新形成的簇的质心。 这个迭代重定位过程不断重复,直到目标函数最小化为止。,数据挖掘与知识发现(第2版),(49-14),k-means聚类算法,k-means算法 输入:期望得到的簇的数目k,n个对象的数据库。 输出:使得平方误差准则函数最小化的k个簇。 方法: 选择k个对象作为初始的簇的质心; repeat 计算对象与各个簇的质心的距离,将对象划分到距离其最近的簇; 重新计算每个新簇的均值; Until 簇的质心不再变化。,数据挖掘与知识发现(第2版),(49-15),k-means聚类算法,k-means算法特点 (1)算法的计算复杂度为O(nkt),其中,n为数据集
10、中对象的数目,k为期望得到的簇的数目,t为迭代的次数。在处理大数据库时也是相对有效的(可扩展性)。 (2)应用局限性: 用户必须事先指定聚类簇的个数 常常终止于局部最优 只适用于数值属性聚类(计算均值有意义) 对噪声和异常数据也很敏感 不适合用于发现非凸形状的聚类簇,数据挖掘与知识发现(第2版),(49-16),k-means算法改进工作,算法改进工作主要集中在如下几个方面: 参数k的选择 差异程度计算 聚类均值的计算方法等 例如: 先应用自下而上层次算法来获得聚类数目,并发现初始分类,然后再应用循环再定位(k-mean)来帮助改进分类结果。 k-modes:用新的相异性度量方法处理对象,用基
11、于频率的方法修改簇的modes。 k-prototype: 将k-means扩展到处理符号属性。 EM(期望最大化) 概率权值,聚类边界不严格 可扩展性,识别数据中存在的三种类型区域,数据挖掘与知识发现(第2版),(49-17),k-medoids算法,k-means利用簇内点的均值或加权平均值ci(质心)作为簇Ci的代表点。对数值属性数据有较好的几何和统计意义。对孤立点是敏感的,如果具有极大值,就可能大幅度地扭曲数据的分布。 k-中心点(k-medoids)算法是为消除这种敏感性提出的,它选择簇中位置最接近簇中心的对象(称为中心点)作为簇的代表点,目标函数仍然可以采用平方误差准则。 k-me
12、doids算法处理过程 首先,随机选择k个对象作为初始的k个簇的代表点,将其余对象按与代表点对象的距离分配到最近的簇; 然后,反复用非代表点来代替代表点,以改进聚类质量。(用一个代价函数来估计聚类质量,该函数度量对象与代表点对象之间的平均相异度。),数据挖掘与知识发现(第2版),(49-18),k-medoids算法,k-medoids算法 输入:n个对象的数据库,期望得到的k个聚类簇 输出:k个簇,使所有对象与其所属簇中心点的偏差总和最小化 方法: 选择k个对象作为初始的簇中心 repeat 对每个对象,求离其最近的簇中心点,并将其分配到该中心点代表的簇 随机选取非中心点Orandom 计算
13、用Orandom 代替Oj 形成新集合的总代价S if S0 then 用Orandom代替Oj,形成新的k个中心点的集合 until 不再发生变化,数据挖掘与知识发现(第2版),(49-19),k-medoids算法,K-medoids算法特点 (1)优点: 对属性类型没有局限性; 鲁棒性强:通过簇内主要点的位置来确定选择中心点,对孤立点和噪声数据的敏感性小。 (2)不足: 处理时间要比k-mean更长 用户事先指定所需聚类簇个数k。,数据挖掘与知识发现(第2版),(49-20),与k-medoids相关的算法,PAM(Partitioning Around Medoid) 是最早提出的k-
14、中心点算法之一; 总在中心点周围试图寻找更好的中心点; 针对各种组合计算代价; 不足在于n和k较大时,时间代价太大。 CLARA(Clustering LARge Application) 是面向大型数据库的划分方法; 是基于抽样的方法; 先从数据集中抽取若干样本,在每份样本上使用PAM算法,求得抽样数据的中心点。 有效性取决于抽样的合理性。如果样本偏斜,产生的聚类结果也不会很好。,数据挖掘与知识发现(第2版),(49-21),EM算法,期望最大化(Expectation Maximization,EM)算法不将对象明确地分到某个簇,而是根据表示隶属可能性的权来分配对象。 在实际应用中,相当多
15、的问题属于数据残缺问题。不能直接观察到的变量(属性)称为隐含变量,任何含有隐含变量的模型都可以归为数据残缺问题。 EM算法是解决数据残缺问题的有效的算法。 EM聚类:假定存在一个离散值的隐含变量C,其取值为c1,c2,ck 。对于所有n个对象,隐含变量值是未知的。聚类的目的是估计出每一个观察值x(i)(1in)对应的C的取值。,数据挖掘与知识发现(第2版),(49-22),EM算法,D=x(1), x(2), x(n)为n个观察到的数据向量组成的集合。 H=z(1), z(2), z(n)表示隐含变量Z的n个值。 分别与观察到的数据点一一对应,即z(i)与数据点x(i)相联系,z (i)表示数
16、据x(i)的不可见聚类标签。 可以把观察到的数据的对数似然写为:(3.10)其中右侧的求和项表明,观察到的似然可以表示为观察到的数据和隐藏数据的似然对隐藏值的求和。(3.10)式中假定了一个以未知参数为参量的概率模型p(D, H|)。,数据挖掘与知识发现(第2版),(49-23),EM算法,设Q(H)为残缺数据H的任意概率分布。可以用以下方式表示似然:函数F(Q,)是要最大化的似然函数l()的下限。,Jensen不等式,数据挖掘与知识发现(第2版),(49-24),EM算法,EM算法重复以下两个步骤直至收敛: (1)E步骤:固定参数,使F相对于分布Q最大化:(2)M步骤:固定分布Q(H),使F
17、相对于参数最大化:在E步骤中,以参数向量k的特定设置为条件,估计隐藏变量的分布; 在M步骤中,保持Q不变,选取新的参数k1,使观察到的数据的期望对数似然最大化。 通过E步骤和M步骤的迭代,求出收敛的参数解。,数据挖掘与知识发现(第2版),(49-25),EM算法,例3.1 EM算法应用于估计正态混合模型的参数。设测量数据x是一维的,假定数据来自于K个潜在的正态分布。没有观察到分量的标签,因此不知道每个数据来自哪一个分量分布。希望拟和的正态混合模型为:其中,k和k分别为第k个分量的均值和标准差,k 是数据点属于第k个分量的先验概率。 解:参数向量为=1, k, 1, k, 1, k,假定此时知道
18、的值,则对象x来自第k个分量的概率为:上式是E步骤,可以利用以下各式估计k ,k ,k 。 下面是M步骤:,数据挖掘与知识发现(第2版),(49-26),EM算法,E步骤和M步骤形成迭代关系, 先取k ,k ,k 的初始值,估计P(k|x), 然后更新k ,k ,k , 再用新的参数进行下一次迭代,直到收敛判断成立(如似然的收敛或模型参数达到某个稳定点)。解毕。,数据挖掘与知识发现(第2版),(49-27),层次聚类,层次聚类按数据分层建立簇,形成一棵以簇为节点的树,称为聚类图。 自底向上层次聚合,称为凝聚的层次聚类。 自顶向下层次分解,称为分裂的层次聚类。 凝聚的层次聚类:开始时把每个对象作
19、为一个单独的簇,然后逐次对各个簇进行适当合并,直到满足某个终止条件。 分裂的层次聚类:开始时将所有对象置于同一个簇中,然后逐次将簇分裂为更小的簇,直到满足某个终止条件。,数据挖掘与知识发现(第2版),(49-28),层次聚类,簇的凝聚或分裂要遵循一定的距离(或相似度)准则。 常见的簇间距离度量方法如下: 1.最小距离(单链接方法):2.最大距离(完全链接方法):3.平均距离(平均链接方法):4.均值的距离(质心方法):,数据挖掘与知识发现(第2版),(49-29),层次聚类,例3.2 图3.3给出了凝聚的层次聚类方法AGNES、分裂的层次聚类方法DIANA的处理过程。其中,对象间距离函数采用欧
20、氏距离,簇间距离采用最小距离。在AGNES中,选择簇间距离最小的两个簇进行合并。而在DIANA中,按最大欧氏距离进行簇分裂。,数据挖掘与知识发现(第2版),(49-30),层次聚类,层次聚类方法的优点: 可以在不同粒度水平上对数据进行探测, 容易实现相似度量或距离度量。 层次聚类方法的缺点: 单纯的层次聚类算法终止条件含糊(需人为设定), 执行合并或分裂簇的操作后不可修正,可能导致聚类结果质量很低。 可扩展性较差,需要检查和估算大量的对象或簇才能决定簇的合并或分裂。 通常考虑把层次聚类方法与其他方法(如迭代重定位方法)相结合来解决实际聚类问题。 层次聚类和其他聚类方法的有效集成可以形成多阶段聚
21、类,能够改善聚类质量。这类方法包括BIRCH、CURE、ROCK、Chameleon等。,数据挖掘与知识发现(第2版),(49-31),BIRCH算法,BIRCH算法(Balanced Iterative Reducing and Clustering using Hierachies)利用层次方法进行平衡迭代归约和聚类。首先将对象划分成树形结构,然后采用其他聚类算法对聚类结果求精。 BIRCH的核心概念是聚类特征和聚类特征树(CF树),并用于概括聚类描述。 某子簇中含有N个d维数据点Xi(i=1, 2,N),该子簇的聚类特征定义为一个三元组其中,N为子簇中点的数目; 为N个点的线性和,即 ,
22、 反映簇的质心位置;SS是N个点的平方和,即 ,SS反映簇的大小(凝聚程度)。 定理3.1(CF可加性定理) 假设有两个不交的簇的聚类特征分别为和 ,由这两个合并形成的新簇的聚类特征CF为:,数据挖掘与知识发现(第2版),(49-32),BIRCH算法,CF树存储了层次聚类的聚类特征。它是一棵带有两个参数的高度平衡的树,这两个参数为分支因子B和阈值T。 非叶子节点至多有B个形如CFi, childi 的项(i=1, 2,B)。 “childi”是指向第i个孩子节点的指针, CFi是该孩子节点表示的子簇的聚类特征。 非叶子节点表示由所有孩子节点表示的子簇组合形成的簇。 叶子节点至多包含L个项,形
23、如CFi (i=1, 2, L)。 有两个指针“prev”和“next”,用于把所有叶子连成链。 叶子节点表示由相应项描述的子簇形成的簇。 叶子节点的项满足阈值T,T表示叶子节点中子聚类的最大直径(或半径)。,数据挖掘与知识发现(第2版),(49-33),BIRCH算法,BIRCH算法: 采用多阶段聚类技术,对数据集合进行单遍扫描后生成初步簇,再经过一遍或多遍扫描改进聚类质量, CF树的重建类似于B树构建中的节点插入和节点分裂 。 算法优点: 对大型数据库的高效性和可扩展性 支持增量聚类 复杂度为O (n) 算法缺点: CF树对节点中包含项的数目有限制,这可能导致节点并未对应实际数据集的一个自
24、然簇。 不适合发现非球形的簇。,数据挖掘与知识发现(第2版),(49-34),CURE算法,CURE(利用代表点聚类,Clustering Using Representatives)算法是介于基于质心方法和基于代表对象点方法之间的策略。 CURE算法不是利用质心或单个代表对象点来代表一个簇,而是首先在簇中选取固定数目的、离散分布的点,用这些点反映簇的形状和范围。然后把离散的点按收缩因子 向簇的质心收缩。收缩后的离散点作为簇的代表点。两个簇的距离定义为代表点对(分别来自两个簇)距离的最小值,在CURE算法的每一步合并距离最近的两个簇。 调节收缩因子,0, 1,可以让CURE发现不同形式的簇。当
25、=1时,CURE还原为基于质心的方法。当=0时,CURE还原为MST(最小生成树)方法。 CURE算法特点: 可以发现非球形及大小差异较大的簇。 对噪声不敏感。,数据挖掘与知识发现(第2版),(49-35),Chameleon算法,Chameleon算法是一种采用动态建模技术的层次聚类算法。 Chameleon算法分两个步骤: 第一步利用图划分算法将数据对象聚类为若干相对较小的子聚类; 另一步是采用凝聚的层次聚类算法合并子簇,从而发现真实的簇。 Chameleon中数据项的稀疏图表示采用k-最近邻图方法。 k-最近邻图中每个顶点表示一个数据对象。 如果对象u是对象的k-最近似点之一,或是u的k
26、-最近似点之一,则在表示u和的顶点间存在一条边。 把对象所在区域的密度作为边的权重,权重可以反映数据空间的总体密度分布,应该对密集区域和稀疏区域的数据均匀建模。 由于Chameleon算法建立在稀疏图基础之上,所以每一个簇是数据集原始稀疏图的一个子图。,数据挖掘与知识发现(第2版),(49-36),Chameleon算法,Chameleon考查两个簇的相对互联度RI和相对接近度RC,利用动态建模框架来决定簇间的相似度。 簇Ci和Cj之间的相对互联度RI(Ci, Cj)定义为:其中,EC(Ci, Cj)是把由Ci和Cj组成的簇分裂为Ci和Cj的边割集;EC(Ci)是将Ci对应的子图划分为大致相等
27、的两部分需截断的边割集(最小截断等分线上的边)。 簇Ci和Cj之间的相对接近度RC(Ci, Cj)定义为:其中, 是连接Ci和Cj顶点的边的平均权重; 是Ci在EC (Ci)中的边的平均权重;Ci表示Ci中数据点的个数。实际上,RC是相对于两个簇内部接近度对簇间绝对接近度的规范化。采用RC避免了将小而稀疏的簇合并到大而密集的簇。,数据挖掘与知识发现(第2版),(49-37),Chameleon算法,Chameleon选择RI和RC都高的簇进行合并,实质上是合并既有良好互联性又相互接近的两个簇。因此,可以定义一个由RI和RC组合而成的函数,选择使该函数取最大值的一对簇进行合并。例如,可以采用下述
28、形式:RI (Ci, Cj) RC (Ci, Cj) 其中,是用户定义的参数。1时,侧重于相对接近度;1时,侧重于相对互联度。,数据挖掘与知识发现(第2版),(49-38),基于密度的聚类方法,大型空间数据库中可能含有球形、线形、延展形等多种形状的簇,要求聚类算法应具有: 发现任意形状簇的能力。 在大型数据库上具有高效性。 基于密度的方法主要有两类 基于连通性的算法 包括DBSCAN、GDBSCAN、OPTICS、DBCLASD等。 基于密度函数的算法 如,DBNCLUE等算法。,数据挖掘与知识发现(第2版),(49-39),DBSCAN算法,DBSCAN(Density Based Spat
29、ial Clustering of Applications with Noise)算法是一种基于密度的聚类算法,它将足够高密度的区域划分为簇,能够在含有“噪声”的空间数据库中发现任意形状的簇。点的邻域的形状取决于两点间的距离函数dist (p, q)。 例如,采用二维空间的曼哈坦距离时,邻域的形状为矩形。 定义3.1 点p的-邻域记为N(p),定义如下:N(p)=qD|dist (p, q) 定义3.2 如果p,q满足下列条件:pN(q),N(q)MinPts,则称点p是从点q关于和MinPts直接密度可达的。MinPts为数据点个数。 直接密度可达关系在核心点对间是对称的,在核心点和边界点
30、间直接密度可达关系不是对称的。 定义3.3 如果存在一个点的序列p1, p2, pn,p1= q,pn=p,pi+1是从pi直接密度可达的,则称点p是从点q关于和MinPts密度可达的。 密度可达是直接密度可达的扩展,密度可达关系满足传递性,但不满足对称性。,数据挖掘与知识发现(第2版),(49-40),DBSCAN算法,数据挖掘与知识发现(第2版),(49-41),DBSCAN算法,定义3.4 如果存在一个点o,p和q都是从点o关于和MinPts密度可达的,则称点p是从点q关于和MinPts密度相连的。 密度相连是一个对称关系。密度可达的点之间的密度相连关系还满足自反性。 定义3.5 令D表
31、示数据点的集合,若D的非空子集C满足下列条件: (1) 对任意p和q,若pC且q是从p关于和MinPts密度可达的,则有qC。(最大性) (2) p, qC : p与q是关于和MinPts密度相连的。(连通性) 则称C是基于密度的簇。基于密度的簇是基于密度可达的最大的密度相连的点的集合。 定义3.6 令C1, C2, Ck是数据库中分别关于参数i和MinPtsi构成的簇(i=1, 2, k),则定义“噪声”为数据库D中不属于任何簇的数据点的集合,即集合pD| i : pC i ,数据挖掘与知识发现(第2版),(49-42),DBSCAN算法,引理3.1 令p为数据库D中的一个点,N(p)Min
32、Pts,则集合O=o|oD且o是从p关于和MinPts密度可达的 是一个关于和MinPts的簇。 引理3.2 令C为一个关于和MinPts的簇,p为C中某个满足N(p)MinPts的点,则C等于集合O=o|oD且o是从p关于和MinPts密度可达的。 DBSCAN算法: 输入:给定参数和MinPts 方法: (1)从数据库中任意选取一个满足核心点条件的点作为种子; (2)检索从种子点密度可达的所有点,获得包括种子点在内的簇。 讨论:虽然DBSCAN算法可以对数据对象进行聚类,但需要由用户确定输入参数和MinPts。在现实的高维数据集合中,很难准确确定聚类参数。由于这类算法对参数值非常敏感,参数
33、值的微小变化往往会导致差异很大的聚类结果。现实的高维数据集往往不是均匀分布的,因此,全局密度参数不能很好地刻画内在的聚类结构。,数据挖掘与知识发现(第2版),(49-43),基于网格的聚类方法,基于网格的方法首先将空间量化为有限数目的单元,然后在这个量化空间上进行所有的聚类操作。这类方法的处理时间不受数据对象数目影响,仅依赖于量化空间中每一维上的单元数目,因此处理速度较快。 STING(Statistical Information Grid-based Method,基于统计信息网格的方法)是针对空间数据挖掘的算法。 它利用层次结构将空间区域划分为矩形单元, 在每个单元中存储对象的统计参数(
34、如均值、方差、最小值、最大值、分布的类型等),用以描述有关数据特征。 STING通过对数据集进行一次扫描,计算单元中的统计参数。因此,若n表示对象的个数,则生成簇的时间复杂度为O(n)。在生成层次结构后,一个查询的响应时间是O(k)。其中,k是最低分辨率下网络单元的数目,通常k远小于n。STING采用多分辨率的方式进行聚类,聚类质量取决于网络结构中最底层的粒度。,数据挖掘与知识发现(第2版),(49-44),WaveCluster算法,WaveCluster算法是基于网格的,也是基于密度的。 主要思想: (1)量化特征空间,形成一个多维网格结构; (2)通过小波变换来变换原始特征空间(而不是对
35、象本身); (3)在变换后的特征空间中发现密集区域。它可以在不同分辨率下产生基于用户需求的簇。 WaveCluster算法中的每个网格单元汇总一组映射到该单元的对象的信息。这种汇总信息可以用于基于内存的多分辨率小波变换,以及随后的聚类分析。,数据挖掘与知识发现(第2版),(49-45),WaveCluster算法,WaveCluster聚类算法: 输入 多维数据对象的特征向量 输出 聚类对象 (1) 量化特征空间,将对象分配到各单元中 (2) 在特征空间上应用小波变换 (3) 在不同精度级别上,在变换后的特征空间的各子波段内发现相连的部分(簇) (4) 设置单元标记 (5) 生成查寻表 (6)
36、 将对象映射到簇 小波变换的优点: 1. 提供无监督的聚类 2. 有效地消除噪声 3. 有利于在不同精度上发现簇 4. 高效率,数据挖掘与知识发现(第2版),(49-46),WaveCluster算法,图3.11每个点代表空间数据集的一个对象的属性或特征值。 图3.12是对图3.11中图像从细到粗三个尺度的小波变换结果。 在每个层次上均有对原始数据分解得到的4个子波段。 左上象限是子波段LL(原始图像的小波近似),强调数据点周围的平均邻域; 右上象限是子波段LH,强调水平边; 左下象限是子波段HL,强调垂直边; 右下象限是子波段HH,强调转角。,数据挖掘与知识发现(第2版),(49-47),基
37、于模型的聚类方法,基于模型的聚类方法,建立在数据符合潜在的概率分布的假设基础上。试图优化给定数据与某些数学模型之间的拟合。主要有统计学方法和神经网络方法等。 COBWEB是一种简单增量概念聚类算法,它以一个分类树的形式创建层次聚类。 分类树中每一个节点对应一个概念,包含该概念的一个概率描述,概括该节点的对象信息。 COBWEB采用启发式估算度量分类效用CU来指导分类树的构建。如果要将对象加入分类树,就要加入到能产生最高分类效用的位置。即根据产生最高分类效用的划分,把对象置于一个存在的类中,或者为它创建一个新类。COBWEB可以自动修正划分中类的数目,不需用户提供相应参数。 COBWEB的局限性
38、 假设每个属性上的概率分布相互独立,而实际上属性常常是相关的。 聚类的概率分布表示使得更新和存储聚类代价较高。 算法的计算复杂度不仅依赖于属性数目,而且依赖于属性值的数目。 分类树在偏斜的数据上难以达到高度平衡,这可能导致时间和空间复杂度的剧烈变化。,数据挖掘与知识发现(第2版),(49-48),孤立点分析,孤立点(Outlier)是数据集合中不符合数据一般特性或一般模型的数据对象。 孤立点的产生: 度量或执行错误 固有数据的变异 数据挖掘任务分为 减少孤立点对挖掘结果的影响 孤立点的探测和分析 在给定的n个数据对象集合上的孤立点挖掘,是指发现与其余数据相比有显著差异、异常或不一致的前k个对象
39、(预期的孤立点数目)。 在给定的数据集合中定义数据的不一致性 找到有效的方法来挖掘孤立点。 基于计算机的孤立点探测方法分为: 统计学方法 基于距离的方法 基于偏移的方法,数据挖掘与知识发现(第2版),(49-49),课外阅读,HUANG, Z. 1998. Extensions to the k-means algorithm for clustering large data sets with categorical values. Data Mining and Knowledge Discovery, 2, 3, 283-304. Pavel Berkhin, Survey of Cl
40、ustering Data Mining Techniques Martin Ester,Hans-Peter Kriegel,Jorg Sander,Xiaowei Xu,A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise,in Proc of 2nd Int.Conf. on Knowledge Discovery and Data Mining. Karypis,G.,Eui-Hong Han, Kumar,V., Clameleon:hierarchical clustering using dynamic modeling,Computer,Vol.32,No.8,Aug. 1999,pp68-75,