将一群物理对象或者抽象对象的划分成相似的对象类的过程。其中类簇是数据对象的集合,在类簇中所有的对象都彼此相似,而类簇与类簇之间的对象是彼此相异。
聚类除了可以用于数据分割(data segmentation),也可以用于离群点检测(outlier
detection),所谓的离群点指的是与“普通”点相对应的“异常”点,而这些“异常”点往往值的注意。
很多人在学习聚类之初,容易将聚类和分类搞混淆。其实聚类属于无监督学习范畴(unsupervised
learning),也可称作观察式学习过程,与分类不同,聚类并不依赖已有既定的先验知识。举个例子,我们成年后,很清楚世界是由男人和女人组成的,所
以我们在建厕所的时候,会把厕所分为男厕所和女厕所,这就是“分类”;而当我们刚生下来,我们并不知道什么是男人,什么是女人,通过后天对生活的观察,我
们发现有一类人他们有胡子,而有一类人她们头发比较长(当然,我的这个举例已经显然不符合当今世界的发展了,你们明白就行),于是我们就把有胡子的人分为
一类人,把长头发的分为另一类人,然后“研究”发现,原来有胡子的叫男人,有长头发的叫女人,这个过程就是“聚类”。
数据挖掘对聚类的典型要求如下:
1) 可伸缩性:当聚类对象由几百上升到几百万,我们希望最后的聚类结果的准确度能一致。
2)
处理不同类型属性的能力:有些聚类算法,其处理对象的属性的数据类型只能为数值类型,但是实际应用场景中,我们往往会遇到其他类型的数据,比如二元数据,
分类数据等等。当然,在处理过程我们是可以将这些其他类型的数据预处理成数值型数据的,但是在聚类效率上或者聚类准确度上往往会有折损
3)
发现任意形状的类簇:因为许多聚类算法是用距离(eg:欧几里得距离或者曼哈顿距离)来量化对象之间的相似度的,基于这种方式,我们往往只能发现相似尺寸和密度的球状类簇或者成为凸形类簇。但是,类簇的形状可能是任意的。
4)
对聚类算法初始化参数的知识需求的最小化:很多算法在分析过程中需要用户提供一定的初始参数,比如期望的类簇个数,类簇初始质点的设定。聚类结果对这些参数是十分敏感的。这不仅加重了用户的负担,也非常影响聚类结果的准确性
5)
处理噪声数据的能力:所谓的噪声数据,可以理解为影响聚类结果的干扰数据,这些噪声数据的存在会造成聚类结果的畸变,最终导致低质量的聚类。
6)
增量聚类和对输入次序的不敏感:一些聚类算法不能将新加入的数据插入到已有的聚类结果;输入次序的敏感是指,对于给定的数据对象集合,以不同的次序提供输入对象时,最终产生的聚类结果的差异会比较大。
7)
高维性:有些算法只适合处理2维或者3维的数据,而对高维数据的处理能力很弱,因为在高维空间中数据分布可能十分稀疏,而且高度倾斜。
8)
基于约束的聚类:现实应用中可能需要在各种条件下进行聚类。因为同一个聚类算法,在不同的应用场景中所带来的聚类结果也是各异的,因此找到满足特定约束的具有良好聚类特性的数据分组是十分有挑战性的。
9)
可解释性和可用性:我们希望得到的聚类结果都能用特定的语义、知识进行解释,和实际的应用场景相联系。
聚类过程
当我们知道聚类是什么时,我们下一步想知道的应该是怎么进行聚类。这一点,教材上做了详细介绍,补充一点自己理解:
1
)特征选择
(feature
selection)
:就像其他分类任务一样,特征往往是一切活动的基础,如何选取特征来尽可能的表达需要分类的信息是一个重要问题。表达性强的特征将很影响聚类效果。这点在以后的实验中我会展示。
2)近邻测度
(proximity measure):当选定了实例向量的特征表达后,如何判断两个实例向量相似呢?这个问题是非常关键的一个问题,在聚类过程中也有着决定性的意义,因为聚类本质在区分相似与不相似,而近邻测度就是对这种相似性的一种定义。
3)聚类准则
(clustering criterion):定义了相似性还不够,结合近邻测度,如何判断相似才是关键。直观理解聚类准则这个概念就是何时聚类,何时不聚类的聚类条件。当我们使用聚类算法进行计算时,如何聚类是算法关心的,而聚与否需要一个标准,聚类准则就是这个标准。(话说标准这东西一拿出来,够吓人了吧
^_^)
4)聚类算法
(clustering algorithm):这个东西不用细说了吧,整个学习的重中之重,核心的东西这里不讲,以后会细说,简单开个头——利用近邻测度和聚类准则开始聚类的过程。
5)结果验证
(validation of the
results):其实对于
PR的作者提出这个过程也放到聚类任务流程中,我觉得有点冗余,因为对于验证算法的正确性这事应该放到算法层面吧,可以把
4)和
5)结合至一层。因为算法正确和有穷的验证本身就是算法的特性嘛。(谁设计了一个算法不得证明啊)
6)
(interpretation of the
results):中文版的
PR上翻译为结果判定,而我感觉字面意思就是结果解释。(聚类最终会将数据集分成若干个类,做事前要有原则,做事后要有解释,这个就是解释了。自圆其说可能是比较好的了
^_^)
分享到:
相关推荐
在数据分析和机器学习领域,聚类分析是一种常用的方法,它能根据数据的相似性或差异性将数据自动分组。MATLAB作为一种强大的数值计算和可视化工具,提供了丰富的函数和工具箱来实现各种聚类算法。在这个场景中,我们...
聚类分析是一种探索性的数据分析技术,旨在识别数据集中对象之间的相似性,并根据这些相似性将对象分组到不同的类别中。SPSS(Statistical Package for the Social Sciences)是一款广泛使用的统计软件,它提供了...
聚类分析是一种无监督学习方法,用于发现数据中的自然分组,即聚类,以此来理解数据的结构。 聚类分析在SPSS中的基本步骤如下: 1. 准备数据:在进行聚类分析之前,需要确保数据质量,剔除异常值,处理缺失值,...
matlab模糊聚类分析(算法源码) matlab模糊聚类分析(算法源码) matlab模糊聚类分析(算法源码) matlab模糊聚类分析(算法源码) matlab模糊聚类分析(算法源码) matlab模糊聚类分析(算法源码) matlab模糊聚类...
在IT领域,聚类分析是一种常用的数据挖掘技术,主要用于无监督学习,即将数据集分成不同的组或类别,称为“簇”,这些簇内的数据点相似度较高,而不同簇之间的数据点相似度较低。这里提到的“k-means聚类分析”是...
聚类分析是数据分析的一种重要方法,它通过将数据对象分组到不同的簇中,使得同一簇内的对象相似度较高,而不同簇之间的对象相似度较低。在这个过程中,我们通常会利用一些经典的数据集来测试和验证聚类算法的性能。...
在数据分析和机器学习领域,聚类分析是一种常用的技术,用于将数据集中的对象无监督地分组到不同的类别中,使得同一类别内的对象相似度较高,而不同类别间的对象相似度较低。"欧式距离"是衡量两个数据点之间距离的一...
聚类分析是数据挖掘中的一种重要方法,通过对事物的分类和分析,人们可以更好地认识和理解事物的性质和规律。聚类分析的发展具有重要意义,它可以应用于多个领域,包括商业、生物、地理等。 一、聚类分析的定义和...
在数据分析和机器学习领域,聚类分析是一种常用的技术,它旨在根据数据的相似性或差异性将数据点分组到不同的类别中。本章节主要聚焦于利用MATLAB进行聚类分析,这是一种强大的编程环境,特别适合数值计算和数据处理...
综上所述,本项目通过Python爬虫获取链家网上的昆明房价数据,运用k-means聚类算法进行房价分析,结合数据可视化工具揭示房价的内在规律,为房地产研究提供了一种科学的方法。通过这样的实践,我们可以加深对数据...
聚类分析是 SPSS 的一个重要功能,用于对没有分类集的数据进行分类。聚类分析可以分为两类:K-means cluster 和 Hierarchical cluster。K-means cluster 是一种 partitioning 方法,通过指定类别数来对数据进行分类...
聚类分析程序 包括系统聚类 样品系统聚类 变量系统聚类 K均值聚类 模糊C均值聚类
在数据分析领域,聚类分析是一种无监督学习方法,主要用于发现数据集中的自然群体或类别,无需预先知道具体的分类信息。本篇文章将详细讲解聚类分析的基本概念、SPSS中的聚类分析步骤以及如何利用MATLAB计算马氏距离...
综上所述,这段代码通过一系列的操作实现了基于MATLAB的聚类分析过程。它不仅演示了如何生成符合特定分布的数据,而且还展示了如何使用K-means和层次聚类这两种经典方法进行聚类分析,并最终通过图形化的方式展示了...
聚类分析是一种无监督学习方法,旨在将相似对象归类到同一组中,以便更好地理解和分析数据。聚类分析的目标是根据对象之间的相似性和差异性,将对象分组成不同的类别。 聚类分析的步骤 1. 选择变量:选择合适的...
在数据分析和机器学习领域,聚类分析是一种常用的技术,它旨在根据数据的相似性或差异性将数据点分组到不同的类别中。本资源“matlab聚类分析软件包”提供了一套完整的MATLAB代码,适合初学者进行聚类学习和实践。...
在数据分析和机器学习领域,聚类分析是一种无监督学习方法,用于发现数据中的自然分组或模式,无需预先设定目标变量。在这个主题中,我们将深入探讨聚类分析算法及其常用的测试数据集。 首先,让我们了解聚类分析的...
MATLAB是一款强大的数学计算软件,广泛应用于数据分析、图像处理、信号处理等领域,其中聚类分析是数据挖掘中的一个重要方法,用于将数据集中的对象按照相似性进行分组。 聚类分析是一种无监督学习方法,它不依赖于...
在数据分析领域,聚类分析和判别分析是两种常用的方法,它们主要用于研究数据的内在结构和类别划分。这里,我们将深入探讨这两种方法及其在SPSS软件中的应用。 **聚类分析**是一种无监督学习方法,它的主要目的是将...
聚类分析是一种重要的数据分析技术,主要用于将相似的对象聚集到一起形成群组。这种技术广泛应用于多个领域,包括市场细分、消费者行为研究、生物信息学以及社会科学等。SPSS软件因其强大的统计功能和用户友好的界面...