Скачать презентацию 数据挖掘与商务智能 Data Mining Business Intelligence 第五章 聚类 Скачать презентацию 数据挖掘与商务智能 Data Mining Business Intelligence 第五章 聚类

cb9183ea29674cd38bc744cddd7a8435.ppt

  • Количество слайдов: 149

数据挖掘与商务智能 Data Mining & Business Intelligence 第五章 聚类 西安电子科技大学 软件学院 主讲人:黄健斌 1 数据挖掘与商务智能 Data Mining & Business Intelligence 第五章 聚类 西安电子科技大学 软件学院 主讲人:黄健斌 1

分类与聚类 n 尽管分类是一种识别对象组或类的有效手段,但 是它常常需要高昂的代价收集和标记大量训练元 组集或模式,以便分类法使用它们对每个组建模 n 希望: ¨ 首先,基于数据的相似性把数据集合划分成组 ¨ 然后,给这些数量相对较少的组指定标号 n 基于聚类的过程的另一个优点: ¨ 分类与聚类 n 尽管分类是一种识别对象组或类的有效手段,但 是它常常需要高昂的代价收集和标记大量训练元 组集或模式,以便分类法使用它们对每个组建模 n 希望: ¨ 首先,基于数据的相似性把数据集合划分成组 ¨ 然后,给这些数量相对较少的组指定标号 n 基于聚类的过程的另一个优点: ¨ 可以适应变化,并且能够挑选出区分不同组的有用特 征 2

聚类 n 什么是聚类? ¨ 聚类(clustering)是将物理或抽象对象的集合分成 相似的对象类或簇(cluster)的过程 n 相关概念 ¨ 簇是数据对象集合,同一个簇中的对象之间具有很高 的相似度,而不同簇中的对象高度相异 ¨ 相异度根据描述对象的属性值评估,通常使用距离度 量 聚类 n 什么是聚类? ¨ 聚类(clustering)是将物理或抽象对象的集合分成 相似的对象类或簇(cluster)的过程 n 相关概念 ¨ 簇是数据对象集合,同一个簇中的对象之间具有很高 的相似度,而不同簇中的对象高度相异 ¨ 相异度根据描述对象的属性值评估,通常使用距离度 量 3

聚类 n 什么是聚类? ¨ 聚类(clustering)是将物理或抽象对象的集合分成相 似的对象类或簇(cluster)的过程 n 相关概念 ¨ 簇是数据对象集合,同一个簇中的对象之间具有很高 的相似度,而不同簇中的对象高度相异 ¨ 相异度根据描述对象的属性值评估,通常使用距离度 量 聚类 n 什么是聚类? ¨ 聚类(clustering)是将物理或抽象对象的集合分成相 似的对象类或簇(cluster)的过程 n 相关概念 ¨ 簇是数据对象集合,同一个簇中的对象之间具有很高 的相似度,而不同簇中的对象高度相异 ¨ 相异度根据描述对象的属性值评估,通常使用距离度 量 4

聚类 n n 应用领域 ¨ 市场研究、模式识别、数据分析、图像处理 其他应用 ¨ 在某些应用中,聚类又称数据分割(data segmentation),因为它根据数据的相似性把大 型数据集合划分成组 ¨ 聚类还可以用于离群点检测(outlier detection) 聚类 n n 应用领域 ¨ 市场研究、模式识别、数据分析、图像处理 其他应用 ¨ 在某些应用中,聚类又称数据分割(data segmentation),因为它根据数据的相似性把大 型数据集合划分成组 ¨ 聚类还可以用于离群点检测(outlier detection) ,其中离群点(“远离”任何簇的值)可能比 普通情况更值得注意 5

聚类技术 n基于划分的聚类 n基于层次的聚类 n基于密度的聚类 n基于图论的聚类算法 n基于网格的聚类算法 n基于模型的聚类算法 6 聚类技术 n基于划分的聚类 n基于层次的聚类 n基于密度的聚类 n基于图论的聚类算法 n基于网格的聚类算法 n基于模型的聚类算法 6

基于划分的聚类 n 划分方法(partitioning methods) ¨ 定义:给定n个对象或数据元组的数据库D,划分方法构 建数据的k个划分(k ≤ n),每个划分表示一簇 ¨ 方法:给定要构建的划分数目k,划分方法创建一个初 始划分;然后采用迭代重定位技术,尝试通过对象在 组建移动来改进划分 n 基于划分的聚类 n 划分方法(partitioning methods) ¨ 定义:给定n个对象或数据元组的数据库D,划分方法构 建数据的k个划分(k ≤ n),每个划分表示一簇 ¨ 方法:给定要构建的划分数目k,划分方法创建一个初 始划分;然后采用迭代重定位技术,尝试通过对象在 组建移动来改进划分 n 比较常用的算法 ¨ k-means:k均值聚类算法, 其中每个簇都用该簇中对象 的均值来表示 <入选数据挖掘十大算法> ¨ k-medoids:k中心点聚类算法,其中每个簇用接近簇中 心的一个对象来表示 ¨ CLARANS:大型数据库中的划分聚类算法 7

k-means n 算法思想: ¨ 随机选择k个对象,每个对象初始地代表一个类的平均 值;对剩余每个对象,根据其到类中心的距离,被划分 到最近的类;然后重新计算每个类的平均值。不断重复 这个过程,直到所有的样本都不能再分配为止。 ¨ 给定类 , 其均值定义为: (在定义里假设每个对象是数值型属性) 8 k-means n 算法思想: ¨ 随机选择k个对象,每个对象初始地代表一个类的平均 值;对剩余每个对象,根据其到类中心的距离,被划分 到最近的类;然后重新计算每个类的平均值。不断重复 这个过程,直到所有的样本都不能再分配为止。 ¨ 给定类 , 其均值定义为: (在定义里假设每个对象是数值型属性) 8

k-means n n n 输入:期望得到的簇的数目k,n个对象的数据D 输出:k个簇的集合 方法: (1)选择k个对象作为初始的簇的质心 (2)repeat (3)计算对象与各个簇的质心的距离,将对象划分到距 离其最近的簇 (4)重新计算每个新簇的均值 (5)Until簇的质心不再变化 9 k-means n n n 输入:期望得到的簇的数目k,n个对象的数据D 输出:k个簇的集合 方法: (1)选择k个对象作为初始的簇的质心 (2)repeat (3)计算对象与各个簇的质心的距离,将对象划分到距 离其最近的簇 (4)重新计算每个新簇的均值 (5)Until簇的质心不再变化 9

k-means 10 k-means 10

k-means n假设:给定如下要进行聚类的对象: {2,4,10,12,3,20,30,11,25},k = 2,请 使用k均值划分聚类 n步骤如下: m 1 2 2. 5 3 4. k-means n假设:给定如下要进行聚类的对象: {2,4,10,12,3,20,30,11,25},k = 2,请 使用k均值划分聚类 n步骤如下: m 1 2 2. 5 3 4. 75 7 m 2 4 16 18 19. 6 25 K 1 {2, 3} {2, 3, 4, 10} {2, 3, 4, 10, 11, 12} K 2 {4, 10, 12, 20, 30, 11, 25} {10, 12, 20, 30, 11, 25} {20, 30, 25} 11

k-means n n n 算法的计算复杂度为O(nkt) 其中 n为数据集中对象的数目 k为期望得到的簇的数目 t为迭代的次数 在处理大数据库时也是相对有效的(可扩展性) 12 k-means n n n 算法的计算复杂度为O(nkt) 其中 n为数据集中对象的数目 k为期望得到的簇的数目 t为迭代的次数 在处理大数据库时也是相对有效的(可扩展性) 12

k-means n 优点 ¨ 聚类时间快 n 缺点 ¨ 用户必须事先指定聚类簇的个数 ¨ 常常终止于局部最优 ¨ 只适用于数值属性聚类(计算均值有意义) ¨ k-means n 优点 ¨ 聚类时间快 n 缺点 ¨ 用户必须事先指定聚类簇的个数 ¨ 常常终止于局部最优 ¨ 只适用于数值属性聚类(计算均值有意义) ¨ 对噪声和异常数据也很敏感 ¨ 不同的初始值,结果可能不同 ¨ 不适合发现非凸面形状的簇 13

k-medoids n n n k-means利用簇内点的均值或加权平均值ci(质心) 作为类Ci的代表点。对数值属性数据有较好的几 何和统计意义。对孤立点是敏感的,如果具有极 大值,就可能大幅度地扭曲数据的分布 k-medoids(k-中心点)算法是为消除这种敏感性提 出的,它选择类中位置最接近类中心的对象(称为 中心点)作为类的代表点,目标函数仍然可以采用 平方误差准则 PAM(Partitioning Around k-medoids n n n k-means利用簇内点的均值或加权平均值ci(质心) 作为类Ci的代表点。对数值属性数据有较好的几 何和统计意义。对孤立点是敏感的,如果具有极 大值,就可能大幅度地扭曲数据的分布 k-medoids(k-中心点)算法是为消除这种敏感性提 出的,它选择类中位置最接近类中心的对象(称为 中心点)作为类的代表点,目标函数仍然可以采用 平方误差准则 PAM(Partitioning Around Medoids,围绕中心点 的划分)是最早提出的k中心点算法之一 14

PAM n 算法思想 ¨ 随机选择k个对象作为初始的k个类的代表点,将其余对象 按与代表点对象的距离分配到最近的类; ¨ 反复用非代表点来代替代表点,以改进聚类质量。 即:算法将判定是否存在一个对象可以取代已存在的一个 中心点。 Ô 通过检验所有的中心点与非中心点组成的对,算法将选择最能 提高聚类效果的对,其中成员总是被分配到与中心点距离最短 的类中。 PAM n 算法思想 ¨ 随机选择k个对象作为初始的k个类的代表点,将其余对象 按与代表点对象的距离分配到最近的类; ¨ 反复用非代表点来代替代表点,以改进聚类质量。 即:算法将判定是否存在一个对象可以取代已存在的一个 中心点。 Ô 通过检验所有的中心点与非中心点组成的对,算法将选择最能 提高聚类效果的对,其中成员总是被分配到与中心点距离最短 的类中。 Ô 假设类Ki 的当前中心点是Oi , 希望确定Oi是否应与非中心点Oh 交换. 如果交换可以改善聚类的效果,则进行交换。 15

PAM n 距离代价的变化是指所有对象到其类中心点的距 离之和的变化 n 这里使用Cjih表示中心点Oi与非中心点Oh交换后, 对象Oj到中心点距离代价的变化 总代价定义如下: 16 PAM n 距离代价的变化是指所有对象到其类中心点的距 离之和的变化 n 这里使用Cjih表示中心点Oi与非中心点Oh交换后, 对象Oj到中心点距离代价的变化 总代价定义如下: 16

PAM(计算代价要考虑的四种情况) o 第一种情况: Oj当前隶属于中心点对象Oi 。如果Oi被Oh所 代替作为中心点,且Oj离一个Om最近,i≠m,那么Oj被重新 分配给Om o 第二种情况:Oj当前隶属于中心点对象Oi。如果Oi被Oh代替 作为一个中心点,且Oj离Oh最近,那么Oj被重新分配给Oh 17 PAM(计算代价要考虑的四种情况) o 第一种情况: Oj当前隶属于中心点对象Oi 。如果Oi被Oh所 代替作为中心点,且Oj离一个Om最近,i≠m,那么Oj被重新 分配给Om o 第二种情况:Oj当前隶属于中心点对象Oi。如果Oi被Oh代替 作为一个中心点,且Oj离Oh最近,那么Oj被重新分配给Oh 17

PAM(计算代价要考虑的四种情况) o o 第三种情况:Oj当前隶属于中心点Om,m≠i。如果Oi被Oh 代替作为一个中心点,而Oj依然离Om最近,那么对象的隶 属不发生变化 第四种情况:Oj当前隶属于中心点Om,m≠i。如果Oi被Oh 代替作为一个中心点,且Oj离Oh最近,那么Oi被重新分配 给Oh 18 PAM(计算代价要考虑的四种情况) o o 第三种情况:Oj当前隶属于中心点Om,m≠i。如果Oi被Oh 代替作为一个中心点,而Oj依然离Om最近,那么对象的隶 属不发生变化 第四种情况:Oj当前隶属于中心点Om,m≠i。如果Oi被Oh 代替作为一个中心点,且Oj离Oh最近,那么Oi被重新分配 给Oh 18

PAM n n n 输入:簇的数目k和包含n个对象的数据库。 输出:k个簇的集合 方法: (1) 任意选择k个对象作为初始的代表对象(簇中心点) (2) repeat (3) 将每个剩余对象指派到最近的代表对象所代表的 簇 PAM n n n 输入:簇的数目k和包含n个对象的数据库。 输出:k个簇的集合 方法: (1) 任意选择k个对象作为初始的代表对象(簇中心点) (2) repeat (3) 将每个剩余对象指派到最近的代表对象所代表的 簇 (4) 随机地选择一个非代表对象Orandom (5) 计算用Orandom交换代表对象Oi的总代价S (6) if S < 0,then用Orandom替换Oi ,形成新的k个 代表对象的集合 (7) UNTIL不发生变化 19

PAM n 假如空间中的五个点{A、B、C、D、E}如图 1所示, 各点之间的距离关系如表 1所示,根据所给的数据对其运 行PAM算法实现划分聚类(设k=2)。 样本点间距离如下 表所示: 样本点 B C D E PAM n 假如空间中的五个点{A、B、C、D、E}如图 1所示, 各点之间的距离关系如表 1所示,根据所给的数据对其运 行PAM算法实现划分聚类(设k=2)。 样本点间距离如下 表所示: 样本点 B C D E A 0 1 2 2 3 B 1 0 2 4 3 C 2 2 0 1 5 D 2 4 1 0 3 E 样本点 A 3 3 5 3 0 起始中心点 20

PAM a) n n 当A被C替换以后,A不再是一 B C D E 样本点 A 第一步 建立阶段:假如从5个对象中随机抽取的2个中心点为{A, 个中心点,因为A离B比A离C近, PAM a) n n 当A被C替换以后,A不再是一 B C D E 样本点 A 第一步 建立阶段:假如从5个对象中随机抽取的2个中心点为{A, 个中心点,因为A离B比A离C近, 0 1 2 2 3 B}, 则样本被划分为{A、C、D}和{B、E} A A被分配到B中心点代表的簇, B 1 0 2 4 3 第二步 交换阶段:假定中心点A、B分别被非中心点C、D、E替换, CAAC=d(A, B)-d(A, A)=1 C 2 2 0 1 根据PAM算法需要计算下列代价TCAC、 TCAD、 TCAE、TCBC、TCBD、 5 TCBE。 D 2 4 1 0 3 b) B是一个中心点,当A被C替换以 ¨ 以TCAC为例说明计算过程 E 3 3 5 3 0 后,B不受影响,CBAC=0 21

PAM a) b) c) d) e) o C原先属于A中心点所在的簇,当A被C替 换以后,C是新中心点,符合PAM算法代 样本点 A 价函数的第二种情况CCAC=d(C, C)B d(C, PAM a) b) c) d) e) o C原先属于A中心点所在的簇,当A被C替 换以后,C是新中心点,符合PAM算法代 样本点 A 价函数的第二种情况CCAC=d(C, C)B d(C, A)=0 -2=-2 C D原先属于A中心点所在的簇,当A被C替 换以后,离D最近的中心点是C,根据PAM D 算法代价函数的第二种情况CDAC=d(D, C) E -d(D, A)=1 -2=-1 E原先属于B中心点所在的簇,当A被C替 换以后,离E最近的中心仍然是 B,根 据PAM算法代价函数的第三种情况CEAC=0 A B C D E 0 1 2 2 3 1 0 2 4 3 2 2 0 1 5 2 4 1 0 3 3 3 5 3 0 因此,TCAC=CAAC+ CBAC+ Cc. AC+ CDAC+ CEAC =1+0 -2 -1+0=-2。 22

PAM 在上述代价计算完毕后,我们要选取一个最小的代价,显然有多种替换可以选择,我们选 择第一个最小代价的替换(也就是C替换A),根据图 5 -4(a)所示,样本点被划分为{ B、A、E} 和{C、D}两个簇。图 5 -4(b)和图 5 -4(c)分别表示了D替换A,E替换A的情况和相应的代价 (a) C替换A, TCAC=-2 PAM 在上述代价计算完毕后,我们要选取一个最小的代价,显然有多种替换可以选择,我们选 择第一个最小代价的替换(也就是C替换A),根据图 5 -4(a)所示,样本点被划分为{ B、A、E} 和{C、D}两个簇。图 5 -4(b)和图 5 -4(c)分别表示了D替换A,E替换A的情况和相应的代价 (a) C替换A, TCAC=-2 (b) D替换A, TCAD=-2 (c) E替换A, TCAE=-1 图 5 -4 替换中心点A 图 5 -5(a)、(b)、(c)分别表示了用C、D、E替换B的情况和相应的代价。 (b) D替换B, TCBD=-2 (c) E替换B, TCBE=-2 图 5 -5 替换中心点B 通过上述计算,已经完成了第一次迭代。在下一迭代中,将用其他的非中心点{A、D、E}替 换中心点{B、C},找出具有最小代价的替换。一直重复上述过程,直到代价不再减小为止。 • C替换B, TCBC=-2 23

K-medoids n 优点 ¨ 对属性类型没有局限性 ¨ 通过簇内主要点的位置来确定选择中心点,对孤立点和 噪声数据的敏感性小 n 不足 ¨ 处理时间要比k-mean更长 ¨ 用户事先指定所需聚类簇个数k K-medoids n 优点 ¨ 对属性类型没有局限性 ¨ 通过簇内主要点的位置来确定选择中心点,对孤立点和 噪声数据的敏感性小 n 不足 ¨ 处理时间要比k-mean更长 ¨ 用户事先指定所需聚类簇个数k ¨ 发现的聚类与输入数据的顺序无关 24

CLARANS n PAM算法中,每一次迭代都需要确定出k(n-k)个交换 对,对于交换对i,h需要计算TCih。在计算TCih过程 中,需要计算n-k个非中心点的代价,所以每次迭代 的复杂度是k(n-k)2 n 由于迭代的次数可能很多,PAM算法的复杂性很高, 所以不适合大型数据库 CLARANS(Clustering Large Application based upon CLARANS n PAM算法中,每一次迭代都需要确定出k(n-k)个交换 对,对于交换对i,h需要计算TCih。在计算TCih过程 中,需要计算n-k个非中心点的代价,所以每次迭代 的复杂度是k(n-k)2 n 由于迭代的次数可能很多,PAM算法的复杂性很高, 所以不适合大型数据库 CLARANS(Clustering Large Application based upon RANdomized Search,大型数据库中的划分聚类)算 法是由PAM算法改进后得到的一种算法,适合大型数 据库 n 25

CLARANS n 算法思想 ¨ CLARANS方法在搜索的每一步都以某种随机方式进行 采样,其聚类过程可描述成一个图的搜索,图中的每 个节点是一个潜在的解,即k个中心点的集合 ¨ 在替换一个中心对象后所获得的新第一就称为当前聚类 的邻居,随机产生的聚类邻居数由用户限制 ¨ 若发现一个更好的邻居(具有较低的方差),CLARANS 算法就移动到这一邻居节点然后再开始重新搜索, 否则 CLARANS n 算法思想 ¨ CLARANS方法在搜索的每一步都以某种随机方式进行 采样,其聚类过程可描述成一个图的搜索,图中的每 个节点是一个潜在的解,即k个中心点的集合 ¨ 在替换一个中心对象后所获得的新第一就称为当前聚类 的邻居,随机产生的聚类邻居数由用户限制 ¨ 若发现一个更好的邻居(具有较低的方差),CLARANS 算法就移动到这一邻居节点然后再开始重新搜索, 否则 当前节点就形成了一个局部最优 ¨ 若发现一个局部最优,CLARANS方法就随机选择节点 重新开始搜索新的局部最优 26

CLARANS n 给定n个对象,描述发现k个中心点的过程可以抽象的看成一个图 的搜索,在该图中,Gn, k定义的节点可以用一个k个对象的集合 {Om 1, Om 2, … Omk}来表示,即Om 1, Om 2, CLARANS n 给定n个对象,描述发现k个中心点的过程可以抽象的看成一个图 的搜索,在该图中,Gn, k定义的节点可以用一个k个对象的集合 {Om 1, Om 2, … Omk}来表示,即Om 1, Om 2, …Omk实际是选择的中心点 n 若两个节点的集合之间只有一个对象不同,这两个节点就是邻居 节点(由弧线连接) 两个节点S 1={Om 1, Om 2, … Omk},S 2={On 1, On 2, … Onk}是邻 居,当且仅当S 1和S 2交集由k-1个元素。每一个节点有k(n-k)个邻 居。 因为一个节点有k个中心点组成,则每个节点对应着一个聚类, 于是每个节点可以赋予一个代价。 若Oi与Oh属于不同的邻居S 1和S 2,两个邻居的代价差与PAM算 法中的代价相同,即表示中心点Oi与非中心点Oh交换后的TCih 。 27

CLARANS 1. 2. 3. 4. 5. 6. 7. 8. 输入参数numlocal和maxneighbor,numlocal表示抽样的次数, maxneighbor表示一个节点可以与任意特定邻居进行比较的数目令: i =1,i用来表示已经选样的次数,mincost为最小代价,初始时设 为大数 CLARANS 1. 2. 3. 4. 5. 6. 7. 8. 输入参数numlocal和maxneighbor,numlocal表示抽样的次数, maxneighbor表示一个节点可以与任意特定邻居进行比较的数目令: i =1,i用来表示已经选样的次数,mincost为最小代价,初始时设 为大数 将current设置当前节点为Gn, k中的任意一个节点 令j =1(j用来表示已经与current进行比较的邻居的个数) 考虑当前点的一个随机的邻居S,并计算两个节点的代价差 如果S的代价较低,则current: =S,转到步骤 3 否则, 令j=j+1。如果j≤maxneighbor, 则转到步骤 4 否则, 当j>maxneighbor, 当前节点为本次选样最小代价节点. 如 果其代价小于mincost, 令mincost为当前节点的代价,bestnode为 当前的节点 令 i= i+1,如果i>numlocal, 输出bestnode,运算中止. 否则,转 到步骤 2 28

CLARANS n 步骤(3)到步骤(6)搜索节点的代价逐步降低。但若当 前的节点已于节点的邻居的最大数比较过而且仍是最低的 代价,则认为是当前节点是局部最小的。然后再步骤(7) 中,将这个局部最小于目前得到的最小代价比较,两者值 小的存入mincost。CLARANS算法然后再重复搜索其他的 局部最小者,一直到i=numlocal为止(numlocal为抽样次 数) n 优点 ¨ 不用限制在局部区域搜索 ¨ CLARANS n 步骤(3)到步骤(6)搜索节点的代价逐步降低。但若当 前的节点已于节点的邻居的最大数比较过而且仍是最低的 代价,则认为是当前节点是局部最小的。然后再步骤(7) 中,将这个局部最小于目前得到的最小代价比较,两者值 小的存入mincost。CLARANS算法然后再重复搜索其他的 局部最小者,一直到i=numlocal为止(numlocal为抽样次 数) n 优点 ¨ 不用限制在局部区域搜索 ¨ 只检查节点的邻居的样本,效率高 29

基于划分的聚类 n 特点 ¨ k事先定好 ¨ 创建一个初始划分,再采用迭代的重定位技术 ¨ 不必确定距离矩阵 ¨ 比系统聚类法运算量小,适用于处理庞大的样本数据 ¨ 适用于发现球状类 n 基于划分的聚类 n 特点 ¨ k事先定好 ¨ 创建一个初始划分,再采用迭代的重定位技术 ¨ 不必确定距离矩阵 ¨ 比系统聚类法运算量小,适用于处理庞大的样本数据 ¨ 适用于发现球状类 n 缺陷 ¨ 不同的初始值,结果可能不同 ¨ 有些k均值算法的结果与数据输入顺序有关,如在线k均 值算法 ¨ 容易陷入局部极小值 30

基于层次的聚类 n 层次方法(hierachical methods) ¨ 层次方法创建给定数据对象集的层次分解。根据层次的 分解的形成方式,层次的方法可以分类为凝聚的或分 裂的方法 ¨ 凝聚法,也称自底向上的方法,开始将每个对象形成单 独的组,然后逐次合并相近的对象或组,直到所有的 组合并为一个(层次的最顶层),或者满足某个终止 条件 ¨ 基于层次的聚类 n 层次方法(hierachical methods) ¨ 层次方法创建给定数据对象集的层次分解。根据层次的 分解的形成方式,层次的方法可以分类为凝聚的或分 裂的方法 ¨ 凝聚法,也称自底向上的方法,开始将每个对象形成单 独的组,然后逐次合并相近的对象或组,直到所有的 组合并为一个(层次的最顶层),或者满足某个终止 条件 ¨ 分裂法,也称自顶向下的方法,开始将所有的对象置于 一个簇中,每次迭代,簇分裂为更小的簇,直到最终 每个对象在一个簇中,或者满足某个终止条件 31

基于层次的聚类 n 比较常用的算法 ¨ DIANA(Divisive ANAlysis) : 分裂层次聚类算法 ¨ AGENES(AGglomerative NESting): 凝聚层次聚类算法 ¨ BIRCH: 基于层次的聚类 n 比较常用的算法 ¨ DIANA(Divisive ANAlysis) : 分裂层次聚类算法 ¨ AGENES(AGglomerative NESting): 凝聚层次聚类算法 ¨ BIRCH: 利用层次方法的平衡迭代规约和聚类 候选十八大算法之一> <数据挖掘 32

凝聚和分裂层次聚类 o 对数据对象{a, b, c, d, e}的凝聚和分裂层次聚类 33 凝聚和分裂层次聚类 o 对数据对象{a, b, c, d, e}的凝聚和分裂层次聚类 33

凝聚和分裂层次聚类 é 凝聚层次聚类 ê 分裂层次聚类 34 凝聚和分裂层次聚类 é 凝聚层次聚类 ê 分裂层次聚类 34

凝聚和分裂层次聚类 n n 在凝聚或者分裂层次聚类方法中,用户可以定义 希望得到的簇数目作为一个终止条件 通常,使用一种称作树状图(dendrogram)的树 形结构表示层次聚类的过程 35 凝聚和分裂层次聚类 n n 在凝聚或者分裂层次聚类方法中,用户可以定义 希望得到的簇数目作为一个终止条件 通常,使用一种称作树状图(dendrogram)的树 形结构表示层次聚类的过程 35

最小距离 n 单链接(single-link)方法,其每个簇可以用簇中所有对象 代表,簇间的相似度用属于不同簇中最近的数据点对之间 的相似度来度量 n 也称为最短距离法,定义簇的邻近度为取自不同簇的所有 点对的俩个最近的点之间的邻近度 设 表示样本 之间距离 和 之间的距离, 表示类 最小距离 n 单链接(single-link)方法,其每个簇可以用簇中所有对象 代表,簇间的相似度用属于不同簇中最近的数据点对之间 的相似度来度量 n 也称为最短距离法,定义簇的邻近度为取自不同簇的所有 点对的俩个最近的点之间的邻近度 设 表示样本 之间距离 和 之间的距离, 表示类 和 36

最大距离 n 全链 ¨ 取自不同簇中的俩个最远的点之间邻近度作为簇的邻 近度,或者使用图的术语,不同的结点子集中俩个结 点之间的最长边 • • • 37 最大距离 n 全链 ¨ 取自不同簇中的俩个最远的点之间邻近度作为簇的邻 近度,或者使用图的术语,不同的结点子集中俩个结 点之间的最长边 • • • 37

平均距离 n 组平均(average linkage method)类间所有样本点 的平均距离 ¨ 该法利用了所有样本的信息,被认为是较好的系统聚类 法 • • 38 平均距离 n 组平均(average linkage method)类间所有样本点 的平均距离 ¨ 该法利用了所有样本的信息,被认为是较好的系统聚类 法 • • 38

算法 n n n 当算法使用最小距离dmin(Ci,Cj)衡量簇间距离时,有时称 它为最近邻聚类算法 如果当最近的簇之间的距离超过某个任意的阈值是聚类过程 就会终止,则成其为单连接算法 使用最小距离度量的凝聚层次聚类算法也成为最小生成树算 法 当算法使用最大距离dmax(Ci,Cj)衡量簇间距离时,有时称 它为最远邻聚类算法(farthest-neighbor clustering algorithm) 算法 n n n 当算法使用最小距离dmin(Ci,Cj)衡量簇间距离时,有时称 它为最近邻聚类算法 如果当最近的簇之间的距离超过某个任意的阈值是聚类过程 就会终止,则成其为单连接算法 使用最小距离度量的凝聚层次聚类算法也成为最小生成树算 法 当算法使用最大距离dmax(Ci,Cj)衡量簇间距离时,有时称 它为最远邻聚类算法(farthest-neighbor clustering algorithm) 如果当最近的簇之间的最大距离超过某个任意的阈值是聚类 过程就会终止,则成其为全连接算法(complete-linkage algorithm) 39

单连接算法 n n 先将五个样本都分别看成是一个簇,最靠近的两个簇是 3和4, 因为他们具有最小的簇间距离 D(3,4)=5. 0 合并簇3和4,得到新簇集合1, 2, (34), 5更新距离矩阵 D(1, (34)) 单连接算法 n n 先将五个样本都分别看成是一个簇,最靠近的两个簇是 3和4, 因为他们具有最小的簇间距离 D(3,4)=5. 0 合并簇3和4,得到新簇集合1, 2, (34), 5更新距离矩阵 D(1, (34)) = min(D(1, 3), D(1, 4)) = min(20. 6, 22. 4) = 20. 6 ¨ D(2, (34)) = min(D(2, 3), D(2, 4)) = min(14. 1, 11. 2) = 11. 2 ¨ 40

单连接算法 D(5, (34)) = min(D(3, 5), D(4, 5)) = min(25. 0, 25. 5) = 单连接算法 D(5, (34)) = min(D(3, 5), D(4, 5)) = min(25. 0, 25. 5) = 25. 0 ¨ 原有簇1, 2, 5间的距离不变,故在四个簇1, 2, (34), 5中,最靠 近的两个簇是 1和5,它们具有最小簇间距离D(1, 5)= 7. 07 ¨ 41

BIRCH n n 问题: ¨ 大数据集 ¨ I/O开销 BIRCH ¨ 一次扫描 ¨ 处理噪音 ¨ BIRCH n n 问题: ¨ 大数据集 ¨ I/O开销 BIRCH ¨ 一次扫描 ¨ 处理噪音 ¨ 评估时间/空间效率 ¨ BIRCH/CLARANS性能比较 42

算法必备知识 n 簇内: R和D反映了质心周围簇的紧凑程度 tightness ¨ X 0: 中心点 ¨ R:点到中心点的平均距离 ¨ D:簇内的平均距离(成对) 43 算法必备知识 n 簇内: R和D反映了质心周围簇的紧凑程度 tightness ¨ X 0: 中心点 ¨ R:点到中心点的平均距离 ¨ D:簇内的平均距离(成对) 43

算法必备知识 n 簇间:closeness ¨ X 01,X 02:中心点 ¨ D 0:质心点欧几里德距离 ¨ D 1:质心点曼哈顿距离 44 算法必备知识 n 簇间:closeness ¨ X 01,X 02:中心点 ¨ D 0:质心点欧几里德距离 ¨ D 1:质心点曼哈顿距离 44

算法必备知识 ¨ D 2:平均聚类间距离 ¨ D 3:平均聚类内距离 ¨ D 4:变化引导的增量距离 45 算法必备知识 ¨ D 2:平均聚类间距离 ¨ D 3:平均聚类内距离 ¨ D 4:变化引导的增量距离 45

聚类特征向量 n 聚类特征CF(Clustering Feature):是一个三维向量,汇 总了对象簇的信息 ¨ 给定簇中n个d为对象或点{Xi},则该簇的CF定义如 CF = <n,LS,SS> ¨n :簇中点的数目 ¨ LS:n个点的线性和 聚类特征向量 n 聚类特征CF(Clustering Feature):是一个三维向量,汇 总了对象簇的信息 ¨ 给定簇中n个d为对象或点{Xi},则该簇的CF定义如 CF = ¨n :簇中点的数目 ¨ LS:n个点的线性和 (即 ) ¨ SS:数据点的平方和 (即 ) 46

CF n 迭加性 ¨ 假定有两个不相交的簇C 1和C 2,分别具有聚类特征CF 1和 CF 2,那么由C 1和C 2合并而成的簇的聚类特征就是CF 1+CF 2 CF n 迭加性 ¨ 假定有两个不相交的簇C 1和C 2,分别具有聚类特征CF 1和 CF 2,那么由C 1和C 2合并而成的簇的聚类特征就是CF 1+CF 2 n CF树 ¨ 高度平衡 ¨ 平衡因子B:非叶节点可以拥有的孩子数 ¨ L:叶子节点最多拥有L个元组 ¨ 阈值T:叶子节点中的子聚类的最大直径(半径) ¨ P:一个节点的空间 47

BIRCH 48 BIRCH 48

BIRCH 49 BIRCH 49

插入CF树 n 从根节点开始,自上而下选择最近的孩子节点 n 到达叶子节点后,检查最近的元组Li能否吸收Ent ¨ 是,更新CF值 ¨ 否,是否可以添加一个新的元组 Ø 是,添加一个新的元组 Ø 否则,分裂最远的一对元组,作为种子,按最近距离重 新分配其它元组 插入CF树 n 从根节点开始,自上而下选择最近的孩子节点 n 到达叶子节点后,检查最近的元组Li能否吸收Ent ¨ 是,更新CF值 ¨ 否,是否可以添加一个新的元组 Ø 是,添加一个新的元组 Ø 否则,分裂最远的一对元组,作为种子,按最近距离重 新分配其它元组 n 更新每个非叶节点的CF信息,如果分裂节点,在父节点中 插入新的元组,检查分裂,直到root n 合并:在某个非叶子节点Nj处停止分裂,发现Nj中最近的 两个元组,合并 50

BIRCH n 处理方案 ¨ 第一种:将阈值定为所有叶条目的“最近邻居对”之间 距离的平均值,根据这个平均值得出的新的阈值,相 似的俩个叶条目将合并成一个 ¨ 第二种:孤立点处理。当孤立点分配R字节的空间,孤 立点是那些密度较低的叶条目。对整体而言,这些孤 立点是不重要的。当通过插入旧叶条目来重建CF树时, 新的CF树从俩个方面减少树的大小。首先通过增加阈 值,其次若磁盘空间溢出,通过吸收孤立点,直到磁 盘空间不溢出为止 BIRCH n 处理方案 ¨ 第一种:将阈值定为所有叶条目的“最近邻居对”之间 距离的平均值,根据这个平均值得出的新的阈值,相 似的俩个叶条目将合并成一个 ¨ 第二种:孤立点处理。当孤立点分配R字节的空间,孤 立点是那些密度较低的叶条目。对整体而言,这些孤 立点是不重要的。当通过插入旧叶条目来重建CF树时, 新的CF树从俩个方面减少树的大小。首先通过增加阈 值,其次若磁盘空间溢出,通过吸收孤立点,直到磁 盘空间不溢出为止 51

BIRCH算法 n BIRCH算法: 采用多阶段聚类技术,对数据集合进行单遍扫描后生成初步 簇,再经过一遍或多遍扫描改进聚类质量, CF树的重建类似于 B+树构建中的节点插入和节点分裂 。 n 算法优点: 对大型数据库的高效性和可扩展性 ¨ 支持增量聚类 ¨ BIRCH算法 n BIRCH算法: 采用多阶段聚类技术,对数据集合进行单遍扫描后生成初步 簇,再经过一遍或多遍扫描改进聚类质量, CF树的重建类似于 B+树构建中的节点插入和节点分裂 。 n 算法优点: 对大型数据库的高效性和可扩展性 ¨ 支持增量聚类 ¨ 复杂度为O (n) ¨ n 算法缺点: CF树对节点中包含项的数目有限制,这可能导致节点并未对 应实际数据集的一个自然簇。 ¨ 不适合发现非球形的簇。 ¨ 52

基于密度的聚类方法 n n 基于密度的聚类方法将簇看作数据空间中由低密 度区域分隔开的高密度对象区域。 主要思想: 只要临近区域的密度(对象或数据点的数目)超过某个 阈值,就继续聚类,即对给定类中的每个数据点,在一个 给定范围的区域中必须至少包含某个数目的点。 n 基于密度的聚类方法可以用来过滤噪声孤立点数 据,发现任意形状的簇。 ¨ DBSCAN:基于高密度连通区域聚类 基于密度的聚类方法 n n 基于密度的聚类方法将簇看作数据空间中由低密 度区域分隔开的高密度对象区域。 主要思想: 只要临近区域的密度(对象或数据点的数目)超过某个 阈值,就继续聚类,即对给定类中的每个数据点,在一个 给定范围的区域中必须至少包含某个数目的点。 n 基于密度的聚类方法可以用来过滤噪声孤立点数 据,发现任意形状的簇。 ¨ DBSCAN:基于高密度连通区域聚类 ¨ OPTICS:通过点排序识别聚类结构 53

DBSCAN n 基于密度的簇是密度相连的点的集合 n 主要思想 ¨ 寻找被低密度区域分离的高密度区域 ¨ 只要临近区域的密度(单位大小上对象或数据点的数目) 超过某个阈值,就继续聚类 54 DBSCAN n 基于密度的簇是密度相连的点的集合 n 主要思想 ¨ 寻找被低密度区域分离的高密度区域 ¨ 只要临近区域的密度(单位大小上对象或数据点的数目) 超过某个阈值,就继续聚类 54

DBSCAN n 两个参数: ¨ Eps: 邻域的最大半径 ¨ Min. Pts: 一个核心对象以 Eps为半径的邻域内的最小顶 点数 p Min. DBSCAN n 两个参数: ¨ Eps: 邻域的最大半径 ¨ Min. Pts: 一个核心对象以 Eps为半径的邻域内的最小顶 点数 p Min. Pts = 5 Eps = 1 cm q 55

DBSCAN n 密度可达的(Density-reachable) p 1, …, pn, p 1 = q, pn = p DBSCAN n 密度可达的(Density-reachable) p 1, …, pn, p 1 = q, pn = p , pi+1 是从pi关于Eps和Min. Pts 直接密度可达的,则对象 p是从对象q关于Eps和Min. Pts 密度可达的 ¨ 如果存在一个对象链 ¨ 密度可达性是直接 密度可达性的传递闭包, p 这种关系是非对称的。 只有核心对象之间是 相互可达的。 q p 1 56

DBSCAN n 密度相连的(Density-connected) ¨ 如果对象集合D中存在一个对象o,使得对象p和q是从o 关于Eps 和 Min. Pts密度可达的,那么对象p和q是关于 Eps 和 Min. Pts密度相连的 ¨ DBSCAN n 密度相连的(Density-connected) ¨ 如果对象集合D中存在一个对象o,使得对象p和q是从o 关于Eps 和 Min. Pts密度可达的,那么对象p和q是关于 Eps 和 Min. Pts密度相连的 ¨ 密度相连性是一个 对称的关系 p q o 57

DBSCAN n DBSCAN(Density-Based Spatial Clustering of Applications with Noise) n 该算法将具有足够高密度的区域划分为簇,并可以在带有 “噪音”的空间数据库中发现任意形状的聚类 n 不包含在任何簇中的对象被认为是“噪音” DBSCAN n DBSCAN(Density-Based Spatial Clustering of Applications with Noise) n 该算法将具有足够高密度的区域划分为簇,并可以在带有 “噪音”的空间数据库中发现任意形状的聚类 n 不包含在任何簇中的对象被认为是“噪音” n 定义簇为密度相连的点的最大集合 n 一个基于密度的簇是基于密度可达性的最大的密度相连的 对象 58

DBSCAN n 密度 = 制定半径 (Eps)内点的个数 n 如果一个对象的 Eps 邻域至少包含最小数目 Min. Pts 个对象,则称该对象为核心对象(Core point) DBSCAN n 密度 = 制定半径 (Eps)内点的个数 n 如果一个对象的 Eps 邻域至少包含最小数目 Min. Pts 个对象,则称该对象为核心对象(Core point) ¨ 集群内有多个核心对象 n 边界点( Border point )的Eps 邻域有少于 Min. Pts 个对象, 但它的邻域中有核心对象 n 噪声点( Noise point )是除核心对象和边界点之 外的点 59

DBSCAN 60 DBSCAN 60

DBSCAN 61 DBSCAN 61

DBSCAN 62 DBSCAN 62

DBSCAN 63 DBSCAN 63

DBSCAN:核心对象、边界点、噪声点 Original Points Point types: core, border and noise Eps = 10, Min. Pts DBSCAN:核心对象、边界点、噪声点 Original Points Point types: core, border and noise Eps = 10, Min. Pts = 4 64

DBSCAN:任意形状聚类 Original Points Clusters • 抗噪声 • 能处理各种形状和大小集群 65 DBSCAN:任意形状聚类 Original Points Clusters • 抗噪声 • 能处理各种形状和大小集群 65

DBSCAN: 参数敏感 66 DBSCAN: 参数敏感 66

DBSCAN: 算法 n 选任意节点 p n 对于参数 Eps 和 Min. Pts,检索所有关于p密度可 达的顶点 n 如果 DBSCAN: 算法 n 选任意节点 p n 对于参数 Eps 和 Min. Pts,检索所有关于p密度可 达的顶点 n 如果 p 是核心对象, 一个簇形成 n 如果 p 是边界点, 没有有关于 p 密度可达的顶 点,扫描下一个节点 n 继续算法直到所有节点扫描一遍 67

OPTICS n 在前面介绍的DBSCAN算法中 ¨ n 需要用户手动设置输入,并且聚类的类簇结果对这两个参数 的取值非常敏感 为了克服DBSCAN算法这一缺点,提出了OPTICS算法。 OPTICS并不显示的产生结果类簇,而是为聚类分析生成 一个增广的簇排序(比如,以可达距离为纵轴,样本点输 出次序为横轴的坐标图),这个排序代表了各样本点基于 密度的聚类结构。它包含的信息等价于从一个广泛的参数 设置所获得的基于密度的聚类,换句话说,从这个排序中 可以得到基于任何参数E和min. OPTICS n 在前面介绍的DBSCAN算法中 ¨ n 需要用户手动设置输入,并且聚类的类簇结果对这两个参数 的取值非常敏感 为了克服DBSCAN算法这一缺点,提出了OPTICS算法。 OPTICS并不显示的产生结果类簇,而是为聚类分析生成 一个增广的簇排序(比如,以可达距离为纵轴,样本点输 出次序为横轴的坐标图),这个排序代表了各样本点基于 密度的聚类结构。它包含的信息等价于从一个广泛的参数 设置所获得的基于密度的聚类,换句话说,从这个排序中 可以得到基于任何参数E和min. Pts的DBSCAN算法的聚类 结果。 68

OPTICS n 对象p的核心距离:使p成为核心对象的最小Ɛ’。 如果p不是核心对象,那么p的核心距离没有任何 意义。 n 可达距离:对象q到对象p的可达距离是指p的核心 距离和p与q之间欧几里得距离之间的较大值。如 果p不是核心对象,p和q之间的可达距离没有意义。 69 OPTICS n 对象p的核心距离:使p成为核心对象的最小Ɛ’。 如果p不是核心对象,那么p的核心距离没有任何 意义。 n 可达距离:对象q到对象p的可达距离是指p的核心 距离和p与q之间欧几里得距离之间的较大值。如 果p不是核心对象,p和q之间的可达距离没有意义。 69

OPTICS n OPTICS算法生成一个有序对象列表,每个对象拥有 两个属性,核心距离和可达距离。利用这个列表, 可以获得任何领域半径小于的聚类。 70 OPTICS n OPTICS算法生成一个有序对象列表,每个对象拥有 两个属性,核心距离和可达距离。利用这个列表, 可以获得任何领域半径小于的聚类。 70

OPTICS:通过点排序识别聚类结构 n 对于真实的,高维的数据集合而言,参数的设置 通常是依靠经验,难以确定。 n 绝大多数算法对参数值是非常敏感的:设置的细 微不同可能导致差别很大的聚类结果。 n OPTICS算法通过对象排序识别聚类结构。 n OPTICS没有显式地产生一个数据集合簇,它为自 动和交互的聚类分析计算一个簇排序。 n 这个次序代表了数据的基于密度的聚类结构。 OPTICS:通过点排序识别聚类结构 n 对于真实的,高维的数据集合而言,参数的设置 通常是依靠经验,难以确定。 n 绝大多数算法对参数值是非常敏感的:设置的细 微不同可能导致差别很大的聚类结果。 n OPTICS算法通过对象排序识别聚类结构。 n OPTICS没有显式地产生一个数据集合簇,它为自 动和交互的聚类分析计算一个簇排序。 n 这个次序代表了数据的基于密度的聚类结构。 71

基于密度的聚类方法 n 主要特征: ¨ 发现任意形状的聚类 ¨ 处理噪声(孤立点数据) ¨ 一次扫描 ¨ 需要密度参数作为终止条件 72 基于密度的聚类方法 n 主要特征: ¨ 发现任意形状的聚类 ¨ 处理噪声(孤立点数据) ¨ 一次扫描 ¨ 需要密度参数作为终止条件 72

基于图论的聚类算法 n 目前有关图论的理论研究已经非常深入,并出现 了很多性能优异的算法,而且图具有很多优良特 性,用图论来解决聚类问题是一种有效方法 ¨ MST_based Clustering: 基于最小生成树的聚类 ¨ CHAMELEON: (变色龙)一个利用动态模型的层次聚 类算法 n 基于图论的聚类算法 n 目前有关图论的理论研究已经非常深入,并出现 了很多性能优异的算法,而且图具有很多优良特 性,用图论来解决聚类问题是一种有效方法 ¨ MST_based Clustering: 基于最小生成树的聚类 ¨ CHAMELEON: (变色龙)一个利用动态模型的层次聚 类算法 n 图的基本构成: ¨ 节点表示数据项 ¨ 边表示一个节点v在另一个节点u的最相似点中,其权重 表示数据项间的相似度 73

稀疏图 n 稀疏图:只保留对象中与其最近邻之间的连接 ¨ 稀疏化方法: 断开相似度低于指定阈值的边 n 保留连接到点的K个近邻边(后面用到的K邻近图) n n 优点: ¨ 压缩数据量,节省了存储空间 ¨ 稀疏图 n 稀疏图:只保留对象中与其最近邻之间的连接 ¨ 稀疏化方法: 断开相似度低于指定阈值的边 n 保留连接到点的K个近邻边(后面用到的K邻近图) n n 优点: ¨ 压缩数据量,节省了存储空间 ¨ 在密集和稀疏区域的数据项都同样能建模 ¨ 更好的聚类(断开了与较远对象的连接) ¨ 可使用图划分算法 74

基本MST_based Clustering n 它是除了K均值之外的另一个分裂层次聚类技术, 从邻近图的最小生成树开始,可看作用稀疏化找 出簇的应用。 n 它是根据MST中边的权值大小, 断开权值大的边形 成一个森林, 森林中每棵树就是一个聚类. 算法时 间复杂度为o (mlogn) 基本MST_based Clustering n 它是除了K均值之外的另一个分裂层次聚类技术, 从邻近图的最小生成树开始,可看作用稀疏化找 出簇的应用。 n 它是根据MST中边的权值大小, 断开权值大的边形 成一个森林, 森林中每棵树就是一个聚类. 算法时 间复杂度为o (mlogn) (m 为边数, n 为顶点数) , 能够处理任意形状和高维数据聚类问题 75

最小生成树算法 n 克鲁斯卡尔算法 ¨ 时间复杂度: n 普里姆算法 ¨ 时间复杂度: n (e为边的个数) (n为结点个数) 破圈法 76 最小生成树算法 n 克鲁斯卡尔算法 ¨ 时间复杂度: n 普里姆算法 ¨ 时间复杂度: n (e为边的个数) (n为结点个数) 破圈法 76

最小生成树聚类算法 n 输入:数据库中数据项 n 输出:经过聚类所得簇 ¨ 构造顶点的K-邻近相异度图 ¨ 计算图的最小生成树 ¨ repeat ¨ 断开对应于最大相异度的边,创建新簇 ¨ 最小生成树聚类算法 n 输入:数据库中数据项 n 输出:经过聚类所得簇 ¨ 构造顶点的K-邻近相异度图 ¨ 计算图的最小生成树 ¨ repeat ¨ 断开对应于最大相异度的边,创建新簇 ¨ until 只剩下单个簇 77

评价 n 优点: ¨ 简单易实现 ¨ 能够处理任意形状和高维数据聚类问题. n 缺点: ¨ 这个算法不能处理任意密度的情况,并且参数的设定也 有一定的难度 78 评价 n 优点: ¨ 简单易实现 ¨ 能够处理任意形状和高维数据聚类问题. n 缺点: ¨ 这个算法不能处理任意密度的情况,并且参数的设定也 有一定的难度 78

MST改进一 n 根据数据的最近邻原理, 即一个对象与其最近邻 对象趋向于在同一个类中, 从最小生成树中的一 个边开始, 通过一个控制参数, 逐步合并该边连接 的两个部分(两点之间的互联性还具有传递性, 这样将可以互联的所有点聚在一起即成为一个簇) n 方法类似与基于密度的DBSCAN算法,根据点间的 可达性聚类 MST改进一 n 根据数据的最近邻原理, 即一个对象与其最近邻 对象趋向于在同一个类中, 从最小生成树中的一 个边开始, 通过一个控制参数, 逐步合并该边连接 的两个部分(两点之间的互联性还具有传递性, 这样将可以互联的所有点聚在一起即成为一个簇) n 方法类似与基于密度的DBSCAN算法,根据点间的 可达性聚类 79

MST改进二 n 利用基本最小生成树聚类算法,清除相对较大的 边得到森林,对森林中的每棵树构造邻接矩阵, 以邻接矩阵中度最大的节点作为簇的中心,根据 各个结点距中心的距离按最小距离归类,完成聚 类 80 MST改进二 n 利用基本最小生成树聚类算法,清除相对较大的 边得到森林,对森林中的每棵树构造邻接矩阵, 以邻接矩阵中度最大的节点作为簇的中心,根据 各个结点距中心的距离按最小距离归类,完成聚 类 80

改进评价 n n 优点: ¨ 解决了基本算法的问题,它可得到任意形状、 任意密度的类 ¨ 对于高维数据集, 只要计算出相似度矩阵就能 用本算法进行求解, 该算法还有良好的扩展性 ¨ 与输入顺序没有关系, 改进评价 n n 优点: ¨ 解决了基本算法的问题,它可得到任意形状、 任意密度的类 ¨ 对于高维数据集, 只要计算出相似度矩阵就能 用本算法进行求解, 该算法还有良好的扩展性 ¨ 与输入顺序没有关系, 能发现离群点等优良特 性. 缺点: ¨ 生成MST的时间复杂度成为算法效率的瓶颈 81

Chameleon n 一个利用动态模型的层次聚类算法 ¨ 基于动态模型的合并过程有利于自然的和同构的聚类的 发现,只要定义了相似度函数就可以用所有类型的数 据 ¨ 通过一个图划分算法将数据对象聚类为大量相对较小的 子聚类,然后利用一个凝聚的层次聚类算法通过反复 的合并子类来找到真正的结果簇。 ¨ 既考虑了互联性又考虑了簇间的接近性,特别是簇内部 的特征来确定相似的子簇,这样它就不依赖于一个静 Chameleon n 一个利用动态模型的层次聚类算法 ¨ 基于动态模型的合并过程有利于自然的和同构的聚类的 发现,只要定义了相似度函数就可以用所有类型的数 据 ¨ 通过一个图划分算法将数据对象聚类为大量相对较小的 子聚类,然后利用一个凝聚的层次聚类算法通过反复 的合并子类来找到真正的结果簇。 ¨ 既考虑了互联性又考虑了簇间的接近性,特别是簇内部 的特征来确定相似的子簇,这样它就不依赖于一个静 态的用户提供的模型,能够自动地适应被合并的内部 特征 82

Chameleon基本步骤 n Chameleon算法基于通常采用的K-最邻近图方法 描述他的对象 83 Chameleon基本步骤 n Chameleon算法基于通常采用的K-最邻近图方法 描述他的对象 83

Chameleon——比较 n 以往算法的不足: ¨ 只处理符合某静态模型的簇 ¨ 忽略了不同簇间的信息 忽略互联性:只考虑簇 间距离较近数据对的多 少 n 忽略接近性:只考虑簇 间数据的最近距离 n Chameleon——比较 n 以往算法的不足: ¨ 只处理符合某静态模型的簇 ¨ 忽略了不同簇间的信息 忽略互联性:只考虑簇 间距离较近数据对的多 少 n 忽略接近性:只考虑簇 间数据的最近距离 n 变色龙算法发现了这样的局限性,它同时考虑互联性和 接近性,使得聚类效果大大提高 84

相对互连性(RI) n 相对互联性函数: ¨ EC( Ci, Cj): 连接簇Ci和Cj的所有边的权重 ¨ EC( Ci): 把簇Ci划分为两个大致相等部分的最小 等分线切断的所有边的权重和。 ¨ 相对互连性(RI) n 相对互联性函数: ¨ EC( Ci, Cj): 连接簇Ci和Cj的所有边的权重 ¨ EC( Ci): 把簇Ci划分为两个大致相等部分的最小 等分线切断的所有边的权重和。 ¨ 相对互连性能处理簇间形状不同和互连程度不同 的问题。 85

相对接近性(RC) n 相对接近性函数: ¨ :连接簇Ci和Cj的边的平均权重。 ¨ :把簇Ci划分为两个大致相等部分的 最小等分线切断的所有边的平均权重 86 相对接近性(RC) n 相对接近性函数: ¨ :连接簇Ci和Cj的边的平均权重。 ¨ :把簇Ci划分为两个大致相等部分的 最小等分线切断的所有边的平均权重 86

聚类——Chameleon两阶段算法 n 第一阶段:用图形划分算法把K-最邻近图使用划 分算法将其划分为较小的相对独立的子簇; n 第二阶段:用一个凝聚的层次聚类算法反复合并 子类找到真正的结果簇 87 聚类——Chameleon两阶段算法 n 第一阶段:用图形划分算法把K-最邻近图使用划 分算法将其划分为较小的相对独立的子簇; n 第二阶段:用一个凝聚的层次聚类算法反复合并 子类找到真正的结果簇 87

第一阶段:得子簇 概化过程:将原始图通过概化操 作产出一系列逐步缩小的概图 n 运用h. Metis算法 初始分割过程:应用超图分割算 法对最小的概图进行分割 ¨ h. Metis算法根据最小化截断的边的权重和来分割K反概化和精化过程:最小概图的 最邻近图 二分反向逐层映射回原图,并在 ¨ 第一阶段:得子簇 概化过程:将原始图通过概化操 作产出一系列逐步缩小的概图 n 运用h. Metis算法 初始分割过程:应用超图分割算 法对最小的概图进行分割 ¨ h. Metis算法根据最小化截断的边的权重和来分割K反概化和精化过程:最小概图的 最邻近图 二分反向逐层映射回原图,并在 ¨ h. Metis多层超图二分算法:提供高质量快速的划分 每一层进行精化操作,不断提高 分割质量 88

第二阶段:合并子簇 n 用户指定阈值(TRI和TRC) ¨ 访问每个簇,计算它与临近簇的RI和RC。 ¨ 合并RI和RC分别超过TRI和TRC的簇对。若满足条件的临 近簇多于一个,合并具有最高绝对互连性的簇。 ¨ 重复上两步,直到没有可合并的簇。 n 函数定义 Ci, Cj)=RI( 第二阶段:合并子簇 n 用户指定阈值(TRI和TRC) ¨ 访问每个簇,计算它与临近簇的RI和RC。 ¨ 合并RI和RC分别超过TRI和TRC的簇对。若满足条件的临 近簇多于一个,合并具有最高绝对互连性的簇。 ¨ 重复上两步,直到没有可合并的簇。 n 函数定义 Ci, Cj)=RI( Ci, Cj)× RC( Ci, Cj)α( 选择函数值最大的两个簇) n α>1, 更重视相对近似性 n α<1, 更重视相对互连性 n 选择使该函数值最大的簇对合并。 ¨ 度量函数:F( 89

算法 n n 输入:数据库中数据项 输出:经过聚类所得簇 ¨ 构造K-最邻近图 ¨ 使用多层图划分算法划分图(使用h. Metis算法) ¨ Repeat ¨ 根据相对互联性和接近性合并簇 算法 n n 输入:数据库中数据项 输出:经过聚类所得簇 ¨ 构造K-最邻近图 ¨ 使用多层图划分算法划分图(使用h. Metis算法) ¨ Repeat ¨ 根据相对互联性和接近性合并簇 ¨ Until不再有可以合并的簇 90

实验结果对比 Chameleon算法聚类结果 CURE算法聚类结果 91 实验结果对比 Chameleon算法聚类结果 CURE算法聚类结果 91

Chameleon总结 n n 有效的聚类空间数据,即使存在噪声点和离群点, 并且簇具有不同形状、大小、密度 问题: ¨ k-最近邻居图中k值的选取。 ¨ 用户指定方式中阈值的选取。 ¨ 使用稀疏化和图划分算法的到的对象组群必须是子簇, 否则第二阶段将导致错误,因它不会将已经错误的放 到一起的对象分开(对于高维数据时常发生) Chameleon总结 n n 有效的聚类空间数据,即使存在噪声点和离群点, 并且簇具有不同形状、大小、密度 问题: ¨ k-最近邻居图中k值的选取。 ¨ 用户指定方式中阈值的选取。 ¨ 使用稀疏化和图划分算法的到的对象组群必须是子簇, 否则第二阶段将导致错误,因它不会将已经错误的放 到一起的对象分开(对于高维数据时常发生) n 在最坏情况下,高维数据的处理代价可能需要 O(n 2)的时间。 92

模糊聚类 n n 硬聚类 ¨ 对象只能被划分到一个簇中,即使它到两个质 心距离相等或接近。 模糊聚类(软聚类) ¨ 对象不被明确的划分给某个簇,而是给对象赋 予一个权值,指明它属于某个簇的程度。 ¨ 对象可以以 0和1之间的某个隶属度属于一个簇。 模糊聚类 n n 硬聚类 ¨ 对象只能被划分到一个簇中,即使它到两个质 心距离相等或接近。 模糊聚类(软聚类) ¨ 对象不被明确的划分给某个簇,而是给对象赋 予一个权值,指明它属于某个簇的程度。 ¨ 对象可以以 0和1之间的某个隶属度属于一个簇。 93

基于网格的聚类 n n 聚类分析的算法有很多,其中一大类的传统算法 是基于距离的,这种基于距离的缺点在于只能发 现球状的簇、处理大数据集和高维数据集时不够 有效,另一方面它能发现的聚类个数常常依赖于 用户参数的指定,这对用户来说经常是很困难的。 基于网格(dding-based)指将对象空间量化为有限 数目的单元,形成一个网格结构,所有聚类都在 这个网格结构上进行。 94 基于网格的聚类 n n 聚类分析的算法有很多,其中一大类的传统算法 是基于距离的,这种基于距离的缺点在于只能发 现球状的簇、处理大数据集和高维数据集时不够 有效,另一方面它能发现的聚类个数常常依赖于 用户参数的指定,这对用户来说经常是很困难的。 基于网格(dding-based)指将对象空间量化为有限 数目的单元,形成一个网格结构,所有聚类都在 这个网格结构上进行。 94

基于网格的聚类 n n n 基本思想是将每个属性的可能值分割成许多相邻 的区间,创建网格单元的集合(对于的讨论我们 假设属性值是序数的、区间的或者连续的)。 每个对象落入一个网格单元,网格单元对应的属 性区间包含该对象的值。 优点是它的处理速度很快,其处理时间独立于数 据对象的数目,只与量化空间中每一维的单元数 目有关。 95 基于网格的聚类 n n n 基本思想是将每个属性的可能值分割成许多相邻 的区间,创建网格单元的集合(对于的讨论我们 假设属性值是序数的、区间的或者连续的)。 每个对象落入一个网格单元,网格单元对应的属 性区间包含该对象的值。 优点是它的处理速度很快,其处理时间独立于数 据对象的数目,只与量化空间中每一维的单元数 目有关。 95

STING: 统计信息网格 n STING是一种基于网格的多分辨率聚类技术,它将 空间区域划分为矩形单元。 ¨ 针对不同级别的分辨率,通常存在多个级别的 矩形单元, ¨ 这些单元形成了一个层次结构:高层的每个单 元被划分为多个低一层的单元。 ¨ 关于每个网格单元属性的统计信息(例如平均 值、最大值和最小值)被预先计算和存储。这 STING: 统计信息网格 n STING是一种基于网格的多分辨率聚类技术,它将 空间区域划分为矩形单元。 ¨ 针对不同级别的分辨率,通常存在多个级别的 矩形单元, ¨ 这些单元形成了一个层次结构:高层的每个单 元被划分为多个低一层的单元。 ¨ 关于每个网格单元属性的统计信息(例如平均 值、最大值和最小值)被预先计算和存储。这 些统计信息用于回答查询。 96

STING: 统计信息网格 网格中常用参数 n count-网格中对象数目 n mean-网格中所有值的平均值 n stdev-网格中属性值的标准偏差 n min-网格中属性值的最小值 n max-网格中属性值的最大值 n STING: 统计信息网格 网格中常用参数 n count-网格中对象数目 n mean-网格中所有值的平均值 n stdev-网格中属性值的标准偏差 n min-网格中属性值的最小值 n max-网格中属性值的最大值 n distribution-网格中属性值符合的分布类型。如正 态分布、均匀分布、指数分布或者none(分布类 型未知) 97

STING: 统计信息网格 STING聚类的层次结构 98 STING: 统计信息网格 STING聚类的层次结构 98

STING: 统计信息网格 n n 当数据加载到数据库时。最底层的单元参数直接 由数据计算,若分布类型事先知道,可以用户直 接指定,而较高层的分布类型可以基于它对应的 低层单元多数的分布类型,用一个阈值过滤过程 的合取来计算,若低层分布彼此不同,则高层分 布设置为none。 高层单元的统计参数可以很容易的从低层单元的 参数计算得到。 99 STING: 统计信息网格 n n 当数据加载到数据库时。最底层的单元参数直接 由数据计算,若分布类型事先知道,可以用户直 接指定,而较高层的分布类型可以基于它对应的 低层单元多数的分布类型,用一个阈值过滤过程 的合取来计算,若低层分布彼此不同,则高层分 布设置为none。 高层单元的统计参数可以很容易的从低层单元的 参数计算得到。 99

STING: 统计信息网格 统计处理步骤: n 使用自顶向下的方法回答空间数据的查询 从一个预先选择的层次开始-通常包含少量的单 元,为当前层的每个单元计算置信区间 n 不相关的单元不再考虑 n 当检查完当前层,接着检查下一个低层次 n 重复这个过程直到达到底层 100 STING: 统计信息网格 统计处理步骤: n 使用自顶向下的方法回答空间数据的查询 从一个预先选择的层次开始-通常包含少量的单 元,为当前层的每个单元计算置信区间 n 不相关的单元不再考虑 n 当检查完当前层,接着检查下一个低层次 n 重复这个过程直到达到底层 100

STING: 统计信息网格 n n n 查找加利福尼亚州地区的房屋以得到房产相关方 面年龄数据。约束条件:单元地区至少有100栋房 屋; 70%的房屋其价格在$2000到$30000之间 查询语言(sql语言) SELECT RANGE(age) FROM house-map STING: 统计信息网格 n n n 查找加利福尼亚州地区的房屋以得到房产相关方 面年龄数据。约束条件:单元地区至少有100栋房 屋; 70%的房屋其价格在$2000到$30000之间 查询语言(sql语言) SELECT RANGE(age) FROM house-map WHERE price RANGE (2000, 30000) WITH PERCENT (0. 7, 1) AND AREA (100, +) AND LOCATION California 101

STING: 统计信息网格 算法步骤: 1 从一个层次开始 2 对于这一层次的每个单元格,我们计算查询相关的属性值 3 从计算的属性值及其约束条件中,我们将每一个单元格标 注成相关或者不相关 4 如果这一层是底层,则转到步骤 6,否则就行步骤 5 STING: 统计信息网格 算法步骤: 1 从一个层次开始 2 对于这一层次的每个单元格,我们计算查询相关的属性值 3 从计算的属性值及其约束条件中,我们将每一个单元格标 注成相关或者不相关 4 如果这一层是底层,则转到步骤 6,否则就行步骤 5 5 我们由层次结构转到下一层依照步骤 2进行计算 6 查询结果满足,转到步骤 8,否则转到步骤 7 7 恢复数据到相关的单元格进一步处理以得到满意结果,转 到步骤 8 8 停止 102

STING: 统计信息网格 103 STING: 统计信息网格 103

STING: 统计信息网格 优点如下: n 计算是独立于查询的; n 有利于并行处理和增量更新; n 效率很高。 ¨ STING算法扫描数据库一次来计算单元的统计信息,因 此产生聚类的时间复杂度是o(n),其中n是对象的数目。 在层次结构建立后,查询处理时间是,这里g是最低层 网格单元的数目o(g),通常远小于n。 STING: 统计信息网格 优点如下: n 计算是独立于查询的; n 有利于并行处理和增量更新; n 效率很高。 ¨ STING算法扫描数据库一次来计算单元的统计信息,因 此产生聚类的时间复杂度是o(n),其中n是对象的数目。 在层次结构建立后,查询处理时间是,这里g是最低层 网格单元的数目o(g),通常远小于n。 104

STING: 统计信息网格 缺点如下: n 如果粒度比较细,处理的代价会显著增加;但是,如果网 格结构最低层的粒度太粗,将会降低聚类分析的质量; n 在构建一个父亲单元时没有考虑孩子单元和其相邻单元之 间的关系,因此,结果簇的形状是isothetic,即所有的 聚类边界或者是水平的,或者是竖直的,没有斜的分界线。 ¨ 尽管该技术有快速的处理速度,但可能降低簇的质量和 精确性 105 STING: 统计信息网格 缺点如下: n 如果粒度比较细,处理的代价会显著增加;但是,如果网 格结构最低层的粒度太粗,将会降低聚类分析的质量; n 在构建一个父亲单元时没有考虑孩子单元和其相邻单元之 间的关系,因此,结果簇的形状是isothetic,即所有的 聚类边界或者是水平的,或者是竖直的,没有斜的分界线。 ¨ 尽管该技术有快速的处理速度,但可能降低簇的质量和 精确性 105

基于模型的聚类 n 基于模型的方法试图优化给定数据和某数学模型 之间的拟合。 n 通常基于这样的假设:数据根据潜在的一系列概 率分布生成。 n 两种方案: ¨ 统计学方案:EM和 COBWEB ¨ 神经网络方案:SOM 基于模型的聚类 n 基于模型的方法试图优化给定数据和某数学模型 之间的拟合。 n 通常基于这样的假设:数据根据潜在的一系列概 率分布生成。 n 两种方案: ¨ 统计学方案:EM和 COBWEB ¨ 神经网络方案:SOM 106

基于模型的聚类 n 基于统计模型:通常一种方便而有效的做法是,假定数据 是由一个统计过程产生的,并通过找出最佳拟合数据的统 计模型来描述数据,其中统计模型用分布和该分布的一组 参数描述 n 基于模型的算法通过构建反映数据点空间分布的密度函数 或其他来定位聚类 n 它的某些算法基于标准的统计数字自动决定聚类的数目, 考虑噪声数据和孤立点,从而产生健壮的聚类 107 基于模型的聚类 n 基于统计模型:通常一种方便而有效的做法是,假定数据 是由一个统计过程产生的,并通过找出最佳拟合数据的统 计模型来描述数据,其中统计模型用分布和该分布的一组 参数描述 n 基于模型的算法通过构建反映数据点空间分布的密度函数 或其他来定位聚类 n 它的某些算法基于标准的统计数字自动决定聚类的数目, 考虑噪声数据和孤立点,从而产生健壮的聚类 107

EM: 最大似然估计混合模型参数 n 期望最大化算法是一种流行的迭代求精算法。它可以看作 是k均值算法的一种扩展,不过EM不把每一个对象指派到 特定的簇,而是根据一个代表隶属度概率的权重将每个对 象指派到簇,即簇间没有严格的边界 n 假定数据是从k个概率分布而来,每个簇用一个概率分布 描述。 n 目标:得到概率分布的参数 n 算法:期望最大化 EM: 最大似然估计混合模型参数 n 期望最大化算法是一种流行的迭代求精算法。它可以看作 是k均值算法的一种扩展,不过EM不把每一个对象指派到 特定的簇,而是根据一个代表隶属度概率的权重将每个对 象指派到簇,即簇间没有严格的边界 n 假定数据是从k个概率分布而来,每个簇用一个概率分布 描述。 n 目标:得到概率分布的参数 n 算法:期望最大化 n 输出:概率分布参数,数据分配到聚类 108

混合模型 n 混合模型:使用若干统计分布对数据建模,每个 分布对应于一个簇,而每个分布的参数提供对应 簇的描述 n 将数据看作从不同的概率分布得到观测值的集合。 概率分布可以是任何分布,但通常是多元正态的, 因为这种类型的分布已被人们完全理解,容易从 数学上进行处理,并已经证明在许多情况下都恩 能够产生好的结果 109 混合模型 n 混合模型:使用若干统计分布对数据建模,每个 分布对应于一个簇,而每个分布的参数提供对应 簇的描述 n 将数据看作从不同的概率分布得到观测值的集合。 概率分布可以是任何分布,但通常是多元正态的, 因为这种类型的分布已被人们完全理解,容易从 数学上进行处理,并已经证明在许多情况下都恩 能够产生好的结果 109

混合模型 n n n 假定有k个簇,m个对象。则,第j个簇的参数为 j = ( j, j) 选取第j个分布产生一个对象的概率是wj,其中w 1 + …+ 混合模型 n n n 假定有k个簇,m个对象。则,第j个簇的参数为 j = ( j, j) 选取第j个分布产生一个对象的概率是wj,其中w 1 + …+ wk = 1 第i个对象来自第j个分布的概率是 则第i个对象出现在第j个簇中的概率是 则某个对象x出现的概率是 110

混合模型 如果对象以独立的方式产生则数据集X的概率为: 111 混合模型 如果对象以独立的方式产生则数据集X的概率为: 111

示例: 112 示例: 112

最大化参数估计 n 最大似然估计 ¨ 如果我们有从某个分布的出的一组数据,但不 知道分布的参数,则可以选择能最大化的参数。 ¨ 也就是最大化 113 最大化参数估计 n 最大似然估计 ¨ 如果我们有从某个分布的出的一组数据,但不 知道分布的参数,则可以选择能最大化的参数。 ¨ 也就是最大化 113

EM: 使用最大似然估计混合模型参数 选择模型参数的初始值 重复以下两个步骤 n Expectation step: 对每个对象,计算它们属于各个分布的概率, 即prob(xi| i) n Maximation step: 根据上步得出的概率,计算能够最大化似然 EM: 使用最大似然估计混合模型参数 选择模型参数的初始值 重复以下两个步骤 n Expectation step: 对每个对象,计算它们属于各个分布的概率, 即prob(xi| i) n Maximation step: 根据上步得出的概率,计算能够最大化似然 函数的新的参数估计 直到参数不再改变 114

EM: 使用最大似然估计混合模型参数 n 期望步对应于将每个对象以某一概率指派到每个簇( 分布)中 n 最大化步对应选取分布的所有参数以及权值参数来最 大化似然(参数一般由最大似然估计推导出来的公式 进行计算) ¨ 对于单个正态分布参数最大似然估计就是分布中对 象的均值 ¨ 混合分布和EM算法背景下,均值计算需要修改以说 EM: 使用最大似然估计混合模型参数 n 期望步对应于将每个对象以某一概率指派到每个簇( 分布)中 n 最大化步对应选取分布的所有参数以及权值参数来最 大化似然(参数一般由最大似然估计推导出来的公式 进行计算) ¨ 对于单个正态分布参数最大似然估计就是分布中对 象的均值 ¨ 混合分布和EM算法背景下,均值计算需要修改以说 明每个对象以一定的概率属于某分布 115

示例 116 示例 116

示例 117 示例 117

示例 118 示例 118

示例 119 示例 119

示例 120 示例 120

示例 121 示例 121

算法评价 n n 比K均值更加具有普遍性 聚类由几个参数就能表示(用模型刻画簇) 当簇只包含少量数据时,不能很好的处理 在估计簇的个数,或者说是选择适当模型方面存 在问题 122 算法评价 n n 比K均值更加具有普遍性 聚类由几个参数就能表示(用模型刻画簇) 当簇只包含少量数据时,不能很好的处理 在估计簇的个数,或者说是选择适当模型方面存 在问题 122

概念聚类 n n n 概念聚类(一种机器学习聚类方法) ¨ 概念具有可解释性 ¨ 给定一组未标记对象,产生对象的分类模式 ¨ 与传统聚类不同的是不仅确定对象分组外,而 且找出每组对象的特征描述 概念聚类是一个两步的过程: ¨ 概念聚类 n n n 概念聚类(一种机器学习聚类方法) ¨ 概念具有可解释性 ¨ 给定一组未标记对象,产生对象的分类模式 ¨ 与传统聚类不同的是不仅确定对象分组外,而 且找出每组对象的特征描述 概念聚类是一个两步的过程: ¨ 首先聚类然后给出特征描述 聚类质量不再只是个体对象的函数,而且加入了 如导出概念描述的一般性和简单性等因素 123

COBWEB n COBWEB (Fisher’ 87) ¨ 一种流行的简单的增量的概念聚类方法 ¨ 输入对象用分类属性-值对描述 ¨ 以分类树的形式创建层次聚类 ¨ 树中的每个节点代表一个概念,并且包含这个 概念的概率描述 COBWEB n COBWEB (Fisher’ 87) ¨ 一种流行的简单的增量的概念聚类方法 ¨ 输入对象用分类属性-值对描述 ¨ 以分类树的形式创建层次聚类 ¨ 树中的每个节点代表一个概念,并且包含这个 概念的概率描述 124

分类树 125 分类树 125

决策树 age? <=30 overcast 31. . 40 student? no no >40 credit rating? yes 决策树 age? <=30 overcast 31. . 40 student? no no >40 credit rating? yes yes excellent yes fair no 126

区别 n n 分类树: ¨ 分类树标记节点。每个节点对应一个概念,包 含该概念的概率描述,汇总分类在该节点下的 对象 ¨ 概率描述包含概念的概率和一个条件概率 p(Ai=vij|ck) ,其中Ai=vij是一个属性---值对 (第i个属性取它第j个值的概率) 决策树 区别 n n 分类树: ¨ 分类树标记节点。每个节点对应一个概念,包 含该概念的概率描述,汇总分类在该节点下的 对象 ¨ 概率描述包含概念的概率和一个条件概率 p(Ai=vij|ck) ,其中Ai=vij是一个属性---值对 (第i个属性取它第j个值的概率) 决策树 ¨ 决策树标记每个边,节点采用逻辑描述。 127

分类效用(category utility) n n 采用启发式分类度量——分类效用来指导树的创 建 属性值的概率: p(Ai=vij) 表示此属性某个值出 现的概率,越大,表示这个值越能影响预测 类内相似性: p(Ai=vij|ck) 该值越大,表示共 享该属性---值对的类成员的比例越大,就更加可 分类效用(category utility) n n 采用启发式分类度量——分类效用来指导树的创 建 属性值的概率: p(Ai=vij) 表示此属性某个值出 现的概率,越大,表示这个值越能影响预测 类内相似性: p(Ai=vij|ck) 该值越大,表示共 享该属性---值对的类成员的比例越大,就更加可 预测该对是属于类成员的 类间相异性: p(ck|Ai=vij) 该值越大,共享该 属性---值对的其他类类成员就越少,就更加可预 测该对是属于类成员的 128

分类效用(category utility) 能够正确猜测属 性值的期望数目 未知划分时正确猜测 的期望数目 129 分类效用(category utility) 能够正确猜测属 性值的期望数目 未知划分时正确猜测 的期望数目 129

COBWEB n 将对象增量地加入到分类树中。 ¨ n COBWEB算法沿着一条适当的路径向下,修改计数, 寻找可以分类该对象的最好节点。 也计算为给定对象创建一个新的节点所产生的分 类效用。 ¨ 它与基于现存节点的计算相比较。根据产生最高分类效 用的划分,对象被置于一个已存在的类,或者为它创 建一个新类。 n COBWEB n 将对象增量地加入到分类树中。 ¨ n COBWEB算法沿着一条适当的路径向下,修改计数, 寻找可以分类该对象的最好节点。 也计算为给定对象创建一个新的节点所产生的分 类效用。 ¨ 它与基于现存节点的计算相比较。根据产生最高分类效 用的划分,对象被置于一个已存在的类,或者为它创 建一个新类。 n 可以自动修正划分中类的数目。 ¨ 它不需要用户提供这样的输入参数。 130

COBWEB n n n 在一个对象进入时,有四种选择 ¨ 将对象置于最好的分类中 ¨ 加入一个新分类,包含此对象 ¨ 将两个现有分类合并,并把对象加入 ¨ 将现有分类分裂,并加入对象 以上前两种操作对于输入顺序比较敏感,而后两 COBWEB n n n 在一个对象进入时,有四种选择 ¨ 将对象置于最好的分类中 ¨ 加入一个新分类,包含此对象 ¨ 将两个现有分类合并,并把对象加入 ¨ 将现有分类分裂,并加入对象 以上前两种操作对于输入顺序比较敏感,而后两 个则是针对这个问题附加的两个操作 选择最大化category utility的操作执行 131

算法评价 n n n n 基于概率模型,灵活性较强 处理多属性数据 自动修正划分中类的数目 不学要用户提供这样的输入参数 假定属性的概率分布相互独立,由于属性之间常 常存在相关,实际上往往不成立 复杂度不仅依赖属性数目,更依赖于每个属性值 的数目 不适用于大型数据 算法评价 n n n n 基于概率模型,灵活性较强 处理多属性数据 自动修正划分中类的数目 不学要用户提供这样的输入参数 假定属性的概率分布相互独立,由于属性之间常 常存在相关,实际上往往不成立 复杂度不仅依赖属性数目,更依赖于每个属性值 的数目 不适用于大型数据 132

数据挖掘与商务智能 Data Mining & Business Intelligence 聚类技术的商务应用案例 西安电子科技大学 软件学院 主讲人:黄健斌 133 数据挖掘与商务智能 Data Mining & Business Intelligence 聚类技术的商务应用案例 西安电子科技大学 软件学院 主讲人:黄健斌 133

聚类分析的基本原理 n 聚类分析又称群分析,它是研究(样品或指标) 分类问题的一种多元统计方法,所谓类,通俗地 说,就是指相似元素的集合。 n (1)样品聚类: ¨ 样品聚类在统计学中又称为Q 型聚类。用SPSS 的术语 来说就是对事件(Cases)进行聚类,或是说对观测量进 行聚类。它是根据被观测的 对象的各种特征,即反映 聚类分析的基本原理 n 聚类分析又称群分析,它是研究(样品或指标) 分类问题的一种多元统计方法,所谓类,通俗地 说,就是指相似元素的集合。 n (1)样品聚类: ¨ 样品聚类在统计学中又称为Q 型聚类。用SPSS 的术语 来说就是对事件(Cases)进行聚类,或是说对观测量进 行聚类。它是根据被观测的 对象的各种特征,即反映 被观测对象的特征的各变量值进行分类。 134

聚类分析的基本原理 n (2)变量聚类: ¨ n 变量聚类在统计学又称为R型聚类。反映同一事物特点的变 量有很多,我们往往根据所研究的问题选择部分变量对事物 的某一方面进行 研究。由于人类对客观事物的认识是有限 的,往往难以找出彼此独立的有代表性的变量,而影响对问 题的进一步认识和研究。例如在回归 分析中,由于自变量 的共线性导致偏回归系数不能真正反映自变量对 因变量的 聚类分析的基本原理 n (2)变量聚类: ¨ n 变量聚类在统计学又称为R型聚类。反映同一事物特点的变 量有很多,我们往往根据所研究的问题选择部分变量对事物 的某一方面进行 研究。由于人类对客观事物的认识是有限 的,往往难以找出彼此独立的有代表性的变量,而影响对问 题的进一步认识和研究。例如在回归 分析中,由于自变量 的共线性导致偏回归系数不能真正反映自变量对 因变量的 影响等。因此往往先要进行变量聚类,找出彼此独立且有代 表性的自变量,而又不丢失大部分信息。 值得提出的是将聚类分析和其它方法联合起来使 用,如判别分析、主成分分析、回归分析等往往 效果更好。 135

常用聚类算法 n K均值(K-means) 算法 n 两步聚类 n 层次聚类 n 其他 136 常用聚类算法 n K均值(K-means) 算法 n 两步聚类 n 层次聚类 n 其他 136

聚类的典型应用 n 模式识别 空间数据分析 ¨ 在GIS中,通过聚类发现特征空间来建立主题索引; ¨ 在空间数据挖掘中,检测并解释空间中的簇; 图象处理 经济学 (尤其是市场研究方面) WWW文档分类;分析WEB日志数据来发现相似的访问模 式 Cluster 聚类的典型应用 n 模式识别 空间数据分析 ¨ 在GIS中,通过聚类发现特征空间来建立主题索引; ¨ 在空间数据挖掘中,检测并解释空间中的簇; 图象处理 经济学 (尤其是市场研究方面) WWW文档分类;分析WEB日志数据来发现相似的访问模 式 Cluster analysis of data n Customer segmentation n Fraud detection n Missing value prediction n n 137

快速聚类法的SPSS操作详解 n K-均值聚类法又叫快速聚类法,可以用于大量数据进行聚 类分析的情形。它是一种非分层的聚类方法。这种方法占 用内存少、计算量、 处理速度快,特别适合大样本的聚 类分析。它的基本操作步骤如下: ¨ ¨ ¨ n 1、指定聚类数目k,应由用户指定需要聚成多少类,最终也只能 输出关于它的唯一解。这点不同于层次聚类。 2、确定k个初始类的中心。两种方式:一种是用户指定方式,二 快速聚类法的SPSS操作详解 n K-均值聚类法又叫快速聚类法,可以用于大量数据进行聚 类分析的情形。它是一种非分层的聚类方法。这种方法占 用内存少、计算量、 处理速度快,特别适合大样本的聚 类分析。它的基本操作步骤如下: ¨ ¨ ¨ n 1、指定聚类数目k,应由用户指定需要聚成多少类,最终也只能 输出关于它的唯一解。这点不同于层次聚类。 2、确定k个初始类的中心。两种方式:一种是用户指定方式,二 是根据数据本身结构的中心初步确定每个类别的原始中心点。 3、根据距离最近原则进行分类。逐一计算每一记录到各个中心点 的距离,把各个记录按照距离最近的原则归入各个类别,并计算 新形成类 别的中心点 4、按照新的中心位置,重新计算每一记录距离新的类别中心点的 距离,并重新进行归类。 5、重复步骤 4,直到达到一定的收敛标准。 这种方法也常称为逐步聚类分析,即先把被聚对象进行初 始分类, 然后逐步调整,得到最终分类。 138

SPSS在聚类分析中的应用 n n Step 01:选定对话框 ¨ 打开SPSS软件,选择菜单栏中的【File(文件)】 →【Open(打开)】→【Data(数据)】命令,弹 出【Open Data(打开数据)】对话框。 Step 02:选定打开文件类型 ¨ 在【Files SPSS在聚类分析中的应用 n n Step 01:选定对话框 ¨ 打开SPSS软件,选择菜单栏中的【File(文件)】 →【Open(打开)】→【Data(数据)】命令,弹 出【Open Data(打开数据)】对话框。 Step 02:选定打开文件类型 ¨ 在【Files of type(文件类型)】下拉列表框中指 定打开Excel文件类型。接着,选择iris. xls文件。 最后单击【Open(打开)】按钮。 139

SPSS在聚类分析中的应用 n Step 03:设置变量名称 ¨ 弹出的对话框中的【Read variable names from the fi rst row of SPSS在聚类分析中的应用 n Step 03:设置变量名称 ¨ 弹出的对话框中的【Read variable names from the fi rst row of date(从第一行数据读取变量名)】复选框表示SPSS将Excel 作表的第一行设定为SPSS的变量名称,【Range(范围)】文本 框表示选定Excel文件导入SPSS的数据范围。这里,保持系统 默认选项。 140

SPSS在聚类分析中的应用 n Step 04:完成操作 ¨ 最后,单击【OK(确定)】按钮,数据即可导入成功。 此时,SPSS的数据浏览窗口中会出现相关的数据内容。 141 SPSS在聚类分析中的应用 n Step 04:完成操作 ¨ 最后,单击【OK(确定)】按钮,数据即可导入成功。 此时,SPSS的数据浏览窗口中会出现相关的数据内容。 141

SPSS在聚类分析中的应用 n Step 05:打开对话框 ¨ 选择菜单栏中的【Analyze(分析)】→【Classify(分类)】 → 【 K-Means Cluster( K均 值 聚 类 SPSS在聚类分析中的应用 n Step 05:打开对话框 ¨ 选择菜单栏中的【Analyze(分析)】→【Classify(分类)】 → 【 K-Means Cluster( K均 值 聚 类 ) 】 命 令 , 弹 出 【 KMeans Cluster Analysis(K均值聚类分析)】对话框,这是快 速聚类分析的主操作窗口。 142

SPSS在聚类分析中的应用 n Step 06:选择聚类分析变量 Cluster Analysis(K均值聚类分析)】对 话框左侧的候选变量列表框中选择进行聚类分析的变 量,将其添加至【Variables(变量)】列表框中。同时 可以选择一个标识变量移入【Label Cases by(个案标 记依据)】列表框中。 ¨ 在【K-Means SPSS在聚类分析中的应用 n Step 06:选择聚类分析变量 Cluster Analysis(K均值聚类分析)】对 话框左侧的候选变量列表框中选择进行聚类分析的变 量,将其添加至【Variables(变量)】列表框中。同时 可以选择一个标识变量移入【Label Cases by(个案标 记依据)】列表框中。 ¨ 在【K-Means n Step 07:确定分类个数 of Clusters(聚类数)】列表框中,可以输 入确定的聚类分析数目,用户可以根据需要自行修改 调整。系统默认的聚类数为 2。 ¨ 在【Number 143

SPSS在聚类分析中的应用 n Step 08:选择聚类方法 ¨ 在【Method(方法)】下拉列表框中可以选择 聚 类 方 法 。 系 统 默 SPSS在聚类分析中的应用 n Step 08:选择聚类方法 ¨ 在【Method(方法)】下拉列表框中可以选择 聚 类 方 法 。 系 统 默 认 值 选 择 【 Iterative and classify(迭代与分类)】项。 Iterate and classify:选择初始类中心,在迭代过程中 不断更新聚类中心。把观测量分派到与之最近的以 类中心为标志的类中去。 n Classify only:只使用初始类中心对观测量进行分类, 聚类中心始终不变。 n 144

SPSS在聚类分析中的应用 n Step 09:聚类中心的输入与输出 ¨ 在主对话框中,【Cluster Centers(聚类中心)】选项 组表示输入和输出聚类中心。用户可以指定外部文件 或数据集作为初始聚类中心点,也可以将聚类分析的 聚类中心结果输出到指定文件或数据集 中。 n Read initial:要求使用指定数据文件中的观测量或建 SPSS在聚类分析中的应用 n Step 09:聚类中心的输入与输出 ¨ 在主对话框中,【Cluster Centers(聚类中心)】选项 组表示输入和输出聚类中心。用户可以指定外部文件 或数据集作为初始聚类中心点,也可以将聚类分析的 聚类中心结果输出到指定文件或数据集 中。 n Read initial:要求使用指定数据文件中的观测量或建 立数据集作为初始类中心。 n Write final as File:要求把聚类结果中的各类中心数 据保存到指定的文件或数据集中。 145

SPSS在聚类分析中的应用 n Step 10:输出聚类结果 ¨ 在主对话框中单击【 Save(保存)】按钮, 弹 出 【 Save New Variables ( SPSS在聚类分析中的应用 n Step 10:输出聚类结果 ¨ 在主对话框中单击【 Save(保存)】按钮, 弹 出 【 Save New Variables ( 保 存 新 变 量)】对话框,它用于 选择保存新变量。 146

SPSS在聚类分析中的应用 聚类结果 147 SPSS在聚类分析中的应用 聚类结果 147

SPSS在聚类分析中的应用 聚类结果 148 SPSS在聚类分析中的应用 聚类结果 148

149 149