Normalized Mutual Information(NMI, 归一化互信息)

Normalized Mutual Information(NMI, 归一化互信息)

  • 值域是 [0,1],值越高表示两个聚类结果越相似。归一化是指将两个聚类结果的相似性值定量01 之间。

NMI=2ijnijlnnijNninjinilnniNjnjlnnjN

NMI(Y,C)=2×I(Y;C)H(Y)+H(C)

  • 其中Y代表数据真实的类别;C表示聚类的结果。
  • H() 表示信息熵,H(X)=i=1Np(i)log p(i),此处的 log 以2为底。
  • I(Y;C) 代表互信息, I(Y;C)=H(Y)H(Y|C) ,互信息是信息论里的一种信息度量,可以看成是一个随机变量中包含的关于另一个随机变量的信息量。

例子

假定共有20个样本,真实类簇为3个,而模型学习得到2个类簇,如下:

  1. 计算 Y 的信息熵 H(Y)

    H(Y) 表示数据真实标签的交叉熵,它是一个固定的值。可以在聚类之前计算出。

    H(Y)=y=13P(Y=y)logP(Y=y)=(14log(14)+14log(14)+12log(12))=1.5 bit

  2. 计算 C 的信息熵
    𝐻(𝐶)表示数据聚类后标签的交叉熵,每得到一个聚类结果都需要计算一下。

    H(C)=c=12P(C=c)logP(C=c)=(12log(12)+12log(12))=1 bit

  3. 计算 YC 的互信息

    H(Y|C)=H(Y|C=1)+H(Y|C=2)=P(C=1)y=13P(Y=y|C=1)logP(Y=y|C=1)P(C=2)y=13P(Y=y|C=2)logP(Y=y|C=2)=12(310log(310)+310log(310)+410log(410)+210log(210)+710log(710)+110log(110))=1.3639 bit

    I(Y;C)=H(Y)H(Y|C)=1.51.3639=0.1361 bit

  4. 计算 YC 的归一化互信息

NMI(Y,C)=2×I(Y;C)H(Y)+H(C)=2×0.13611.5+1=0.1089

posted @   亦可九天揽月  阅读(497)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示