《数据挖掘导论》学习 | 第八章 聚类分析:基本概念和算法

第八章 聚类分析:基本概念和算法

聚类分析将数据划分成有意义或有用的组(簇),如果目标是划分成有意义的组,则簇应当捕获数据的自然结构。聚类分析只是解决其他问题的起点。

  • 旨在理解的聚类:就理解数据而言,簇是潜在的类,聚类分析是研究自动发现这些类的技术,如生物学、信息检索、气候、心理学和医学、商业等
  • 旨在实用的聚类:聚类分析提供由个别数据对象到数据对象所指派的簇的抽象,一些聚类技术使用簇原型(代表簇中其他对象的数据对象)来刻画簇特征。就实用而言,聚类分析是研究发现最有代表性的簇原型的技术,如汇总、压缩、最近邻等

概述

  • 聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组:组内的对象相互之间是相似的(相关的),不同组中的对象是不同的(不相关的)。组内的相似性(同质性)越大,组间差别越大,聚类越好。
  • 簇的定义是不精确的,最好的定义依赖于数据的特性和期望的结果
  • 聚类可以看作一种分类,用类(簇)标号创建对象的标记
  • 有时称聚类分析为非监督分类

不同的聚类类型

  • 划分聚类:将数据对象集划分成不重叠的子集(簇),使得每个数据对象恰在一个子集中
  • 层次聚类:允许簇具有子簇
  • 互斥的:每个对象都指派到单个簇
  • 重叠的:将一个点放到多个簇中
  • 模糊聚类:每个对象以一个0和1之间的隶属权值属于每个簇
  • 完全聚类:将每个对象指派到一个簇
  • 部分聚类:数据集中某些对象可能不属于明确定义的组

不同的簇类型

在这里插入图片描述

K均值

基于原型的聚类技术创建数据对象的单层划分,用质心定义原型

基本K均值算法

在这里插入图片描述

  1. 指派点到最近的质心:对欧式空间中的点使用欧几里得距离(L1)或曼哈顿距离(L2),对文档使用余弦相似性或Jaccard度量
  2. 质心和目标函数:聚类的目标通常使用一个目标函数表示,依赖于点之间,或点到簇的质心的临近性

在这里插入图片描述
在这里插入图片描述
使簇的SSE最小的是均值
在这里插入图片描述
在这里插入图片描述

  1. 选择初始质心

关键步骤,但常见的方法是随机地选取初始质心,但质量很差
两种改进方法:
在这里插入图片描述
在这里插入图片描述
时间复杂度与空间复杂度
在这里插入图片描述

K均值:附加的问题

  • 处理空簇:选择替补质心(选择一个距离当前任何质心最远的点;从具有最大SSE的簇中选择一个替补质心)
  • 离群点:影响较大,如何识别
  • 用后处理SSE:交替使用簇分裂与簇合并

在这里插入图片描述

  • 增量地更新质心:在点到簇的每次指派后,增量地更新质心(缺点具有次序依赖性)

二分K均值

在这里插入图片描述
在这里插入图片描述

K均值和不同的簇类型

  • 对于发现不同的簇类型,K均值和它的变种都有一些局限性
  • 问题:K均值的目标函数与我们试图发现的簇的类型不匹配

优点与缺点

  • K均值简单并且可用于各种数据类型,某些变种甚至更有效
  • K均值并不适合所有的数据类型,不能处理非球形簇、不同尺寸和不同密度的簇
  • 对包含离群点的数据进行聚类时,K均值也有问题——离群点检测与删除
  • K均值仅限于具有中心(质心)概念的数据

K均值作为优化问题

(数学推导)

  • 簇的最小化SSE(欧几里得距离)的最佳质心是簇中各点的均值
  • 簇的最小化SAE(曼哈顿距离)的最佳质心是簇中各点的中位数

凝聚层次聚类

两种产生层次聚类的基本方法:

  • 凝聚的:从点作为个体簇开始,每一步合并两个最接近的簇
  • 分裂的:从包含所有点的某个簇开始,每一步分裂一个簇,直到只剩下单点簇
  • 使用树状图或嵌套簇图表示

在这里插入图片描述

基本凝聚层次聚类算法

在这里插入图片描述

  1. 定义簇之间的邻近性
  • MIN(单链):不同簇的两个最近的点之间的邻近度(不同的结点子集中两个结点之间的最短边)
  • MAX(全链):不同簇中两个最远的点之间的邻近度(不同的结点子集中两个结点之间的最长边)
  • 组平均:簇邻近度为取自不同簇的所有点对邻近度之间的平均值
  1. 时间和空间复杂性

在这里插入图片描述

特殊技术

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

簇邻近度的Lance-Williams 公式

统一公式
在这里插入图片描述
在这里插入图片描述

层次聚类的主要问题

  1. 缺乏全局目标函数
  2. 处理不同大小簇的能力(加权与非加权)
  3. 合并决策是最终的:作出合并两个簇的决策则不能撤销

DBSCAN

基于密度的聚类寻找被低密度区域分离的高密度区域

传统的密度:基于中心的方法

数据集中特定点的密度通过对该点Eps半径之内的点计数(包括点本身)来估计

  • 核心点:该点的给定邻域内的点的个数超过给定的阈值MinPts
  • 边界点:可能落在多个点的邻域内
  • 噪声点:非核心点与边界点

DBSCAN算法

在这里插入图片描述

  1. 时间复杂性和空间复杂性

在这里插入图片描述

  1. 选择DBSCAN的参数:基本方法是观察点到它的k个最近邻的距离(k-距离)的特性
  2. 变密度的簇:簇的密度变化很大,DBSCAN会出问题

优点与缺点

  • 相对抗噪声,能够处理任意形状和大小的簇
  • 簇的密度变化太大或高维数据会出现问题

簇评估(簇确认)

概述

重要问题:

  1. 确定数据集的聚类趋势(clustering tendency),即识别数据中是否实际存在非随机结构。
  2. 确定正确的簇个数。
  3. 不引用附加的信息,评估聚类分析结果对数据拟合情况。
  4. 将聚类分析结果与已知的客观结果(如,外部提供的类标号)比较。
  5. 比较两个簇集,确定哪个更好

评估指标:

  • 非监督的(内部指标):聚类结构的优良性度量,不考虑外部信息——凝聚性、分离性
  • 监督的(外部指标):度量聚类算法发现的聚类结构与某种外部结构的匹配程度——熵
  • 相对的:比较不同的聚类或簇

非监督簇评估:使用凝聚度和分离度

在这里插入图片描述

  1. 凝聚度和分离度的基于图的观点

在这里插入图片描述

  1. 凝聚度和分离度的基于原型的观点

在这里插入图片描述

  1. 凝聚度和分离度的总度量:通常的权值为上表,但变化范围很大
  2. 基于原型的凝聚度和基于图的凝聚度之间的联系

在这里插入图片描述

  1. 两种基于原型的分离性度量方法

在这里插入图片描述

  1. 凝聚度和分离度之间的联系:总SSE(凝聚度) + 总SSB(分离度) = 总平方和(TSS)(每个点到数据的总均值的距离的平方和)——最小化SSE等价于最大化SSB
  2. 评估个体簇和对象:提高聚类的质量
  3. 轮廓系数

在这里插入图片描述

非监督簇评估:使用邻近度矩阵

  • 通过相关性度量簇的有效性: 如果给定数据集的相似度矩阵和数据集聚类分析得到的簇标号,则我们可以通过考察相似度矩阵和基于簇标号的相似度矩阵的理想版本之间的相关性来评估聚类的“优良性”
  • 通过相似度矩阵可视地评价聚类:如果有明显分离的簇,相似度矩阵应当粗略地是块对角的

层次聚类的非监督评估

共性分类距离:凝聚层次聚类技术首次将对象放在同一个簇时的邻近度
共性分类距离矩阵、共性分类距离相关系数(CPCC):该矩阵与原来的相异度矩阵的项之间的相关度,是(特定类型的)层次聚类对数据拟合程度的标准度量
在这里插入图片描述

确定正确的簇的个数

在这里插入图片描述

聚类趋势

  • 关注聚类趋势度量——试图评估数据集中是否包含簇,而不进行聚类。
  • 最常用的方法(特别是对于欧几里得空间数据)是使用统计检验来检验空间随机性。

在这里插入图片描述

簇有效性的监督度量

  • 面向分类的度量——熵、纯度、精度、召回率、F度量
  • 面向相似性的度量——理想的簇相似度矩阵、理想的类相似度矩阵

在这里插入图片描述
在这里插入图片描述

  • 层次聚类的簇有效性

在这里插入图片描述

评估簇有效性度量的显著性

  • 簇评估度量的最小和最大值
  • 可以使用绝对标准
  • 用统计学术语解释有效性度量值
  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分类算法和聚类算法都是机器学习中常用的算法,但它们解决的问题不同。 分类算法是一种有监督的学习方法,它通过对已知类别的训练数据进行学习,从而得到一个分类模型。该模型可以用于对新的未知数据进行分类。分类算法的目标是将数据分为不同的类别,每个类别都具有不同的标签或类别。 聚类算法则是一种无监督的学习方法,它将数据集中的对象分成若干个簇,每个簇内的对象相似度比较高,而不同簇之间的相似度比较低。聚类算法的目标是发现数据内在的结构,将数据分为不同的簇,而不需要事先知道数据的标签或类别。 分类算法和聚类算法基本概念如下: 1. 分类算法基本概念: - 特征:用于描述数据的属性或特点。 - 标签:数据的类别或类标签,也称为目标变量。 - 训练数据:已知标签的数据集,用于训练分类模型。 - 分类模型:根据训练数据所得到的模型,用于对新数据进行分类。 2. 聚类算法基本概念: - 相似度:用于描述数据对象之间的相似程度。 - 距离:数据对象之间的距离,可用欧氏距离、曼哈顿距离等度量。 - 簇:一组相似的数据对象,簇内的对象相似度比较高。 - 聚类中心:每个簇的中心点或代表点,可用于度量不同簇之间的相似度。 - 聚类算法:用于将数据集按照相似度分成若干个簇的算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值