一、聚类算法聚出的类有什么含义呢?这些类有什么样的性质?
我们认为,被分在同一个簇(组)中的数据是有相似性的,而不同簇中的数据是不同的,当聚类完毕之后,我们就要分别去研究每个簇中的样本都有什么样的性质,从而根据业务需求制定不同的商业或者科技策略。
聚类算法的目的就是追求 "簇内差异小,簇外差异大" 。而这个“差异“,由样本点到其所在簇的质心的距离来衡量,这就需要引出簇内误差平方和的概念。
二、簇内误差平方和的定义
簇内平方和是指一个簇中所有样本点到质心的距离的平方和为簇内平方和。 对于一个簇来说,所有样本点到质心的距离之和越小,我们就认为这个簇中的样本越相似,簇内差异就越小,簇内平方和就越小。接下来我们来看一下用数学公式是如何定义簇内平方和的。
距离的衡量方法,这里我们采用欧式距离
为了方便对簇内误差平方和公式的理解,我们分步骤讨论:
这里,先给出某数据集的已知条件:(便于给出公式)
样本用x表示,质心用u表示;
一个样本含有n个特征,每个样本特征的编号记作i;
一个簇中有m个样本,簇中每个样本的编号记作j。
(1)我们先以一个簇中的一个样本为例,那么簇中的一个样本到质心的距离为:
(2)近一步,拓宽一个簇中的样本个数,计算一个簇中所有样本点到质心的距离。因为:一个簇中的样本有m个,簇中每个样本的编号记作j,这时就可以得到簇中m个样本到质心的距离为:
这个公式被称为 簇内平方和(cluster Sum of Square),又叫做 Inertia。
(3)需要注意的是在上面的计算中,我们计算的是一个簇。当然,将一个数据集中的所有簇的簇内平方和相加,就得到了 整体平方和(Total Cluster Sum of Square),又叫做Total inertia:
三、核心点题
整体平方和Total Inertia 越小,代表着每个簇内样本越相似,聚类的效果就越好。 而整体平方和是所有簇的簇内平方和的加和,因此, KMeans 追求的是:求解能够让簇内平方和 Inertia 最小化的质心。
实际上, 在质心不断变化不断迭代的过程中,总体平方和是越来越小的。当整体平方和最小的时候,质心就不再发生变化了