无监督聚类评价指标,RI、ARI、MI、NMI等

无监督聚类评价指标,RI、ARI、MI、NMI等

最近在看无监督学习聚类的评价指标,主要看了RI、ARI、MI、NMI,在此写下我自己对于这些指标的理解。

  1. **RI(Rand Index)**是比较两个聚类结果的参数,也可以比较一个聚类算法的结果和真实分类情况。他是将所有情况进行枚举,来
    看看有所有pair在聚类算法1和聚类算法2中的情况一致。
    Examples:比如有5个数据点,x是聚类1返回的结果,y是聚类2返回的结果。
    x:[1, 1, 2, 3, 3]
    y:[2, 2, 3, 1, 2]
    x[0, 1] = [1, 1], 在同一个簇中
    y[0, 1] = [2, 2], 也在同一个簇中。
    所以[0, 1]这一对在聚类1 和 聚类2中是一致的。
    x[0, 2] = [1, 2],不在同一簇中
    y[0, 2] = [2, 3],也不在同一簇中。
    所以[0, 2]这一对在聚类1和聚类2中也是一致的。
    如果有n个数据点,那么

在这里插入图片描述

分母就是说有n个数据点,那么每两个相互组合会有 1/2n(n-1)个pair。
以上面的例子来说,Rand Index=0.7。因为一共有10对,其中3对不一致,分别是
x[0, 4]与y[0, 4]
x[1, 4]与y[1, 4]
x[3, 4]与y[3, 4]

2.ARI(Adjusted Rand Index)
有了前面对 RI 的理解,我们再来讲一下ARI。
ARI 就是在 RI 的基础上在进行归一化调整,其实我不太理解,参考别人的博客得知,RI 的惩罚力度不够,大家的普遍得分比较高,所
以没有上面区分度,于是诞生了ARI,这个指标相对于RI就很有区分度了。
其公式如下:

在这里插入图片描述
具体公式就是下面这样:
在这里插入图片描述

3.MI(Mutual information)
在介绍互信息前,必须先知道香农熵(信息熵)和列联表。
在这里插入图片描述,其香农熵可以被计算为:
在这里插入图片描述
pi为归属与第 i 类的数据个数占数据总
量的比例,即:
在这里插入图片描述
Examples:
向量U = [1,1,1],则有p1 = 1,H(U) = -1* log(1) = 0;
向量U = [1,2,3],则有p1 = p2 = p3 = 1/3, H(U) = -3*(1/3)*log(1/3) = log3;
向量U = [1,2,2],则有p1 = 1/3,p2 = 2/3, H(U) = -(1/3)*log(1/3)-(2/3)*log(2/3) = log3 - (2/3)*log2;
如对向量U=[1,1,2,2], V=[1,1,1,2],有
在这里插入图片描述
因此,
无监督聚类评价指标,RI、ARI、MI、NMI等_第1张图片
得出列联表为
在这里插入图片描述
这个与RI不同,RI是算两两一类,然后算是不是在一块的,这个感觉更像是算全局信息相同,算的是信息交互熵,RI算的是对映同类的计算。
接下来介绍真正的互信息 MI
其计算公式如下:
在这里插入图片描述
其中
无监督聚类评价指标,RI、ARI、MI、NMI等_第2张图片
如对向量U = [1,1,2,2], V = [1,1,1,2],有
无监督聚类评价指标,RI、ARI、MI、NMI等_第3张图片

4.**NMI(Normalized Mutual Information)标准化互信息和 AMI(Adjusted Mutual Information)调整互信息
具体看下面提供的参考链接。
5. 个人的理解总结
我个人是没有太大的去理解,我觉得是在 MI 的基础上更进一步的去优化,我主要关注的还是 MI 和 RI的区别,正如我上面说的那样, RI
计算的是无监督聚类后可能会导致标签和我们先前设置的标签不同,如我原本将聚类1的 label 定为 1 ,但是在无监督聚类后他可能会定为
2 ,但是其实该聚在一起的几个样本都聚在一块了,所以这时候用 accuracy 这个参数是非常不准确的,而 RI 等一系列参数是专门计算这
种情况的。而 MI 算的跟 RI 并不相同, MI 更像是计算全局的信息交互,而不是计算你在原本应该聚在一起的两类在后面是不是应该聚在
一块,知道了 MI 在干些什么,但是还不能太理解为什么要这么干吧。
所以如果有人能够解答我的疑惑,可以在下面留言,以上所有内容均是记录自己的学习记录,没有任何教导只用。
内容参考自:1、http://www.sofasofa.io/forum_main_post.php?postid=1002437
2、https://blog.csdn.net/qq_42122496/article/details/106193859?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai

你可能感兴趣的:(机器学习,python)