聚类是什么?

论坛 期权论坛 金融     
38gda   2022-6-18 10:26   6857   5
聚类是什么?
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
2995_  1级新秀 | 2022-6-18 10:27:44 发帖IP地址来自 北京
聚类分析用于将样本进行分类处理,通常是以定量数据作为分类标准;用户可自行设置聚类数量,如果不进行设置,系统会提供默认建议;通常情况下,建议用户设置聚类数量介于3~6个之间。以下进行说明。  
聚类


1.准备工作

(1) 研究目的
聚类分析是根据事物本身的特性研究个体分类的方法,聚类分析的原则是同一类别的个体有较大相似性,不同类别的个体差异比较大。
(2) 数据类型


1)定量:数字有比较意义,比如数字越大代表满意度越高,量表为典型定量数据。
2)定类:数字无比较意义,比如性别,1代表男,2代表女。
PS:SPSSAU会根据数据类型自动选择聚类方法。
K-modes聚类:数据类型仅定类时。
2.上传数据到SPSSAU

登录账号后进入SPSSAU页面,点击右上角“上传数据”,将处理好的数据进行“点击上传文件”上传即可。


3.SPSSAU操作

(1)拖拽分析项
1) SPSSAU进阶方法→聚类。



SPSSAU仪表盘

2)检查
检查分析项是否都在左侧分析框中。
3)进行拖拽


(2)选择参数


聚类个数:聚类个数设置为几类主要以研究者的研究思路为标准,如果不进行设置,SPSSAU默认聚类个数为3,通常情况下,建议设置聚类数量介于3~6个之间。
标准化:聚类算法是根据距离进行判断类别,因此一般需要在聚类之前进行标准化处理,SPSSAU默认是选中进行标准化处理。数据标准化之后,数据的相对大小意义还在(比如数字越大GDP越高),但是实际意义消失了。
保存类别:分析选择保存‘保存类别’,SPSSAU会生成新标题用于标识,也可以右上角“我的数据”处查看到分析后的“聚类类别”。
新标题类似如下:Cluster_********。
4.SPSSAU分析

(1)聚类类别基本情况汇总分析



分析结果来源于SPSSAU

使用聚类分析对样本进行分类,使用Kmeans聚类分析方法,从上表可以看出:最终聚类得到4类群体,此4类群体的占比分别是20.00%, 30.00%, 20.00%, 30.00%。整体来看, 4类人群分布较为均匀,整体说明聚类效果较好。



SPSSAU分析建议

(2)聚类类别汇总图分析


上图可以直观的看到各个类别所占百分比,4类群体的占比分别是20.00%, 30.00%, 20.00%, 30.00%。
(3)聚类类别方差分析差异对比



分析结果来源于SPSSAU

使用方差分析去探索各个类别的差异特征,从上表可知:聚类类别群体对于所有研究项均呈现出显著性(p<0.05),意味着聚类分析得到的4类群体,他们在研究项上的特征具有明显的差异性,具体差异性可通过平均值进行对比,并且最终结合实际情况,对聚类类别进行命名处理。


(4)聚类项重要性对比




从上述结果看,所有研究项均呈现出显著性,说明不同类别之间的特征有明显的区别,聚类的效果较好。
(5)聚类中心



分析结果来源于SPSSAU


5.其它说明

(1)聚类中心是什么?
聚类中心是聚类类别的中心点情况,比如某类别时年龄对应的聚类中心为20,意味着该类别群体年龄基本在20岁左右。初始聚类中心基本无意义,它是聚类算法随机选择的聚类点,如果需要查看聚类中心情况,需要关注于最终聚类中心。实际分析时聚类中心的意义相对较小,其仅为聚类算法的计算值而已。
(2)k-prototype聚类是什么?
如果说聚类项中包括定类项,那么SPSSAU默认会进行K-prototype聚类算法(而不是kmeans算法)。定类数据不能通过数字大小直接分析距离,因而需要使用K-prototype聚类算法。
(3)聚类分析时SSE是什么意思?


在进行Kmeans聚类分析时SPSSAU默认输出误差平方和SSE值,该值可用于测量各点与中心点的距离情况,理论上是希望越小越好,而且如果同样的数据,聚类类别越多则SSE值会越小(但聚类类别过多则不便于分析)。
SSE指标可用于辅助判断聚类类别个数,建议在不同聚类类别数量情况下记录下SSE值,然后分析SSE值的减少幅度情况,如果发现比如从3个聚类到4个类别时SSE值减少幅度明显很大,那么此时选择4个聚类类别较好。
更多干货请登录SPSSAU官方网站查看。
3#
fxmqn  1级新秀 | 2022-6-18 10:28:24 发帖IP地址来自 北京
聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。
聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇。那首先的问题是如何来度量相似性呢?这便是距离度量,在生活中我们说差别小则相似,对应到多维样本,每个样本可以对应于高维空间中的一个数据点,若它们的距离相近,我们便可以称它们相似。聚类的一个宗旨就是类内紧凑,类间离得越远越好。
聚类的典型应用有:数据压缩、数据分割、数据层次化组织等等。
聚类算法大体上可以分为两类(扁平聚类和层次化聚类):


K-means算法

目标:将n个数据点分成k类

  • 给定:
  • 给定:
直观理解:

  • 寻找k个聚类中心,使得数据到聚类中心的距离最小
  • 将每个数据点分配到距离最近的聚类中心


Kmeans算法流程


K-means算法的缺点:

  • 聚类中心 不一定属于数据集
  • K-means由于使用了L2距离函数,容易被outlier和noisy data影响
K-medoids算法

目标:将n个数据点分成k类

  • 给定:
  • 给定:


K-medoids算法:

  • 限制聚类中心必须来自数据点
  • 使用L1函数作为距离函数(L2->L1).相似的想法:Ridge Regression->Lasso
算法过程:

  • 初始化:对每个cluster,任意选择数据集中一个点作为cluster中心
  • 迭代直至收敛:(1)分配步骤:将每一个数据点分配至距离最近的中心(用L1距离函数);(2)重拟合步骤:对于每一个cluster,选择离其他点最近的点作为新的中心
K-means和K-medoids算法的比较


层次聚类


  • K-means以及soft K-means都属于扁平化的聚类:类别与类别之间属于同一层次,没有嵌套关系;一个数据只能属于一个类别。
  • 层次聚类:类别与类别之间有包含/嵌套关系;一个数据可以属于多个类别。
层次聚类示意图::


层次聚类计算流程:

  • 初始化:算法将每个数据看成一个类别
  • 迭代直至只有一个类:(1)选择距离最近的两个类进行合并;(2)将被合并的两个类从现有类中删除;(3)将合并后得到的新类加入现有类中
衡量类和类之间距离远近的衡量指标有:




如何从层次聚类中获得扁平聚类?


聚类算法还有常见的密度聚类(DBSCAN),高斯混合聚类(GMM),如果后面用到再来补充。
4#
mt4fei  2级吧友 | 2022-6-18 10:28:49 发帖IP地址来自 北京
物以类聚是聚类的唯一理由,从字面意思上来看,就是具有某一属性的物质归为一类。
1、以距离为核心的聚类算法

这类算法超级多。在理解这类算法之前需要先理解距离公式(相似度公式)。
距离(distance)、相似性(similarity)、向量范数(norm)上面一个链接列了几十种距离公式。
总之距离的数值越大两者越不相似,越不能归为一类。
相似度的数值越大,两者越相似,能归为一类。
K-means算法是常见的聚类算法,具体的实现有很多种就不再多讲,还包括分类器等等等等。
2、以结构为特征的聚类。

有一些算法特别简单。现在举个模糊聚类的例子。
DEMATEL-ISM中特征突变结构的在线计算上面一个链接中。是结构特征的计算。


上面就天然的聚类成了n个类。


比如在特定的方法里就聚类了 39类,它们具有相同的结构。
3、拓扑排序为特征的聚类

VIKOR--AISM联合求解(DANP权重法)上面的例子。


这个结果就是聚了7类。
每一类都有相同的优劣排序。
4、总结

聚类就是按照特征来分类。
比如男女 就是一种分类方式。
比如学历也是一种聚类方式。
再进行聚类分析的时候,需要先进行数值化,再来分析。
以男女为例 可能会把 男表示成 0 ,女表示成1 然后根据数值再进行计算。
5#
zxmqu  1级新秀 | 2022-6-18 10:29:13 发帖IP地址来自 北京
大纲
聚类理解
聚类基本构成
聚类算法简要分析
聚类的理解

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。聚类的这个过程,本质上是根据 某种相似性进行抽象的过程。
我们可以用集合观点来理解这个问题。当我们定义一个集合的时候,往往会对集合中的元素进行相应的描述,这种描述方式可能是枚举的方式,另一种可能的方式是找到集合中元素共有的特征,然后通过一个简短符号来概括整个集合的元素。举一个简单的例子,我们规定了人这个集合。但我们不会去列举人这个集合的所有元素,通过这种方式来描述这个集合是十分费力且不现实的。所以我们尝试用人的特征去描述,比如说高级动物,社会性。
当我们规定好了一个集合,本质上也算一种分类了,因为我们可以用某个特征来描述这个集合。
我们有着各种各样的划分集合的角度。我们也不太可能为每种集合去命名,这个工作量太大了。所以人们将一些感兴趣的集合命名了一些代号,比如说人这个代号,偶数,素数等等。
而我们划分集合的依据,其中一点是事物之间的相似性。
聚类基本构成

前面介绍的是一些思想性的东西,接下来我们来说一些具体的东西,然后我们用前面建立起来的框架来理解聚类。上面提到聚类几个重要因素包括,相似性、抽象。
为什么会有聚类?在以前,人类根据自身的归纳能力,结合事物间的关联性进行分类,这是一个人工的过程。但后来,人们发现事物观察的角度有很多方面,不同的角度有不同的分类方式。角度众多造成的结果就是,我们可以有无穷多种归类的方式(只要我们利用事物不同的维度去进行归类),对于某个事物群体,我们可以有维度的指数多种分类方式。举个简单例子,假如说,我们考虑一个班级的同学,班级的同学我们只关注年龄,性别,成绩。那么我在进行归类的时候,就会8种归类依据,比如什么都不考虑,或者只考虑年龄等等。
而现实生活中,一些事物的维度往往是成百上千的,这已经远远超越了朴素的归类(人工归类)的方式了。所以我们需要有一种普适,能够自动的化的归类方式。
聚类就是一种。它反映了人们对认识事物的进一步提升。这里只讨论计算机中,数学中的聚类,其他领域的聚类可自行扩展。接下来,我们将讨论量化,指标定义,相似性等与聚类有关系的内容。
先谈量化。在计算机,如果你想让计算机处理一个事物,那就得量化。这是通过计算机进行聚类的一个前提(因为在计算机中,可以认为一切皆数)。在量化过程中,数学建模很重要,包括制定指标,以及指标相关的运算规则。
关于指标定义,这里主要讨论的是前面提到的两点:1.制定指标;2.指标间的运算规则。,当我们制定指标时,考虑的不仅是用数字符号的来标示(映射)事物的一种状态,一种特征,同时我们也希望将该状态放在其所在状态空间去理解。比如说颜色这个特征,我们不仅是用RGB中某个数去表示这个颜色,同时我们还会限定了特征空间(在这个特征空间中,top是白色,bottom是黑色),以及特征空间中的某种次序,这样子的话,我们就可以映射到有次序的数字中。进而我们可以用数字的可比性,来表示颜色的可比性。
另外需要说的一点,指标定义其实是会带入主观因素的(你选择你感兴趣的,你的知识背景等等),所以不要以为有了指标,就是客观的。完善的、经过验证的指标只能是逼近客观事实,但这也无法摆脱主观因素。
当我们有了前面说的指标后,相似性就可以通过数字来度量了,那么相似性如何体现在我们量化的数字中?在前面,我们提到了可以用数字的可比性来表示状态的可比性,而状态的可比性,往往和相似相关。所以我们可以这样认为,数字的可比性与事物的相似性相关。       
于是引出另一问题,什么样的数字运算能够较为真实的反映事物间的相似性呢?人们做了定义了很多度量相似性的计算方法。这些方法都有其合理的地方,也有相应的短板,正如前面所说,指标的制定,计算方法的制定本身就是一个会引入主观因素的过程,所以这些计算方法中都是有一定的假设的前提的。
下面简单列举一种相似性度量(数学方式)的方法,余弦距离。接下来将说明如下问题,为何距离能够描述相似性?有哪些场见的距离计算方式?        先给出余弦距离公式。
前面提到状态的数字化,次序化,使得距离这个东西变得有意义。这里认为x向量,y向量都是用同一组特征来度量的,所以向量中的某个位置,都有一定的实际的含义。看分子部分,当x,y正交的时候,说明二者相似度较低,因为x具有的特征,y没有,反之亦然。
我们解释了余弦距离公式中的分子,那么分母有何存在的意义呢?分母在这里主要的作用应该是归一化的作用。因为如果只是有分子,那么我们不知道该距离的上限,这不是我们想要的结果,所以我们利用向量本身的特点来限制自身的增长。
另外需要说明的是,余弦距离主要是用来度量两个向量方向上的差异。(衡量空间点的直线距离用欧式距离)
聚类算法

聚类算法,又称为群分析方法。它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。另外需要说明的是,聚类是以相似性为基础的
皆下来以kmeans聚类算法为例,说明相关的概念,问题。(以下部分内容来自百度百科)
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准的k个聚类。
k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
k-means 算法基本步骤
(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3) 重新计算每个(有变化)聚类的均值(中心对象);
(4) 计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)。
介绍完了一些背景知识,接下来我们尝试去理解这个算法。
从上面的算法中可以看出,这是一个不断完善模式的过程。模式这个东西比较抽象,所以我们需要具体表示出来,表现在该算法中,模式表现为某个点,该点具有代表性,能够代表一类事物。接下来重新阐释上面的算法:
(1)从集合中,选取某些代表,将这些代表作为初始分类的标准(模式)。
(2)计算聚类对象的均值(新的模式),将每个对象与新的模式进行比较,距离越小(越相似),则将对象归类到相应的模式中。
(3)某类的内部元素发生变化时,往往会对该类的一些模式产生影响。所以需要重新计算均值(模式)。
(4) 计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)。
(个人观点)
理解聚类 - 知乎专栏
6#
yf79rd  1级新秀 | 2022-6-18 10:29:45 发帖IP地址来自 中国
谢邀。
人类对未知事物的认知过程就是提取特征值、根据特征值将事物分类、套用类特性来推测这个未知事物行为特点。
比如,我们在丛林中碰到某种不认识的动物,根据有锋利的犬齿、锋利的爪子将其分类为食肉动物,那么就套用食肉动物的相关知识对其进行安全防范准备。
一般的分类都是根据人类的知识来进行的:如何设置特征变量、特征变量的取值和类的关系等。
但有些情况下,如何分类的知识人类也不太清楚时,尤其是在大数据的电商领域,我们连类在哪都不清楚(如啤酒和尿布竟会有联系),这就无法分类、也就无法完成认知了。
为了解决这种情况下的问题,所以就提出了聚类,也就是计算机自动学习分类特征。聚类的原理是事物分布的非均匀性、时空相近性,也就是说,事物的分布就如我们所看到的宇宙星空一样,大部分的空间非常稀疏,而在某些时空区域则会大量聚集,即类间距离远大于类内距离。
聚类就是利用这个特点,找到这样的聚集区域。然后分析它们为什么会聚集在一起,寻找分类特征。以后就可以用特征值来代替一类事物,从信息压缩上就是极大的效率。但现在类的行为特征的自动归纳还非常困难,所以聚类的应用受到了限制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP