k-means算法

本文介绍了k-means算法的基本原理,强调了其在无监督学习中的聚类作用,以及与KNN算法的区别。文章详细阐述了算法流程,包括以平方误差和(SSE)作为目标函数,以及SSE的优化过程。同时,针对k-means算法的随机初始化和选择聚类数k的缺点,提出了二分k-means和肘部法则作为优化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、k-means算法概述

k-means算法和KNN算法虽然都是以近邻信息来标注类别,但却是两类不同的算法:KNN算法是监督学习中的基本分类与回归算法,而k-means算法是无监督学习中的聚类算法。

聚类是指将未标注的样本数据中相似的分为同一类,即“物以类聚,人以群分”。k-means算法是聚类算法中最为简单、高效的核心思想:指定k个初始质心(initial centroids),作为聚类的类别(cluster),重复迭代直至算法收敛。k-means算法的流程可表示如下:

选取k个初始质心(作为初始cluster);
repeat:
	对每个样本点,计算得到距其最近的质心,将其类别标记为该质心所对应的cluster;
	重新计算k个cluster对应的质心;
until	质心不再发生变化

k-means的趋同(来自Wiki百科)

为了衡量k-means算法不同聚类结果的好坏,以平方误差和(sum of squared error,SSE)作为聚类的目标函数:
SSE函数
其中,dist表示样本点x到cluster Ci的质心ci的距离平方和。

k-means算法最优的聚类结果应使SSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值