1.2010发表在IEEE International Conference on Data Mining ;
原文标题:
《Understanding of Internal Clustering Validation Measures》
译为“内部聚类效果测量的一些理解” 这篇文章讲的就是如何评价你聚类好坏的。
原文下载:http://pan.baidu.com/s/1jHDvyq6
译文:
众所周知,聚类效果的好坏直接会影响要聚类的效果。大体上,聚类的效果的好坏会又两类指标衡量,一类是外部聚类效果,一类是内部聚类效果。在这篇论文中,我们只探讨内部聚类效果(具体什么是内部聚类效果,为什么用内部聚类效果进行评价看下一节),并给详细的给出了11中评价聚类效果好坏的评价算法,这11种算法应用在5中聚类环境中以展现出他们到底谁更适应“恶劣多变”的聚类环境。
.2. 聚类评估
聚类评估估计在数据集上进行聚类的可行性和被聚类方法产生的结果的质量。聚类评估主要包括:估计聚类趋势、确定数据集中的簇数、测定聚类质量。
估计聚类趋势:对于给定的数据集,评估该数据集是否存在非随机结构。盲目地在数据集上使用聚类方法将返回一些簇,所挖掘的簇可能是误导。数据集上的聚类分析是有意义的,仅当数据中存在非随机结构。
聚类趋势评估确定给定的数据集是否具有可以导致有意义的聚类的非随机结构。一个没有任何非随机结构的数据集,如数据空间中均匀分布的点,尽管聚类算法可以为该数据集返回簇,但这些簇是随机的,没有任何意义。聚类要求数据的非均匀分布。
霍普金斯统计量(Hopkins Statistic)是一种空间统计量,检验空间分布的变量的空间随机性。
计算步骤:
(1) 均匀地从D的空间中抽取n个点p1,p2,…pn,对每个点pi(1≤i≤n),找出pi在D中的最近邻,并令xi为pi与它在D中的最近邻之间的距离,即
(2) 均匀地从D的空间中抽取n个点q1,q2,…qn,对每个点qi(1≤i≤n),找出qi在D-{qi}中的最近邻,并令yi为qi与它在D-{qi}中的最近邻之间的距离,即
(3) 计算霍普金斯统计量H
如果D是均匀分布的,则将会很接近,H大约为0.5.而如果D是高度倾斜的,则,因而H将会接近与0.
确定数据集中的簇数:K-均值这样的算法需要数据集的簇数作为参数,簇数也可以看作是数据集的有趣并且重要的概括统计量。因此,在使用聚类算法导出详细的簇之前,估计簇数是可取的。
经验方法:
肘方法(elbow method):给定k>0,使用像K-均值这样的算法对数据集聚类,并计算簇内方差和var(k)。然后,绘制var关于k的曲线。曲线的第一个(或最显著的)拐点暗示“正确的”簇数。
交叉验证法:将数据分为m部分;用m-1部分获得聚类模型,余下部分评估聚类质量(测试样本与类中心的距离和);对k>0重复m次,比较总体质量,选择能获得最好聚类质量的k
测定聚类质量:在数据集上使用聚类方法之后,需要评估结果簇的质量。
两类方法:外在方法和内在方法
外在方法:有监督的方法,需要基准数据。用一定的度量评判聚类结果与基准数据的符合程度。(基准是一种理想的聚类,通常由专家构建)
Jaccard系数(Jaccard Coefficient, JC)
FM指数(Fowlkes and Mallows Index, FMI)
Rand指数(Rand Index, RI)
( a+b+c+d=m(m-1)/2 )
上述性能度量的结果值均在[0,1]区间,值越大越好。
用Q(C,Cg)表示聚类C在给定基准数据Cg条件下的质量度量
Q的好坏取决于四个条件:
簇的同质性:簇内越纯越好
簇的完整性:能够将基准数据中属于相同类的样本聚类为相同的类
碎布袋:把一个异种数据加入纯类应该比放入碎布袋受到更大的“处罚”
小簇的保持性:把小簇划分成更小簇比把大簇划分为小簇的危害更大
BCubed精度和召回率:一个对象的精度指示同一个簇中有多少个其他对象与该对象同属一个类别。一个对象的召回率反映有多少同一类别的对象被分配在相同的簇中。
设D={o1,o2,…on}是对象的集合,C是D中的一个聚类。设L(oi)(1≤i≤n)是基准确定的oi的类别,C(oi)是C中oi的cluster_ID,对于两个对象oi和oj(1≤i,j≤n,i≠j),它们之间在聚类C中的关系的正确性由给出。
BCubed精度定义为
BCubed召回率定义为
内在方法:无监督的方法,无需基准数据。类内聚集程度和类间离散程度。
考虑聚类结果的簇划分C={C1,C2,…,Ck},定义簇C内样本间的平均距离
簇C内样本间的最远距离:
簇Ci与簇Cj最近样本间的距离:
簇Ci与簇Cj中心点间的距离:
DB指数(Davies-Bouldin Index,DBI)
Dunn指数(Dunn Index,DI)
DBI值越小越好,而DI则相反,值越大越好。
轮廓系数(silhouette coefficient):**
对于D中的每个对象o,计算o与o所属的簇内其他对象之间的平均距离a(o):
b(o)是o到不包含o的所有簇的最小平均距离:
轮廓系数定义为:
轮廓系数的值在-1和1之间。
a(o)的值反映o所属的簇的紧凑性。该值越小,簇越紧凑。
b(o)的值捕获o与其他簇的分离程度。b(o)的值越大,o与其他簇越分离。
当o的轮廓系数值接近1时,包含o的簇是紧凑的,并且o远离其他簇,这是一种可取的情况。
当轮廓系数的值为负时,这意味在期望情况下,o距离其他簇的对象比距离与自己同在簇的对象更近,许多情况下,这很糟糕,应当避免。