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