聚类模型的评价指标
发布网友
发布时间:2022-12-22 09:22
我来回答
共1个回答
热心网友
时间:2024-04-17 22:41
误差平方和(Sum of the Squared Error, SSE),也被称为组内误差平方和,它是机器学习中很重要的概念,该概念是在聚类和回归类算法中均有广泛应用。 在聚类算法中所谓误差平方和是指每个数据点的误差,即它到最所属类别质心的欧几里得距离,然后求和汇总即得误差平方和 。在聚类算法中,SSE是我们判断模型是否最优的重要指标,我们希望求得的模型是在给定K值的情况下SSE最小的模型, 即在相同的K值情况下聚类模型SSE越小越好,这也是聚类算法最核心的优化条件 。
除了误差平方和SSE,轮廓系数(Silhouette Coefficient),也是聚类效果好坏的一种评价方式。它结合凝聚度和分离度两种因素。下面详细介绍三者关系。
对于基于原型的簇,簇的凝聚度可以定义为关于簇原型(质心或中心点)的邻近度的和。同理,两个簇之间的分离度可以用两个簇原型的邻近性度量。如下图所示,其中簇的质心用"+"标记。
凝聚度的计算公式为: ,其中proximity是邻近度计算公式, 是簇 的质心,当邻近度计算公式取欧几里得距离时, 的凝聚度就是该簇的SSE。
分离度的衡量则有两种方法,其一是计算两两质心之间的分离度,可由如下公式计算得出
另一种则是计算某簇质心到数据集总体质心之间的分离度 ,其中c是数据集整体质心,进一步我们就可对其进行求和汇总,从而求得总体凝聚度和分离度,这里需要注意,虽然我们在求和过程中可以利用另一台计算体系来对每个分量赋予权值然后求和,但这种做法并不常见,一下讨论是建立在简单求和汇总的基础上进行的。同时,在简单求和取总分离度的情况下,上述两种分离度的方法实际上是等价的。
凝聚度和SSE
在欧式距离定义的空间内,总凝聚度实际上和误差平方和等价,当然,SSE误差平方和还被称作组内误差平方和。
分离度和组间误差平方和(SSR)
在欧式空间中,当我们采用簇质心和整体质心的邻近度来衡量分离度的时候,实际上总分离度和组间误差平方(SSR)和等价,SSR计算公式如下:
凝聚度和分离度之间的关系
实际上,通过数字手段我们能证明,对于给定的数据集,无论划分总SSE和总SSR之和是一个常数,即离差平方和(SST),这个结果实际上说明要最小化SSE(凝聚度)也就等价于要最大化SSR(分离度),因此之前我们以最小化SSE作为模块优化目标,也可以用凝聚度和分离度的角度进行理解。
凝聚度和分离度之间的这种相对关系在其他诸多模型中也能遇见,最典型的就是 方差分析和回归分析 中,我们也常常使用SSE和SSR来衡量模型有效性、提供模型优化的指导意见。
如果在方差分析中,组内SSE就是用以区分连续变量的离散变量各水平所对应的分组内的误差,计算过程和聚类分析也高度相似,其SSE是计算各组内连续变量到其均值之间的距离平方和,而SSR则是各分类水平的均值到整体数据集的均值之间的距离平方和,同时SST则等于数据集中所有数据到均值之间的距离平方和,且SST = SSR + SSE。因此,正确了解SSE和SSR将是我们理解诸多算法的有效途径。
轮廓系数(silhouette coefficient)指标结合了凝聚度和分离度。下面的步骤解释和如何计算个体点的轮廓系数。此过程由如下三步组成。我们以欧式距离为例,但是类似的方法可以使用相似度。
(1)对于第i个对象,计算它到簇中所有其他对象的平均距离。该值记作
(2)对于第i个对象和不包含该对象的任意簇,计算该对象到给定簇中所有对象的平均距离。关于所有的簇,找出最小值;该值记作 。
(3)对于第i个对象,轮廓系数是
轮廓系数的值在-1和1之间变化 。我们不希望出现负值,因为负值表示点到簇内点的平均距离 大于点到其他簇的最小平均距离 。我们希望轮廓系数是正数( ),并且 越接近0越好,因为当 =0时轮廓系数取其最大值1。我们可以简单地取簇中点的轮廓系数的平均值,计算簇的平均轮廓系数。通过计算所有点的平均轮廓系数,可以得到聚类优良性的总度量。
由此我们能看出。轮廓系数可以在模型取不同质心数量的情况下对模型聚类效果进行纵向比较,进而能够给最终聚类数量提供建议。