《机器学习》——聚类

聚类

聚类(Clustering)旨在将数据集中的样本分成若干个簇,使得同一个簇内的对象彼此相似,不同簇间的对象差异较大。

  • 聚类是一种无监督学习算法
  • 不需要预先标记数据的标签,完全依赖数据本身内在结构和特征来进行分组,
  • 最终簇所对应的概念语义需由使用者来把握和命名。

聚类的核心是"物以类聚",具体通过以下步骤实现:

  1. 定义相似性:选择一个度量标准(如欧氏距离,余弦相似度)来衡量对象之间的相似性或距离。

  2. 分组:根据相似性将对象分配到不同的簇中。

  3. 优化:通过迭代或直接计算,调整簇的划分,使簇内相似性最大化,簇间差异最大化。

聚类应用场景:

  • 市场细分:将消费者按购买习惯分组。

  • 图像分割:将图像像素按颜色或纹理聚类。

  • 异常检测:识别不属于任何主要簇的异常点。

  • 生物信息:对基因表达数据进行分组。

常见聚类算法

K均值聚类------K-means

K均值聚类(K-means)是基于样本集合划分的聚类方法,将样本集合划分为k个子集构成k个簇,将n个样本分到k个簇中,每个样本到其所属簇的中心的距离最小。每个样本只能属于一个簇,所以K均值聚类是硬聚类。

  • 将数据划分为K个簇,使得簇内样本相似度高,簇间样本相似度低

  • K均值聚类归结为样本集合的划分,通过最小化损失函数来选取最优的划分

  • K均值聚类就是求解最优化问题

K均值聚类工作流程

  • 初始化,随机选择k个样本点作为初始簇中心。

  • 对样本进行聚类,计算每个样本到各个簇中心的距离,将每个样本分到与其最近的簇,构成聚类结果。

  • 计算聚类结果中每个簇中所有样本的均值,作为新的簇中心。

  • 使用新的簇中心重复上述过程,直到收敛或符合停止条件(例如划分不再改变)。

K均值聚类特点

  • K均值聚类的初始中心的选择会直接影响聚类结果,并且不适合非凸形状簇。

  • K均值聚类需要事先指定簇个数k,而实际中最优的k值是不知道的,需要尝试使用不同的k值检验聚类结果质量,可以采用二分查找快速找到最优k值。聚类结果的质量可以用簇的平均直径来衡量,一般地,簇个数变小时平均直径会增加;簇个数变大超过某个值后平均直径会不变,而这个值正是最优的k值。

层次聚类

层次聚类(Hierarchical Clustering)假设簇之间存在层次结构,将样本聚到层次化的簇中。

  • 层次聚类有自下而上的聚合方法和自上而下的分裂方法。
  • 因为每个样本只属于一个簇,所以层次聚类属于硬聚类。

聚合聚类:开始将每个样本各自分到一个簇,之后将相距最近的两个簇合并,如此往复直至满足停止条件(例如达到预设的簇的个数、每个簇只包含一个样本、簇内样本相似性达到某个阈值等)。

分裂聚类:开始将整个数据集视作一个整体,之后根据某种距离或相似性度量,选择一个现有的簇将其分裂成两个簇,使分裂后子簇内相似性高,子簇间差异大,如此往复直至满足停止条件。

密度聚类

密度聚类(Density-Based Clustering)假设聚类结构能通过样本分布的紧密程度确定。

  • 通常情况下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展簇以获得最终聚类效果。

  • 密度聚类能识别任意形状的簇,可以自动识别并排除噪声点。

聚类模型评估指标

由于聚类任务没有预定义的标签(不像监督学习有真实类别可供比较),所以需要依赖聚类结果和原始数据来衡量模型的好坏,主要关注簇内的紧凑性和簇间的分离性。

  1. 轮廓系数:计算每个样本到同簇其他样本的平均距离(内聚度ai)和到最近其他簇样本的平均距离(分离度bi),综合评价聚类紧密度和分离度。si的值越接近1,聚类效果越好。总体轮廓系数是所有si的平均值。
  2. 簇内平方和:衡量簇内数据点到簇中心的总距离平方和,常用于K-means。
  3. 肘部法:肘部法用于确定最佳簇数K在使用K-means时非常常见,它通过绘制簇数k和某个聚类质量指标(通常是簇内平方和)的关系曲线,找到一个拐点或"肘部",即增加簇数带来的收益显著减少的点,这个点通常被认为是最佳的k值。

降维

奇异值分解

奇异值分解(Singular Value Decomposition,SVD)是一种矩阵因子分解方法,用于将矩阵分解为更简单的形式,从而揭示数据的内在结构和特性。

通过保留最大的几个奇异值及其对应的奇异向量,可以近似重构原始矩阵,减少数据维度,同时保留主要信息。

主成分分析,潜在语义分析等都用到了奇异值分解。

主成分分析

主成分分析(Principal Component Analysis,PCA)是一种常用的无监督学习方法,旨在找到数据中"最重要的方向",即方差最大的方向,并用这些方向重新表达数据。

在主成分分析过程中,首先将数据的每个特征规范化为平均值为0方差为1,以消除不同特征之间量纲的差异,再使用正交变换把线性相关的原始数据转换为线性无关的新数据(主成分)。

主成分彼此正交并且能够最大化地保留原始数据的方差信息。

主成分分析主要用于降维和发现数据的基本结构。

相关推荐
今天AI了吗7 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
悟天特斯10 小时前
智慧楼宇AI节能系统:基于机器学习的建筑能耗优化实践
人工智能·物联网·机器学习
克里斯蒂亚诺更新10 小时前
从XGBoost角度理解为什么要使用机器学习
人工智能·机器学习
茉莉玫瑰花茶11 小时前
RAG 数据检索
人工智能·算法·机器学习
别动我齐刘海12 小时前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
船厂电气自动化ai大模型12 小时前
AI大模型与数学第64课:矩阵×向量乘法(神经网络矩阵运算底层)
数据结构·深度学习·线性代数·机器学习·推荐算法
正在走向自律12 小时前
从 Python 基础到大模型落地:读《深入浅出 Python 人工智能》,吃透 AI 工程化 CRUD 实战
开发语言·人工智能·python·机器学习·知识脉络
2601_9623824313 小时前
Python零基础入门,看完直接上手写代码
python·机器学习·编程语言·数据科学·入门教程
一水鉴天15 小时前
问题分类的三元组映射体系与求解方法论 20260901(千问)
人工智能·算法·机器学习
苏子寒18 小时前
Nano-VLLM全代码解析笔记(10)-GemmaRMSNorm和MRoPE
笔记·机器学习·ai·nlp·vllm