本文介绍K均值(KMeans)聚类算法。
0x01、k均值聚类简介
K均值聚类是基于样本集合划分的聚类算法。K均值聚类将样本集合划分为K个子集,构成K个类,将n个样本分到K个类中,每个样本到其所属类的中心的距离最小。每个样本只能属于一个类,所以K均值聚类是硬聚类。
1、模型
给定 个样本的集合
,每个样本由一个特征向量表示,特征向量的维数是
。
均值聚类的目标是将
个样本分到
个不同的类或簇中,这里假设
。
个类
形成对样本集合
的划分,其中
,
。用
表示划分,一个划分对应着一个聚类结果。
划分 是一个多对一的函数。事实上,如果把每个样本用一个整数
表示,每个类也用一个整数
表示,那么划分或者聚类可以用函数
表示,其中
,
。所以k均值聚类的模型是一个从样本到类的函数。
2、策略
均值聚类归结为样本集合
的划分,或者从样本到类的函数的选择问题。