机器学习(西瓜书)第 9 章 聚类

9.1 聚类任务和距离计算

在"无监督学习"中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础.此类学习任务中研究最多、应用最广的是"聚类"(clustering).

聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个"簇"(cluster).通过这样的划分,每个簇可能对应于一些潜在的概念(类别),如 "浅色瓜" "深色瓜","有籽瓜" "无籽瓜",甚至"本地瓜" "外地瓜"等;需说明的是,这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名.

聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可作为分类等其他学习任务的前驱过程.例如,在一些商业应用中需对新用户的类型进行判别,但定义"用户类型"对商家来说却可能不太容易,此时往往可先对用户数据进行聚类,根据聚类结果将每个簇定义为一个类,然后再基于这些类训练分类模型,用于判别新用户的类型.

基于不同的学习策略,人们设计出多种类型的聚类算法.本章后半部分将对不同类型的代表性算法进行介绍,但在此之前,我们先讨论聚类算法涉及的两个基本问题一一性能度量和距离计算.

对于 连续的 或者 离散且有序的:

对于离散且无序的:

9.2 k-means原型聚类


kmeans算法不太适应的情况:比如一个环形的数据集,有两个簇,就是外面一个环都属于一个类别,里面这个环属于另一个类别,而计算距离的公式如果使用欧式距离,里面这个簇的中心也是外面这个簇的中心,也就是导致两个中心重合,无法区分两个类别样本

因此有了以下改进:

9.3 DBSCAN密度聚类


9.4 AGNES层次聚类

前面两种聚类都和 核心对象 有关,样本才能知道自己属于哪个类,那么其实它们就相当于是一种扁平的结构

如果想在聚类的过程中,去产生这种层次结构的话,就不可以用kmeans和dbscan,需要一种层次聚类的这种算法

层次聚类试图将数据划分成不同的层次,所以聚类的结果是有这种明显的一个树状结构的


相关推荐
井底哇哇4 小时前
ChatGPT是强人工智能吗?
人工智能·chatgpt
Coovally AI模型快速验证4 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
AI浩4 小时前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控4 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
一水鉴天5 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
倔强的石头1065 小时前
解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
人工智能·架构
orion-orion5 小时前
贝叶斯机器学习:高斯分布及其共轭先验
机器学习·统计学习
佛州小李哥6 小时前
Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
说私域6 小时前
社群裂变+2+1链动新纪元:S2B2C小程序如何重塑企业客户管理版图?
大数据·人工智能·小程序·开源
程序猿阿伟6 小时前
《探秘鸿蒙Next:如何保障AI模型轻量化后多设备协同功能一致》
人工智能·华为·harmonyos