聚类指标
外部评价指标
Adjusted Rand Index(兰德指标)
为使随机聚类结果的ARI接近0,提出调整兰德系数
Adjusted Mutual Information(互信息)
信息熵:当随机变量Y的取值确定,即p(y_1)=1,p(y_{i \neq 1}=0),熵为0。当随机变量的取值不确定,例如在N种取值上的均匀分布,
H(Y)=−∑N1Nlog 1N=log N
条件熵:在给定条件X下,Y的分布的不确定性
聚类结果C和参考类别 C∗ 之间的互信息定义为
当 C 与
同ARI相似,AMI定义为
尽管由于 H(C|C∗)≥0 , H(C∗|C)≥0 ,因此
AMI的取值范围为[0,1],对两种独立的聚类值为0,两种完全相同的聚类值为1。
homogeneity,completeness and V-measure
homogeneity(同质性):一个簇只包含一个类别的样本
c∗1 | c∗2 | sum |
---|---|---|
c1 | 2 | |
c2 | 3 | |
c3 | 6 | |
c4 | 1 | |
sum | 6 | 6 |
H(C∗)=log 2 , H(C∗|C)=0 , h=1
c∗1 | c∗2 | sum |
---|---|---|
c1 | 1 | 2 |
c2 | 2 | 4 |
c3 | 3 | 6 |
c4 | 4 | 8 |
sum | 10 | 20 |
H(C∗)=13log 3+23log 32 , H(C∗|C)=13log 3+23log 32 , h=0
completeness(完整性):一个类别只在一个簇中
例如对于聚类结果
c∗1 | c∗2 | c∗3 | c∗4 | sum |
---|---|---|---|---|
c1 | 1 | 3 | 2 | |
c2 | 6 | |||
sum | 1 | 3 | 6 | 2 |
H(C)=log 2 , H(C|C∗)=0 , c=1
c∗1 | c∗2 | c∗3 | c∗4 | sum |
---|---|---|---|---|
c1 | 1 | 2 | 3 | 4 |
c2 | 2 | 4 | 6 | 8 |
sum | 3 | 6 | 9 | 12 |
H(C)=13log 3+23log 32 , H(C|C∗)=13log 3+23log 32 , c=0
V-measure:均一性和完整性的调和平均
Fowlkes-Mallows score
其中
- TP为在聚类结果中属于同一簇,在标签中也属于同一类的样本对数目
- FP为在聚类结果中不属于同一簇,在标签中属于同一簇的样本对数目
- FN为在聚类结果中属于同一簇,在标签中不属于同一簇的样本对数目
FMI 为精度和召回率的几何均值
内部评价指标
Silhouette coefficient:轮廓系数
一个样本的轮廓系数定义为:
- a:The mean distance between a sample and all other points in the same
class. - b:The mean distance between a sample and all other points in the next nearest cluster.
s接近1表示该样本匹配该类非常好,s接近-1表示该样本被聚类到相邻类中更合适,s接近0表示样本在两个类的交集处。
聚类的轮廓系数定义为所有样本轮廓系数的均值。 s¯>0.5 表示聚类合适, s¯<0.2 表示数据不存在聚类特征
Calinski-Harabaz Index:离差平方和
类内散度
类间散度
其中 Nk 代表第 k 个簇的样本数目。
则CH索引为
CH索引的优点在于计算快,它倾向于得到大小均匀的类。
吸引力传播
motivation
算法同时考虑所有样本点作为可能的聚类中心,可以看作是解决了如何选取
ci
使得能量函数
最小的一个方法。其中 s(i,ci) 是样本 i 与它的聚类中心的相似度(例如:负的欧氏距离)。该问题是NP-hard k-median problem,无法精确求解。
算法描述
输入是样本对之间的相似度矩阵
-
r(i,k)
,是
i
传给
k 的,代表 i 有多想选k 作为自己的代表(对样本 i 来说,k 与自己最相似) -
a(i,k)
,是
k
传给
i 的,代表 k 有多想让i 选自己作为代表(有多少其它样本点想选 k 作为自己的代表)
对于样本
算法流程
- 初始化
a(i,k)=0 - while 未达到最大迭代次数 or message的改变低于某个阈值 or 近几次(如10次)迭代中根据 r(i,k)+a(i,k) 确定的聚类中心不变
- for k={1,2,…,n}−{k|s(k,k)<0}
- r(i,k)=s(i,k)−maxk′ ≠k{a(i,k′)+s(i,k′)}
- a(i,k)=min{0,r(k,k)+∑i′∉i,kmax{0,r(i′,k)}}
- a(k,k)=∑i′≠kmax{0,r(i′,k)}
- end
- end
- return {k|a(k,k)+r(k,k)>0}
在第一次迭代的时候,因为 a(i,k)=0 , r(i,k)=s(i,k)−maxk′≠ks(i,k′) , r(k,k)=s(k,k)−maxk′≠ks(k,k′) 。因此 s(k,k) 代表样本 k 作为聚类中心的合适程度,被成为“preference”。当preference选相似度矩阵的中值(s对角线上元素取值相同)时,会获得适当数目的簇;当preference选相似度矩阵的最小值时,会得到小数目的簇。
在接下来的迭代中,某些不是聚类中心的点的
r(i,k)<0 ,那么 a(i,k)<0 。不再考虑这些点作为可能的聚类中心来保证迭代算法的效率。为避免消息传递中的数值震荡,例如如果 s(1,2)=s(2,1) ,并且 s(1,1)=s(2,2) ,那么 c1=c2=1 和 c1=c2=2 会达到相同的能量,即选样本1还是样本2作为聚类中心都一样,因此会出现这次迭代选1作为聚类中心,下次迭代选2作为聚类中心的现象,从而可能导致算法无法收敛。于是引入阻尼因子(damping factor):
rt+1(i,k)=λ×rt(i,k)+(1−λ)∗rt+1(i,k)at+1(i,k)=λ×at(i,k)+(1−λ)∗at+1(i,k)
也可以通过给相似度矩阵加入一点噪声来避免震荡。算法优势
- 不同于K-means依赖于初始聚类中心的选择,只有当初始点离最优点足够近的时候,才能获得最佳结果,吸引力传播不需要初始聚类中心,尽管利用preference作为先验。
- 相似度矩阵不必是对称的,相似性的度量也不需要满足三角不等式[i.e., s(i,k)<s(i,j)+s(j,k) ],更适合解决实际中的某些问题。例如两个句子之间的相似度度量,从一个城市到另一个城市的交通便利程度的度量。