游乐游手机版
首页/AI教程/文章详情

一文搞懂K-Means聚类算法原理

时间:2026-06-18 17:07
K-Means是一种基于划分的经典无监督聚类算法,通过迭代优化簇内平方误差最小化目标函数,将数据分为K个簇。算法流程包括初始化质心、分配样本、更新质心直至收敛。因其简单高效,广泛应用于数据挖掘、文本分析和图像分割等领域,但也存在簇数选择与初始点敏感等不足。

什么是聚类?

聚类(Clustering),说白了就是一种无监督学习方法。它的目标很直白:在没有标签的情况下,把数据样本按照相似程度分到不同的组里,让同一组内的样本尽可能相似,不同组之间差异尽可能大。常见的算法分好几类,比如基于划分的K-Means、基于层次的层次聚类,还有基于密度的DBSCAN、OPTICS等等。聚类这东西,应用范围相当广——用户分群、市场细分、文本主题发现、图像分割,都能看到它的身影。可以说,它是数据挖掘和探索性分析里一把相当趁手的工具。

K-Means 聚类

要说最经典的聚类算法,K-Means绝对排得上号。它属于基于划分的方法,思路非常直白:通过不断迭代优化目标函数,把数据分成K个簇,让同一个簇里的样本彼此靠得近,不同簇之间离得远。什么叫“簇”?其实就是一组同类的东西。打个比方,苹果、香蕉、橘子属于“水果”那一簇,彭于晏、刘亦菲和你们呢?属于“帅哥美女”那一簇——这么理解就容易多了。因为简单又高效,K-Means在数据挖掘、文本分析、图像分割这些领域里,几乎成了最常用的基础工具。

K-Means要优化的目标,是让簇内平方误差(Within-Cluster Sum of Squares,WCSS)最小化,公式长这样:

J=i=1KxCixμi2J = \sum_{i=1}^{K} \sum_{x \in C_i} \| x - \mu_i \|^2

其中:

  • KK 是簇的个数
  • CiC_i 是第 ii 个簇
  • μi\mu_i 是簇 CiC_i 的质心(也就均值向量)
  • xμi2\| x - \mu_i \|^2 是样本点与簇中心之间的欧式距离

核心思路说白了就是不断调整簇的划分和质心位置,直到目标函数不再明显下降——也就是收敛。

K-Means的算法流程其实相当好理解,一共就四步:

  1. 初始化:随机选 KK 个样本作为初始质心。
  2. 分配样本:把每个样本划分到离它最近的簇中心。
  3. 更新质心:针对每个簇,计算所有样本的均值,作为新的质心。
  4. 迭代:重复第2和第3步,直到簇划分不再变化,或者目标函数收敛。

光说理论可能有点抽象,下面拿Scikit-learn写一段示例代码,跑一遍就懂了:

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# 1. 生成模拟数据
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.6, random_state=42)

# 2. 训练 K-Means
kmeans = KMeans(n_clusters=4, random_state=42, n_init=10)
y_pred = kmeans.fit_predict(X)

# 3. 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=y_pred, s=30, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1],
            c='red', marker='X', s=200, label='Centroids')
plt.legend()
plt.title("K-Means Clustering")
plt.show()

运行之后的效果图是这样的:不同颜色代表不同簇,红色的X标记就是聚类中心。

最后总结一下。K-Means作为经典的无监督学习方法,效率高、直觉性强,一直是最常用的聚类算法之一。不过在实际应用中,有几个地方得多留个心眼:簇数怎么选?初始点敏感怎么办?面对复杂分布的数据还能不能顶住?针对这些不足,后来研究者也提出了不少改进方案,比如K-Means++、Mini-Batch K-Means,让它在大规模机器学习任务中依然站得住脚。

来源:https://juejin.cn/post/7595774188910559270
上一篇Claude复杂数理逻辑从单模型到多阶段推理算力调度解析 下一篇深入探索AI驱动下的敏捷开发范式转变历程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
RAG四标融合企业知识资产体系四库协同GEO优化实践
AI教程 · 2026-07-01

RAG四标融合企业知识资产体系四库协同GEO优化实践

生成式AI正在彻底改写信息检索的底层逻辑。传统SEO依赖关键词堆砌和外链建设的策略,在大模型的内容采信规则下已经基本失效。取而代之的,是生成式引擎优化(GEO)。它不再关注外链数量,而是重点衡量你的知识是否结构化、证据链是否坚实、信源是否可靠——这些维度才是RAG(检索增强生成)架构真正看重的核心指

一个普通上班人分享WorkBuddy使用心得与真实体验
AI教程 · 2026-07-01

一个普通上班人分享WorkBuddy使用心得与真实体验

前言 最近我开始使用WorkBuddy——这是腾讯推出的一款AI办公工作台。差不多用了一周时间,趁印象还新鲜,把真实的使用感受记录下来,给还在犹豫的朋友做个参考。不吹不黑,只说实际体验。 初印象:不只是聊天机器人 之前用过不少AI工具,大多数就是个对话框,你问它答,答完就结束了。WorkBuddy不

AI幻觉变真功能实战教程:App Inventor 2视频录制拓展一周开发实录
AI教程 · 2026-07-01

AI幻觉变真功能实战教程:App Inventor 2视频录制拓展一周开发实录

先讲一个颇具戏剧性的开端。 这件事的开端颇显荒诞——有用户前来咨询,称AI Pro版的介绍中提到我们有一款“视频录制拓展”。团队全体成员都感到困惑,翻遍产品列表,发现根本不存在该组件。AI那种“一本正经胡说八道”的能力,这次确实让我们陷入尴尬。 按常理,此事到此便可结束——一句“抱歉,暂时没有这个拓

别再混淆OLAP和SQL-on-Hadoop两者查询本质不同
AI教程 · 2026-07-01

别再混淆OLAP和SQL-on-Hadoop两者查询本质不同

OLAP和SQL-on-Hadoop虽都使用SQL查询数据,但本质不同。SQL-on-Hadoop负责海量数据批量计算与ETL,查询速度秒级至分钟级;OLAP通过预聚合实现毫秒级多维分析,适合BI报表。两者在数据平台分工协作,前者是后厨加工,后者是前台快速服务。

GEO优化深度解析:AI偏好FAQ还是长文内容?
AI教程 · 2026-07-01

GEO优化深度解析:AI偏好FAQ还是长文内容?

在GEO优化中,AI对内容形式无统一偏好:FAQ在简单查询中引用率41%,长文在复杂查询中达58%。内容应基于用户意图选择形式,FAQ适配简单事实类问题,长文建立主题权威,两者互补而非替代。