第8章 聚类分析:基本概念和算法
- 格式:pdf
- 大小:1.28 MB
- 文档页数:79
第8 章聚类分析在自然与社会科学研究中,存在着大量分类研究的问题,如病虫害种群消长演替规律的研究中,需要从生态系统出发,构造其数量、时间和空间关系的分类模式,以此来研究病虫害的发生规律。
聚类分析就是其分类研究的方法之一。
聚类分析是根据事物本身的特性研究个体分类的方法。
聚类分析的原则是同一类中的个体有较大的相似性,不同类中的个体差异很大。
根据分类对象的不同可分为样品聚类和变量聚类。
1)样品聚类样品聚类在统计学中又称为 Q 型聚类。
用 SPSS 的术语来说就是对事件(Cases)进行聚类,或是说对观测量进行聚类。
是根据被观测的对象的各种特征,即反映被观测对象的特征的各变量值进行分类。
2)变量聚类变量聚类在统计学又称为 R 型聚类。
反映同一事物特点的变量有很多,我们往往根据所研究的问题选择部分变量对事物的某一方面进行研究。
由于人类对客观事物的认识是有限的,往往难以找出彼此独立的有代表性的变量,而影响对问题的进一步认识和研究。
例如在回归分析中,由于自变量的共线性导致偏回归系数不能真正反映自变量对因变量的影响等。
因此往往先要进行变量聚类,找出彼此独立且有代表性的自变量,而又不丢失大部分信息。
8.1 快速聚类过程(K-Means Cluster )调用此过程可完成由用户指定类别数的大样本资料的逐步聚类分析。
所谓逐步聚类分析就是先把被聚对象进行初始分类,然后逐步调整,得到最终分类。
[例子8-1]根据1962 年至1988 年积累的三化螟有关资料进行聚类分析,研究三化螟种群消长规律。
数据见表8-1,其中发生期是指卵盛孵高峰期(2 代以5 月31 日和3 代7 月20 日为零计算天数),F2-F3 为2 代至3 代的增殖系数,F3-F4 为3 代至4 代的增殖系数。
对幼虫发生量和发生期数据进行快速聚类,分析各年的发生程度。
1098.1.1 操作方法1)数据准备在数据管理窗口,定义变量名:年份、幼虫 2、幼虫 3、发生期 2、发生期 3、增殖23、增殖34,分别代表年份、第2 代幼虫发生量、第3 代幼虫发生量、第2 代发生期、第3 代发生期、F2-F3 增殖系数、F3-F4 增殖系数。
聚类分析的基本概念与方法聚类分析(Cluster Analysis)是一种将数据分组或分类的统计学方法,通过将相似的对象归为同一组,使得组内的对象之间更加相似,而不同组之间的对象则差异较大。
它是数据挖掘和机器学习领域中常用的技术之一,被广泛应用于市场分析、生物信息学、图像处理等领域。
一、聚类分析的基本概念聚类分析基于相似性的概念,即认为具有相似特征的对象更有可能属于同一类别。
在聚类分析中,每个对象都被视为一个数据点,而聚类则是将这些数据点分组。
基本概念包括以下几点:1. 数据点:数据集中的每个样本或对象都被看作是一个数据点,它具有多个特征或属性。
2. 相似性度量:聚类分析的关键是如何计算数据点之间的相似性或距离。
常用的相似性度量包括欧氏距离、曼哈顿距离、闵可夫斯基距离等。
3. 簇/类别:将相似的数据点归为一组,这个组被称为簇或类别。
簇内的数据点相似度较高,而不同簇之间的数据点相似度较低。
4. 聚类算法:聚类分析依赖于具体的算法来实现数据点的分组。
常见的聚类算法有K均值聚类、层次聚类、密度聚类等。
二、聚类分析的方法1. K均值聚类(K-means Clustering):K均值聚类是一种迭代的聚类方法,它将数据点分成K个簇,每个簇代表一个样本集。
算法的基本思想是通过最小化簇内数据点与簇中心之间的平方误差来确定最优的簇中心位置。
2. 层次聚类(Hierarchical Clustering):层次聚类是一种基于树状结构的聚类算法,它根据数据点之间的相似性逐步合并或分割簇。
层次聚类分为凝聚型和分裂型两种方法,其中凝聚型方法从单个数据点开始,逐步合并最相似的簇;分裂型方法从所有数据点开始,逐步分割最不相似的簇。
3. 密度聚类(Density-Based Clustering):密度聚类基于密度可达的概念,将具有足够高密度的数据点归为一簇。
核心思想是在数据空间中通过密度连通性来确定簇的边界,相对于K均值聚类和层次聚类,密度聚类能够有效处理不规则形状和噪声数据。
聚类分析法聚类分析是一种常用的数据分析方法,主要用于将相似的样本归类到同一类别中。
它是数据挖掘和机器学习领域中非常重要的一项技术,被广泛应用于各个领域,如市场研究、医学诊断、社交网络分析等。
本文将介绍聚类分析的基本概念、方法和应用,并分析其优势和局限性。
聚类分析是一种无监督学习方法,它不依赖于事先标定好的训练数据集。
通过对给定的数据进行聚类,我们可以发现数据中隐藏的模式、结构和规律。
聚类分析的基本思想是通过计算样本之间的相似度或距离,将相似的样本归为一类,从而实现对数据的分类。
在聚类分析中,相似度或距离的度量是一个关键问题,常用的度量方法包括欧氏距离、曼哈顿距离、余弦相似度等。
聚类分析的方法主要有层次聚类和划分聚类两种。
层次聚类是将样本逐步合并或分割成不同的类别,形成层次化的分类结果。
划分聚类是将所有的样本划分为K个不相交的类别,每个类别之间是互不重叠的。
这两种方法各有优劣,选择何种方法取决于具体的问题和数据特点。
聚类分析的应用非常广泛。
在市场研究中,聚类分析可以将消费者按照其购买行为、兴趣偏好等特征划分为不同的群体,为企业提供有针对性的营销策略。
在医学诊断中,聚类分析可以将病人按照其病情特征进行分类,帮助医生进行准确的诊断和治疗。
在社交网络分析中,聚类分析可以将社交网络中的用户划分为不同的社区,研究社交网络的结构和特征。
然而,聚类分析也存在一些局限性和挑战。
首先,聚类算法的结果很大程度上依赖于选择的相似度或距离度量方法,不同的度量方法可能导致不同的聚类结果。
其次,聚类算法对初始的聚类中心的选择非常敏感,不同的初始选择可能会得到不同的聚类结果。
此外,聚类算法还面临维度灾难的问题,当数据的维度很大时,聚类算法的计算复杂度会急剧增加。
在实际应用中,我们还可以将聚类分析与其他数据挖掘方法相结合,以获得更好的分析结果。
比如,我们可以将聚类分析与关联规则挖掘结合起来,通过挖掘不同类别之间的关联规则,深入分析不同类别之间的关系。
聚类分析聚类分析简单说就是对数据进⾏分类,对于⼀个⾏列数据表来说,我们既可以对变量(通常是数据表中的列)进⾏分类,也可以对个案(通常是数据表中的⾏)进⾏分类。
对变量的聚类称为R型聚类,对个案的聚类称为Q型聚类,这两种聚类在数学上是对称的,并⽆不同。
聚类是⼀种探索性分析,事先并不知道有多少种分类,⽽是从数据本⾝出发,根据算法⾃⾏分类,算法不同,聚类的结果也不同。
但是原则都是统⼀的,那就是:类别内部的差异尽可能⼩,⽽类别间的差异尽可能⼤。
⼀、聚类分析的基本算法1.⾮层次聚类法⾸先根据经验或者专业确定⼀个最终的类别个数,在所有数据中选取⼀些作为初始类作为质⼼,通过计算剩余数据到质⼼之间的距离来判断归类,每归⼀类就重新计算质⼼,如此迭代直⾄达到标准。
整个计算过程都是针对数据本⾝,不会出现类与类之间的层次关系,因此速度较快。
缺点是只能对个案进⾏聚类,⽽不能对变量聚类,数据必须是连续型数据,并且要求多元正态性和⽅差齐性。
2.层次聚类法⾸先确定数据间的距离计算⽅式和类与类之间的距离计算⽅式,根据距离的远近进⾏归类,这种⽅法存在类与类之前的层次关系,因此成为层次聚类法,缺点是计算速度较慢,优点是既能对变量进⾏聚类,也能对个案进⾏聚类,并且数据可以为连续型数据和分类数据,提供的距离测量⽅法也很丰富。
3.智能聚类法⽆论是层次聚类法还是⾮层次聚类法,都属于传统聚类法,都有⼀定的局限,⽽随着数据挖掘⽽发展起来的智能聚类法,既继承了传统聚类⽅法的优点,也改进了诸如计算速度慢等缺点,同时还可以⾃动判断最佳类别数,越来越受到重视。
⼆、距离与相似系数既然聚类分析对数据进⾏分类的标准主要是距离和相似系数,那么就来介绍⼀下这两个指标在聚类分析中都有哪些计算⽅式。
聚类分析中的距离分为数据与数据间的距离和类与类之间的距离,类与类之间的距离只有层次聚类法和智能聚类法会⽤到。
数据与数据间的距离计算⽅式有1.欧式距离(Euclidean)两样本x,y之间的距离是各样本中变量之差的平⽅和的平⽅根。
聚类分析:基本概念和算法
尤新革
电子信息与通信学院
国家防伪工程技术研究中心
youxg@
什么是聚类分析
聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组
组内对象相互之间是相似的(同质性),组间对象是不同的,同质性越大,组件差别越大,聚类就越好
Inter-cluster
distances are maximized Intra-cluster distances are minimized
什么是聚类分析
旨在理解的聚类
为了理解和分析数据,将其划分成具有公共特
性的对象组。
归类相关的文档方便浏览,归类具有相似功能
的基因和蛋白质,归类具有相似价格波动的股票。
旨在实用的聚类
为了进一步的数据分析和数据处理技术的预处理。
数据压缩,数据汇总。
什么不是聚类分析
监督式分类
具有先验的类标号信息。
简单的分割
根据姓名的起始字母将学生分成不同的组。
How many clusters?
Six Clusters
Four Clusters Two Clusters
聚类类型
层次的与划分的
嵌套的vs. 非嵌套的。
层次聚类是嵌套簇的集合,组织成树形,除叶结点外,树中每一个结点都是其子女的并。
划分聚类简单的将数据对象集划分成不重叠的子集,使得每个数据对象恰在一个子集中。
互斥的,重叠的和模糊的
互斥的(exclusive):每个对象都被指派到单个簇。
重叠的(overlapping):将对象合理的同时指派到多个簇中。
模糊的(fuzzy clustering):对象以一个0(绝对不属于)和1(绝对属于)之间的隶属权值属于每个簇。
模糊集
完全的与部分的
完全聚类(complete clustering):将每个对象指派到一个簇。
部分聚类不指派所有对象
离群点,不感兴趣的事件
簇类型
明显分离的簇
基于原型的簇
基于图的簇
基于密度的簇
概念簇
明显分离的簇
每个对象到同簇中每个对象的距离比到不同簇中任意对象的距离更近(或更相似)。
3个明显分离的簇
基于原型的簇
每个对象到定义该簇的原型的距离比到其他簇的原型的距离更近
质心
基于中心的簇
4个基于原型的簇
基于图的簇
结点是对象,边代表对象之间的联系,簇定义为互相连通但不与组外对象连通的对象组
每个对象到该簇某个对象的距离比到不同簇中任意点的距离更近
基于邻近的簇
基于密度的簇
簇是对象的稠密区域,被低密度的区域环绕
当具有噪声和离群点时,常常使用基于密度的簇定义
6个基于密度的簇
概念簇
簇定义为具有某种共同性质的对象的集合
2个重叠的环
聚类算法
K均值
基于原型的划分的聚类技术,试图发现用户指定个数的簇(由质心代表)。
凝聚的层次聚类
由多个单点簇重复合并,直到产生单个的包含所有点的簇。
DBSCAN
基于密度的聚类算法,个数自动确定。
忽略噪声,不完全聚类。
K均值用质心定义原型
1.基于原型的单层划分
2.每个聚类和一个质心点(中点)相关联
3.每个点被指派到与之最接近的质心所属的类中
4. 聚类的数量(K)必须被指定
1. 指派点到最近的质心
邻近度度量
欧式距离,余弦相似性 2. 质心和目标函数
3. 初始选择质心
a)通常随机选取初始质心
b)常常产生不同的聚类结果
随机初始化的局限
如果有K个自然簇,那么为每个簇都初始化一个质心的概率是很小的
当K很大时尤其如此
如果每个簇具有同样的大小n,则
当K=10,则概率为10!/1010 = 0.00036
对原数据抽样,使用层次聚类技术聚类,提取K个簇,并用这些簇的质心作为初始质心
取样样本较小
K相对于样本大小较小
选择离已经选取过的初始质心最远的点
得到随机的,散开的初始质心集合
会选中离群点,且开销非常大
二分K均值
对初始化问题不太敏感
后处理修补簇集
处理空簇
1.当所有的点在指派步骤都未分配到某个簇时发生;
2.需要某种策略来选择替补质心;
a) 选择一个距离当前任何质心最远的点;
消除当前对总平方误差影响最大的点
b) 从具有最大SSE的簇中选择一个替补质心;
将簇分裂并降低聚类的总SSE
3.如果有多个空簇,则过程重复多次。
离群点
1.使用平方误差时,离群点会过度影响所发现的簇
2.在可能的条件下,提前删除离群点
3.也可以在后处理时识别离群点
后处理
通过增加簇个数来降低总的SSE
1.分裂一个簇:选择具有最大SSE的簇;
2.引进一个新的质心:选择离所有簇质心最远的点
通过减少簇个数来最小化总的SSE增长
1.拆散一个簇:选择使总SSE增加最少的簇
2.合并两个簇:选择质心最接近的两个簇或使总SSE增加最少的簇
增量的更新质心
1.在点到簇的每次指派后,增量的更新质心,而不是在所有点都指派到簇中之后才更新质心;
2.每步需要零次或两次质心更新
留在原簇或转移到新簇
3.导致次序依赖性
4.开销更大
二分K均值:基本K均值算法的直接扩充
将所有的点集合分裂成两个簇,从中选择一个
继续分裂,直到产生K个簇为止。
待分裂的簇有许多不同的
选择方法:最大的簇,最
大SSE的簇等等,不同的
选择导致不同的簇。
在下列情况时,K均值算法很难检测到“自然的”簇
1.具有不同尺寸
2.具有不同密度
3.具有非球形形状
一个解决方法是使用更多的簇
K均值聚类
凝聚层次聚类
生成一系列嵌套的簇
可以用树状图表示
凝聚层次聚类
两种产生层次聚类的基本方法:
凝聚的
1.从点作为个体簇开始,每一步合并两个最接近的簇。
2.需要定义簇的邻近性概念。
分裂的
1.从包含所有点的一个簇开始,每一步分裂一个簇,直到仅剩下单点簇
2.分裂的原则
凝聚层次聚类
通过在合适的层次终止聚类的过程来获得希望的簇的数量
关键是两个簇之间的邻近度计算
凝聚层次聚类
MIN(单链)
MAX (全链)
组平均
质心距离
Ward方法
使用合并两个簇导致的SSE增加来度量两个簇之间的邻近性
凝聚层次聚类
MIN(单链) MAX (全链)
组平均
质心距离
Ward 方法
使用合并两个簇导致的SSE 增加来度量两个簇之间的邻近性
不同簇的两个最近的点之间的邻近度不同的结点子集中两个结点之间的最短边
凝聚层次聚类
MIN(单链)
MAX (全链)
组平均
质心距离 Ward 方法
使用合并两个簇导致的SSE 增加来度量两个簇之间的邻近性
不同簇中两个最远的点之间的邻近度作为簇的邻近度不同的结点子集中两个结点之间的最长边
凝聚层次聚类
MIN(单链)
MAX (全链) 组平均 质心距离
Ward 方法
使用合并两个簇导致的SSE 增加来度量两个簇之间的邻近性
取自不同簇的所有点对的平均逐对邻近度
凝聚层次聚类 MIN(单链)
MAX (全链)
组平均
质心距离
Ward方法
使用合并两个簇导致的SSE增加来度量两个簇之间的邻近性
6个二维点的集合6个点的XY坐标6个点的欧几里德距离矩阵。