聚类方法.ppt
《聚类方法.ppt》由会员分享,可在线阅读,更多相关《聚类方法.ppt(115页珍藏版)》请在冰豆网上搜索。
![聚类方法.ppt](https://file1.bdocx.com/fileroot1/2022-10/5/4887fc74-7982-4925-97c2-585b74eab82a/4887fc74-7982-4925-97c2-585b74eab82a1.gif)
07:
39,1,第五章聚类方法内容提要,聚类方法概述划分聚类方法层次聚类方法密度聚类方法其它聚类方法,07:
39,2,什么是聚类,聚类(clustering)也称为聚类分析,指将样本分到不同的组中使得同一组中的样本差异尽可能的小,而不同组中的样本差异尽可能的大。
聚类得到的不同的组称为簇(cluster)。
一个好的聚类方法将产生以下的聚类最大化类中的相似性最小化类间的相似性,07:
39,3,聚类与分类的差别,聚类与分类最主要的差别是聚类的样本不具有类别标号,而分类的样本具有类别标号。
聚类是无监督学习(unsupervisedlearning),而分类是有监督学习(supervisedlearning)。
因此,分类里有训练和测试,而聚类没有训练。
尽管分类是识别对象组类别的有效手段,但需要高昂的代价收集和标记训练样本集。
因此,聚类提供了一种新的处理模式:
先把数据集划分为组,然后给有限的组指定类别标号。
07:
39,4,对聚类方法的一些要求,可伸缩性处理不同类型属性的能力发现任意形状的聚类用于决定输入参数的领域知识最小化处理噪声数据和孤立点的能力对于输入纪录的顺序不敏感高维性基于约束的聚类可解释性和可用性,07:
39,5,聚类分析中的数据类型,数据矩阵相异度矩阵,07:
39,6,聚类分析中的数据类型,区间标度度量属性的取值为实数值,且不同属性取值区间差异较大将不同类型的属性取值标准化首先计算均值绝对偏差然后计算标准度量值或Z-score,07:
39,7,标准度量的聚类描述,欧几里得距离曼哈顿距离民科夫斯基距离计算欧几里得距离与曼哈顿距离,07:
39,8,聚类分析中的数据类型,二元变量属性的取值仅为0或1,0表示该变量不会出现,1表示该变量出现。
二元变量相异度计算设q为对象i与j都取1的变量的个数设r为对象i取1而对象j取0的变量的个数设s为对象i取0而对象j取1的变量的个数设t为对象i与j都取0的变量的个数对象i与j的相异度定义为,07:
39,9,聚类分析中的数据类型,二元变量非对称如果二元变量的状态不是同等重要,例如疾病检查的阳性与阴性结果,称该二元变量是非对称的。
我们把重要的状态编码为1,相对次要的状态编码为0,此时,两个都取1的匹配(正匹配)比两个都去0的匹配(负匹配)更有意义。
此时,负匹配的个数可以认为不太重要,可以在计算中忽略,对象i与j的相异度定义为,07:
39,10,聚类分析中的数据类型,二元变量相似度二元状态的相似度定义为系数sim(i,j)称为Jaccard系数。
07:
39,11,聚类分析中的数据类型,分类变量属性的取值为多个状态。
比如地图颜色是个分类变量,取值可以为:
红色,黄色,绿色,粉色,蓝色。
1表示该变量出现。
分类变量相异度计算设m为对象i与j匹配的数目(即它们取相同的状态值),p为全部变量的数目,对象i与j的相异度定义为,07:
39,12,聚类分析中的数据类型,序数变量属性的取值为多个状态,这些状态值有一定的强度层次,可以排序。
序数变量相异度计算首先,将变量f的取值状态替换为它的秩(1,2,3,.,M),即序数变量的排序数。
其次,将秩的值域映射到区间0,1,这可以通过以下变换实现其中Mf为f的取值状态数目。
07:
39,13,聚类分析中的数据类型,比例标度变量属性的取值随时间的增长,呈指数增长的趋势。
比如状态的取值近视遵循下列公式其中A与B为正的常数,而t为时间。
序数变量相异度计算把比例标度度量当做区间标度变量处理把比例标度度量当做序数变量处理对比例标度度量做对数变换,07:
39,14,聚类分析中的数据类型,混合类型变量实际的应用中,一个数据库可以包含多种类型的变量,比如区间标度变量,对称二元,非对称二元,分类,序数,或者比例标度的。
混合变量相异度计算其中为单个类型变量定义的距离;p为变量的个数。
07:
39,15,聚类分析中的数据类型,向量对象的距离算法在某些应用中,如信息检索,文本文档聚类,生物学分类中,需要对大量符号实体进行比较和聚类,因此,放弃了传统的距离度量方法。
在计算两个向量的x与y的相似度时,我们可以采用余弦度量其中xT为x的转置,为x的欧几里得范数。
07:
39,16,聚类分析中的数据类型,向量对象的距离算法余弦度量实际上计算的是向量x与y之间夹角的余弦值。
余弦度量对于平移与放大是不变的。
当变量为二元时,余弦度量表示x与y之间共有属性的比例。
余弦度量也称为Tanimoto距离。
07:
39,17,主要聚类方法的分类,聚类方法大致可以分为以下几类:
划分聚类方法层次聚类方法密度聚类方法网格聚类方法基于模型的方法其它聚类方法,07:
39,18,主要聚类方法的分类,划分聚类方法划分方法将给定的数据集划分成k份,每份为一个簇。
划分方法通常采用迭代重定位技术,尝试通过对象在簇之间的移动在改进划分。
07:
39,19,主要聚类方法的分类,层次聚类方法层次聚类方法创建给定数据对象集的层次分解。
一般可以分为凝聚法与分裂法。
凝聚法:
也称为自底向上的方法,开始将每个对象形成单独的簇,然后逐次合并相近的对象或簇,直到满足终止条件。
分裂法:
也称为自顶向下的方法,开始将所有对象放入一个簇中,每次迭代,簇分裂为更小的簇,直到满足终止条件。
07:
39,20,主要聚类方法的分类,密度聚类方法大部分划分方法基于对象间的距离进行聚类,这样的方法只能发现球形簇,不能发现任意形状的簇。
基于密度的聚类方法的思想是:
只要邻域中的密度超过某个阈值,就继续聚类。
基于密度的聚类方法既可以发现任意形状的簇,也可以过滤噪声。
07:
39,21,主要聚类方法的分类,网格聚类方法:
把对象空间化为有限的数目单元,形成一个网格结构,所有的聚类操作都在网格结构内进行。
它的优点是处理速度快。
基于模型的聚类方法:
为每个簇假定一个模型,并寻找数据对给定模型的最佳组合。
其它聚类方法包括:
针对高维数据的聚类方法,基于约束条件的聚类方法等等。
07:
39,22,划分聚类算法,给定一个有n个对象的数据集,划分聚类技术将构造数据k个划分,每一个划分就代表一个簇。
也就是说,它将数据划分为k个簇,而且这k个划分满足下列条件:
每一个簇至少包含一个对象。
每一个对象属于且仅属于一个簇。
对于给定的k,算法首先给出一个初始的划分方法,以后通过反复迭代的方法改变划分,使得每一次改进之后的划分方案都较前一次更好。
k-means算法PAM算法,07:
39,23,划分聚类算法,一种直接方法就是观察聚类的类内差异(withinclustervariation)和类间差异(Betweenclustervariation)。
类内差异:
衡量聚类的紧凑性,类内差异可以用特定的距离函数来定义,例如,类间差异:
衡量不同聚类之间的距离,类间差异定义为聚类中心间的距离,例如,聚类的总体质量可被定义为w(c)和b(c)的一个单调组合,比如w(c)/b(c)。
07:
39,24,划分聚类算法,红色样本代表一个簇,黑色样本代表一个簇,请计算类内差异与类间差异。
样本数据序号属性1属性2111221312422543653744854,07:
39,25,k-means算法,k-means算法基本步骤从n个数据对象任意选择k个对象作为初始聚类中心;根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;重新计算每个(有变化)聚类的均值(中心对象);计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤2。
07:
39,26,k-means算法,算法5-1k-means算法输入:
簇的数目k和包含n个样本的数据库。
输出:
k个簇,使平方误差准则最小。
(1)assigninitialvalueformeans;/*任意选择k个对象作为初始的簇中心;*/
(2)REPEAT(3)FORj=1tonDOassigneachxjtotheclosestcenters;(4)FORi=1tokDO/*更新簇平均值*/(5)Compute/*计算准则函数E*/(6)UNTILE不再明显地发生变化。
07:
39,27,k-means算法,初始化聚类中心(k=3);根据每个样本到各个中心的距离,计算k个簇。
使用每个簇的样本,对每个簇生成新的中心。
重复STEP2和STEP3直到终止条件满足。
07:
39,28,划分聚类算法,请使用k-means算法对左边的样本进行分类,其中k=2,初始中心为样本1和样本3。
(第一次迭代),样本数据序号属性1属性2111221312422543653744854,07:
39,29,划分聚类算法,红色的样本属于一个簇,橙色的样本属于一个簇计算每个簇新的中心使用新的中心,重新对每个样本所在的簇进行分配(第二次迭代),样本数据序号属性1属性2111221312422543653744854,07:
39,30,划分聚类算法,红色的样本属于一个簇,橙色的样本属于一个簇计算每个簇新的中心使用新的中心,重新对每个样本所在的簇进行分配(第三次迭代)簇的分配情况没有变化,聚类终止,样本数据序号属性1属性2111221312422543653744854,07:
39,31,k-means算法例题,样本数据序号属性1属性2111221312422543653744854,根据所给的数据通过对其实施k-means(设n=8,k=2),,其主要执行执行步骤:
第一次迭代:
假定随机选择的两个对象,如序号1和序号3当作初始点,分别找到离两点最近的对象,并产生两个簇1,2和3,4,5,6,7,8。
对于产生的簇分别计算平均值,得到平均值点。
对于1,2,平均值点为(1.5,1)(这里的平均值是简单的相加出2);对于3,4,5,6,7,8,平均值点为(3.5,3)。
第二次迭代:
通过平均值调整对象的所在的簇,重新聚类,即将所有点按离平均值点(1.5,1)、(3.5,1)最近的原则重新分配。
得到两个新的簇:
1,2,3,4和5,6,7,8。
重新计算簇平均值点,得到新的平均值点为(1.5,1.5)和(4.5,3.5)。
第三次迭代:
将所有点按离平均值点(1.5,1.5)和(4.5,3.5)最近的原则重新分配,调整对象,簇仍然为1,2,3,4和5,6,7,8,发现没有出现重新分配,而且准则函数收敛,程序结束。
迭代次数平均值平均值产生的新簇新平均值新平均值(簇1)(簇2)(簇1)(簇2)1(1,1)(1,2)1,2,3,4,5,6,7,8(1.5,1)(3.5,3)2(1.5,1)(3.5,3)1,2,3,4,5,6,7,8(1.5,1.5)(4.5,3.5)3(1.5,1.5)(4.5,3.5)1,2,3,4,5,6,7,8(1.5,1.5)(4.5,3.5),样本数据序号属性1属性2111221312422543653744854,07:
39,32,k-means算法的性能分析,主要优点:
是解决聚类问题的一种经典算法,简单、快速。
对处理大数据集,该算法是相对可伸缩和高效率的。
当结果簇是密集的,它的效果较好。
主要缺点在簇的平均值被定义的情况下才能使用,可能不适用于某些应用。
必须事先给出k(要生成的簇的数目),而且对初值敏感,对于不同的初始值,可能会导致不同结果。
不适合于发现非凸面形状的簇或者大小差别很大的簇。
而且,它对于“躁声”和孤立点数据是敏感的。
07:
39,33,k-means算法的几种变异,k-means算法对于孤立点是敏感的。
为了解决这个问题,我们引入了k-中心点算法,该算法不采用簇中的平均值作为参照点,可以选用簇中位置最中心的对象,即中心点作为参照点。
这样划分方法仍然是基于最小化所有对象与其参照点之间的相异