无监督学习中的经典聚类算法——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:随机种子,复现实验

相关推荐
一隅论数智3 小时前
OWL(Web Ontology Language)介绍与使用举例(二)
大数据·经验分享·笔记·学习·自然语言处理·学习方法·政务
sunoo-2297 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
by209998 小时前
list:迭代器与资源管理实现的综合叙述(下)
数据结构·c++·笔记·list
wdfk_prog8 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
yi0119 小时前
Leetcode 49 用 “身份证‘‘巧解
人工智能·笔记·python·算法·leetcode·哈希表
ouynagda9 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
yi0119 小时前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
sbjdhjd9 小时前
智能体开始“动手”之后:OpenAI越权事件、Anthropic算力资本化与开放权重模型竞逐 | AI与SI行业日报整理(9月29日—10月6日)
大数据·人工智能·经验分享·笔记·ai·chatgpt·开源
上位机妹子10 小时前
从零理解 EF Core:用 Minimal API 给「工作项看板」建模(小白笔记)
笔记
深圳老胡10 小时前
STM32 MCU 国产替代型号简介
笔记·stm32·单片机·代码规范