总结一些聚类评估方法 和Silhouette。
聚类的效果咱们要有一个指标来评估它聚的到底好不好。
1.第一个评估方法呢,我们用如下图中的式子来计算。这个式子的实际含义很简单,是数据点,是簇的中心点,(e是evaluation的首字母)是一个求和:。是第一个簇的点到第一个簇中心点的距离的平方(保证是正数)的和,J1当然越小越好,说明这个聚类的效果让这个簇中的各个点到簇中心的距离最恰当,所以效果最好,达到了物以类聚人以群分的效果。
当然有时候用这种评估方法会出现问题。如果有数据类似下图这种长条式分布,聚类效果将会如下图的右边所示,因为左图中蓝色簇边缘的点离这个簇的中心有点远,这个蓝色簇的评估J蓝 ,反而会不那么小导致总体Je变大,反而呢右图中蓝簇的J值更小,与红色簇的J值和起来比左图还小。于是乎得到了与咱们的直觉相反聚类结果。
图2也反映了这个评估公式的盲区。
2.第二个评估方法,有个英文名叫Silhouette。
,S是Silhouette的首字母。下面来解释一下这个式子。
我们假设最后会分成n个簇。
对于每个样本点都会算出来自己的S(i),比如第一个样本点算出来个S(1)。
a(i)呢,是一个簇中某代号为i的一个样本点还是这个簇的其他点的距离的平均值。
b(i)呢,是取n-1个数的最小值,哪些数呢?一个簇中某代号为i的样本点到其他n-1个簇的所有点的平均距离,这个平均距离有n-1个,取其中最小的那个。也就是这个样本点i,在其他所有簇中,总有一个簇比其他簇更接近这个样本点,我们取这个样本点i到这个最近的簇的平均距离为b(i)。
下面来分析S(i)的一些性质。因为a,b都是距离,所以a,b大于0。当b>a时,即样本点到自己这个簇的距离更近一些,分子为正。b<a时,即样本点到其他簇竟然还比到自己簇的距离还小,分子为负。当a为0时,聚的超级紧密,分子为b(i),分母为b(i),S取到最大值1。
下图展示了两簇样本点的s值。
如图3所示,右侧图像的横坐标是s值,纵坐标代表样本点,每来一个样本点,画出它的S值,S值越大,线越长,由于点过于密集导致平行的线条变成了实心的样子。
右侧图像代表了两个簇的样本点的s值,下面我们分析究竟哪个图对应左侧右上角的一小簇。
看到S的计算公式里分子是b-a : 表明点到另一个簇的平均距离-点到自己簇的平均距离。所以右上角的一任何一个样本点的是b远大于a的,分子约等于b,分母严格等于b,所以s值约为1。故右侧图的下面图像对应了左侧图右上角那一簇。
那接下来分析一波为什么左下那一大簇对应于右图上面的图像。注意看左图红圈里的点,这些样本点到自己簇的距离和到另一个簇的距离差不多,所以计算S的分子约为0,所以会出现S=0的现象,得解。