信息熵

定义

Entrophy:

sum([p*log(1/p) for each p])

p:      一次实验的, x的发生的次数的期望是 p
1/p :   x发生一次, 期望要做的试验次数是 1/p

例子

1.掷硬币

在该模型下,p = 1/2 。一次实验的, x的发生的次数的期望是 1/2,x发生一次,期望要做的试验次数是 2 因此,由上述可知:

log(1/p)=log(2)= 1
p*log(1/p)=1/2 * log(2) = 1/2

2.摸球

4个球 1个红球 2个绿球 1个黑球

红球的概率 1/4
绿球 2/4=1/2
黑球 1/4

显然

1/4 * log(4) = 1/2
1/2 * 1 = 1/2
1/4 * 2 = 1/2

相对熵 (KL散度)

KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。典型情况下,P表示数据的真实概率分布,Q表示数据的理论概率分布,模型分布,或P的近似分布。

D(Q||P)=∑Q(x)[log(1/P(x))] - ∑Q(x)[log[1/Q(x)]]
       =∑Q(x)log[Q(x)/P(x)]

其中 ∑Q(x)[log(1/P(x))] 表示使用原来的编码方式得到的比特数的期望,log(1/P(x)) 表示使用原来的编码方式,x出现1次的期望编码长度 Q(x) 表示现在x出现的概率

由于-log(u)是凸函数,因此有下面的不等式

DKL(Q||P) = -∑x∈XQ(x)log[P(x)/Q(x)] = E[-logP(x)/Q(x)] ≥ -logE[P(x)/Q(x)]
          = -log∑x∈XQ(x)P(x)/Q(x) 
          = 0

KL-divergence始终是大于等于0的。当且仅当两分布相同时,KL-divergence等于0。

例子

比如有四个类别,一个方法A得到四个类别的理论概分布Q为:0.1,0.2,0.3,0.4真实概率分布P为0.4,0.3,0.2,0.1,那么这两个分布的KL-Distance(A,B)为:

KL-Distance(A,B)=0.1*log(0.1/0.4)+0.2*log(0.2/0.3)+0.3*log(0.3/0.2)+0.4*log(0.4/0.1)

这个里面有正的,有负的,可以证明KL-Distance()>=0.从上面可以看出,KL散度是不对称的。即

$$KL-Distance(A,B)!=KL-Distance(B,A)$$

如果希望把它变对称

$$Ds(p1, p2) = [ D (p1, p2) + D (p2, p1) ] / 2$$

条件熵

条件熵是信息论中信息熵的一种度量,它表示如果已经完全知道第二个随机变量 X 的前提下,随机变量 Y 的信息熵还有多少。也就是 基于 X 的 Y 的信息熵,用 H(Y|X) 表示。同其它的信息熵一样,条件熵也用比特、奈特等信息单位表示。具体有针对一个确定的Xj 的条件熵,如果是针对一个随机变量而言,条件熵是针对所有Xj的条件熵的期望

0805b3701844e957d57e426ddd55bfd5.png&objectId=1190000000641079&token=1bdd581041bfe7c8766e60824b5ba32d

补充信息

推导公式

H(Y|X)=Σx∈Ωp(x)H(Y|X=x)
   = Σx∈Ωp(x)(-Σ y∈Ψp(y|x)log2p(y|x))
   =-Σx∈Ω Σ y∈Ψp(y|x)p(x)log2p(y|x)
   = -Σx∈Ω Σ y∈Ψp(x,y)log2p(y|x)

信息

信息是通过熵与条件熵的差计量的:

掷一次骰子,由于六种结局(点)的出现概率相等,所以结局的不确定程度(熵)为log6 ,如果告诉你掷骰子的结局是单数或者双数,这显然是一个信息。这个信息消除了我们的一些不确定性。把消除的不确定性称为信息显然是妥当的。

如果令公式中的y=x,H(x∣y)变成了H(x∣x),其含义当然是x已知时x的条件熵,可是x 已知时它自己当然没有不确定性了。把它带入信息公式,得到

 H(x∣x)=0 

信息量I=(x的不确定性)- (得到了消息y以后x的不确定性)

I(x,y) = H(x)-H(x|y=x)=H(X)

也就是说条件Y已知时所带来的信息恰好消除了原来的不确定性。换句话说,获得的信息量等于产生不确定性的信息量。正是在一些场合下把熵直接称为信息的原因,而引出了信息是熵或者信息是负的熵的错误概念。
如果H(x)=H(x|y),则x,y相互独立,即x,y之间互不影响,那么信息量为零。

图片描述

上图说明了变量y含有的关于变量x的信息与变量x含有的关于变量y的信息是相同的。
即变量之间含有的信息是对称的.需要注意的是,图中的关系为熵H,不是概率P。

信息增益

信息量是通过熵与条件熵的差计量的
熵 - 条件熵:

IG(T,C) = H(T)-H(T|C)

推导公式:

图片描述

在信息增益中,重要性的衡量标准就是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。

缺点

由公式可知,该方法在计算概率时会产生一个问题,

例如P(Ci),表示类别Ci出现的概率,要用1除以类别总数。

即只能考察特征对整个系统的贡献,而不能具体到某个类别上,这就使得信息增益只适合用来做所谓“全局”的特征选择(指所有的类都使用相同的特征集合),而无法做“局部”的特征选择(每个类别有自己的特征集合,因为有的词,对这个类别很有区分度,对另一个类别则无足轻重)。

互信息

参考【1】

互信息(Mutual Information)是一有用的信息度量,它是指两个事件集合之间的相关性。

一般而言,信道中总是存在着噪声和干扰,信源发出消息x,通过信道后信宿只可能收到由于干扰作用引起的某种变形的y。信宿收到y后推测信源发出x的概率,这一过程可由后验概率p(x|y)来描述。相应地,信源发出x的概率p(x)称为先验概率。两个事件X和Y的互信息定义为:

x的后验概率与先验概率比值的对数为y对x的互信息量,也称交互信息量(简称互信息)

公式:

MI(x,y) = log( P(x,y)/P(x)P(y) )

注意`H()表示熵的计算公式。不是概率论中的公式`。

互信息也应用于统计语言模型,对于类别 c 和词条 t,它们之间的互信息定义为:

图片描述

这是单个类别的互信息公式,将互信息应用于多个类别,有两种常用的方法:设图片描述为目标空间的类的集合,则 平均和最大互信息公式分别为

图片描述

其意义:表示事件A发生与事件B发生相关联而提供的信息量。该方法通过计算词条(Term)和类别(Class)的互信息,词条和类别的互信息越大,词条越能代表该种类别。其中词条和类别的互信息通过公式,这个和信息增益也有关系,具体见 综合 部分.

在某个类别C中词条T出现概率高,而在其它类别中出现的概率低,则该词条T将获得较高互信息,也就可能被选取为类别C的特征。互信息是一种信息量,用于词条T的存在能否正确判断出类别C。

词条和类别的互信息体现了词条和类别的相关程度,互信息越大,词条和类别的相关程度也越大。得到词条和类别之间的相关程度后,选取一定比例的,排名靠前的词条作为最能代表此种类别的特征。

举例

互信息I (X; Y) 是在知道了Y 的值后X 的不确定性的减少量。即,Y 的值透露了多少关于X 的信息量。

比如计算两个词的搭配

I(伟大,祖国)=log2p(伟大,祖国)/(p(伟大)p(祖国))

此值较高,说明“伟大”和“祖国”是一个比较强的搭配

I(的,祖国)=log2p(的,祖国)/(p(的)p(祖国))

此值较低,因为p(的)太高,“的”和“祖国”不是一个稳定的搭配

另外一个例子

    k1     k2    k3   dk1   dk2   dk3   dc
c1  10     30     0    5     20    0    100
c2   0     20    50    0     10   15    120
c3  10     40    80    1     20   60    150

如表所示,其中ci表示类别;kj表示类中术语;dkn表示出现术语kj的文章的个数,这些文章是属于每个类的;dc表示每个类包含的文章数。
用单个类别互信息公式计算K1与C1的互信息:

P(k1|c1) = 10/(10+30+0) = 1/4
P(k1) = (10+10)/(10+30+0+0+20+50+10+40+80) = 1/12
MI(k1,c1) = logP(k1,c1)/P(k1)P(c1)
          = logP(k1|c1)/P(k1)
          = log (1/4)/(1/12)
          = log 3
           

用多个类别互信息公式计算k1与ci的互信息,假设每个类出现k1概率相等,现有3个类,故P(ci) = 1/3

MI(k1) = P(c1)logP(k1|c1)/P(k1)+ P(c2)logP(k1|c2)/P(k1)+P(c3)logP(k1|c3)/P(k1)
       = 1/3[log3+0+log(12/13)]

这里存在两个问题

(1)k1未出现在C2,那么它的条件概率值为0,在log中是不允许为0的。
(2)k1与c3的互信息为负值

缺点

未使用高频词和利用类别信息.
(1)传统的互信息特征选择方法受边缘概率的影响较大,可能产生稀有词的概率评估分高于常用词的评估 分,从而导致倾向于选择低频词条的现象。
(2)当出现评估分数相同的情况,但对每个特征的排序有先后之别,对他们的取舍是没有理论依据的,可能造成结果的不理想。

自信息

参考【2】

自信息(英语:self-information),又译为信息本体,由克劳德·香农提出,用来衡量单一事件发生时所包含的信息量多寡。它的单位是bit,或是nats。

特征选择:

决策树:特征t能产生的信息增益 = 熵 - t对应的条件熵

Xj -> X, 这里j只有两种取值, 有 或者 没有, 也就对应了决策树的两个分叉。

选择信息增益最大的特征。

实际中特征t可能是一个连续值,我们需要选一个阈值,大于阈值的就等同于t出现, 小于阈值的就等同于t不出现,这个阈值也需要遍历所有的样本集中t的取值来确定。 同样还是两个分叉。 假设有n个特征,m个样本(最坏在每个特征处有m个值, 这样寻找一次最大的信息增益的复杂度是 O(mn) 还是挺大的)

如果有一个样本集是这样

    f1 f2 f3
c1   1  0  1
c2   0  1  0
c3   1  1  0

可以算c1 c2之间的相似度, 同样也可以算 f1, f2之间的相似度, 行和列而已, 实际中 c1 c2 c3不可能就一个样本

    f1 f2 f3
c1   1  0  1
c1   1  1  1
c2   0  1  0
c2   1  1  0
c3   1  1  0

这时候直接算列的相似度就不好算了, 用互信息就可以,互信息就像是把类别作为一个doc, 特征作为term, 的tf-idf模型,比如f3就很能代表c1, 同样, 用信息增益也可以算。

综合

Wiki : Information gain in decision trees

In information theory and machine learning, information gain is a synonym for Kullback–Leibler divergence. However, in the context of decision trees, the term is sometimes used synonymously with mutual information, which is the expectation value of the Kullback–Leibler divergence of a conditional probability distribution.

In particular, the information gain about a random variable X obtained from an observation that a random variable A takes the value A=a is the Kullback-Leibler divergence DKL(p(x | a) || p(x | I)) of the prior distribution p(x | I) for x from the posterior distribution p(x | a) for x given a.

这篇文章提到互信息可以和 tf-idf 一样作为文档的关键词的权值


duxu_seg
1 声望0 粉丝