利用互信息比较不同的聚类结果

来源:互联网 发布:java输出正三角形 编辑:程序博客网 时间:2024/06/08 14:57

互信息(mutual information)和信息熵(information entropy)一样都是信息论里面的概念。信息熵在决策树里面用的比较多,可以度量样本集合的纯度。而互信息在聚类中有很大的作用,它可以衡量对同一个数据集不同的划分的之间的相似程度。

假设PaPb表示数据集X上的两个不同的划分,X包括n的样本。

Pa包含ka个簇,Pa= {Ca1,Ca2,,Caka}。

Pb包含kb个簇,Pb= {Cb1,Cb2,,Cbkb}。

nabij表示CaiCbj中相同样本的个数。

nai表示Cai中样本的个数,nbj表示Cbj中样本的个数。

PaPb的互信息为I(PaPb):

I(PaPb)=i=1kaj=1kbnabijnlog(nabijnnainnbjn)

接下来还要对I(PaPb)进行标准化,使I(PaPb)的值域为[0,1]
标准化的互信息用NMI表示:

NMI(Pa,Pb)=I(Pa,Pb)H(Pa)H(Pb)

其中H(Pa),H(Pb)分别表示Pa,Pb的信息熵
NMI(Pa,Pb)的值介于0到1之间,当划分Pa,Pb只有很小的差别时,NMI(Pa,Pb)趋近于1,反之趋近于0。

如果我们通过先验信息,知道了真正的划分P,那么就可以用NMI(PaP)来检验划分Pa是否合理。