无监督学习中的经典聚类算法——K-Means笔记

一、无监督学习中的经典聚类算法------K-Means

  • 目的:在没有标签的情况下,把"相似样本"自动分到同一组,用于数据探索、分群、压缩、异常检测等场景

二、核心概念

  1. 聚类(Clustering)

    -- 无监督:没有 y 标签

    -- 目标:高内聚、低耦合

  2. 难点

    -- 如何评估好坏?

    -- 如何选取参数(主要是 K)?

三、距离度量(先选"像不像"的尺子)

  • 欧式距离(L2):多维直线距离,最常用

  • 曼哈顿距离(L1):坐标轴绝对轴距之和,适合高维稀疏

四、K-Means 算法流程("三步走")

  1. 随机选 K 个初始中心

  2. 分配:每个样本→距其最近的中心所属簇

  3. 更新:重新计算各簇中心(均值)

    循环 2-3 步直到中心不再移动或达到 max_iter

五、评估指标

  • SSE(类内平方和):越小越紧凑

  • CH 指数:同时衡量类内紧密度与类间分离度,越大越好

  • 轮廓系数(Silhouette):-1,1,>0.5 通常可接受

六、优缺点速记

优点:

✓ 原理简单、实现容易、速度快、可并行

缺点:

✗ K 值需事先给定

✗ 对初值敏感(随机初始中心)

✗ 只能发现"球形"簇,对任意形状、密度差异大数据表现差

✗ 对异常值/噪声敏感

七、关键超参数

  • n_clusters(K):簇的数量

  • max_iter:最大迭代次数

  • n_init:随机运行次数,取最好结果

  • random_state:随机种子,复现实验

相关推荐
1314lay_10072 小时前
SAP 接口调用 500 Native SSL Error ,导入证书
经验分享·笔记
百里香酚兰2 小时前
【Unity学习笔记】如何把粉色Prefab还原
笔记·学习·unity
小叶肥辉3 小时前
LangChain链和LangGraph图的学习笔记【六】——提示语模板(3)——Few-Shot Prompting(少样本提示) 模板类
笔记·python·学习·langchain·prompt·aigc
志尊宝4 小时前
Vue3 零基础每日笔记(032):Suspense 与异步组件——懒加载与顶层 await 终极方案
前端·javascript·vue.js·笔记·html5
今儿敲了吗4 小时前
04英文文本关键词提取(TF-IDF)
笔记·python
志尊宝4 小时前
Vue3 零基础每日笔记(035):什么是 Composables——mixin 之死与逻辑复用新方案
笔记·vue·html·前端开发·软件开发
动词ing5 小时前
【学习笔记】数据结构 二分查找(二分查找模板+边界处理+查找区间+旋转数组)
笔记·学习
kkkkkkkkkk_Z5 小时前
学嵌入式和Linux应用编程|学习日记:深入理解TCP协议与网络编程实战
linux·笔记·学习
小刘在重生~5 小时前
十六(3)、《集合扩充》CopyOnWriteArrayList 超详细解析(线程安全集合)
java·笔记·面试·职场和发展
维克兜率天5 小时前
5.3 宏观因子:抬头看天
笔记·python·深度学习·算法·量化