[ML]熵、KL散度、信息增益、互信息-学习笔记

Entrophy:

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

p:      1次实验的, x的发生的次数的指望是 p
1/p :   x发生1次, 指望要作的试验次数是 1/p

Example

  1. 硬币:

T: 1/2
H: 1/2html

由霍夫曼编码,编码的指望长度最小是 1 bitjava

用熵来解释, T发生一次, 指望要作的试验次数是 2segmentfault

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

H也同样,因而就有:dom

1/2 + 1/2 = 1 (bit)
  1. 摸球

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

红球的几率 1/4
绿球 2/4=1/2
黑球 1/4post

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

1/2 + 1/2 + 1/2 = 3/2 (bit)
指望的编码长度是 3/2, 一样和霍夫曼编码结果同样。

a, b 出现几率分别是 1/2, 熵是1, 所须要的比特位是1编码

1/p : 平均2个字符中会获得一个 a log(1/p):1个bit所表明的状况中平均能获得一个a
1/(1-p): 平均2个字符会获得一个 b log(1/(1-p)):1个bit所表明的状况中平均能获得一个bspa

须要bit的几率 = 
    出现一个a的几率 * 出现一个a的状况下须要多少bit +
    出现一个b的几率 * 出现一个b的状况下须要多少bit

相对熵 (KL散度)


wiki.net

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

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获得四个类别的几率分别是0.1,0.2,0.3,0.4。另外一种方法B(或者说是事实状况)是获得四个类别的几率分别是0.4,0.3,0.2,0.1,那么这两个分布的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)
KL散度是不对称的,固然,若是但愿把它变对称,

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

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

条件熵

wiki

条件熵是信息论中信息熵的一种度量,它表示若是已经彻底知道第二个随机变量 X 的前提下,随机变量 Y 的信息熵还有多少。也就是 基于 X 的 Y 的信息熵,用 H(Y|X) 表示。同其它的信息熵同样,条件熵也用比特、奈特等信息单位表示。

具体有针对一个肯定的Xj 的条件熵, 若是是针对一个随机变量而言, 条件熵是针对全部Xj的条件熵的指望

联合熵

wiki

P(x,y) 是联合几率

信息

由对数性质和全几率公式

信息是经过条件熵的差计量的

掷一次骰子,因为六种结局(点)的出现几率相等,因此结局的不肯定程度(熵)为log6 ,若是告诉你掷骰子的结局是单数或者双数,这显然是一个信息。这个信息消除了咱们的一些不肯定性。把消除的不肯定性称为信息显然是稳当的。

若是令公式中的y=x,H(x∣y)变成了H(x∣x),其含义固然是x已知时x的条件熵,但是x 已知时它本身固然没有不肯定性了。因此H(x∣x)=0 。把它带入信息公式,获得

也就是说x 值已知时所带来的信息刚好等于原来的不肯定性。或者说x。这正是在一些场合下把熵直接称为信息的缘由。遗憾的是有些人没有理解这个认识过程,而引出了信息是熵或者信息是负的熵的概念混乱。

信息增益

熵下降的程度
信息是经过熵与条件熵的差计量的

互信息

http://zh.wikipedia.org/wiki/%E4%BA%92%E4%BF%A1%E6%81%AF

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

baike:
通常而言,信道中老是存在着噪声和干扰,信源发出消息x,经过信道后信宿只可能收到因为干扰做用引发的某种变形的y。信宿收到y后推测信源发出x的几率,这一过程可由后验几率p(x|y)来描述。相应地,信源发出x的几率p(x)称为先验几率。咱们定义x的后验几率与先验几率比值的对数为y对x的互信息量,也称交互信息量(简称互信息)。

其意义:因为事件A发生与事件B发生相关联而提供的信息量。

该方法经过计算词条和类别的互信息,词条和类别的互信息越大,词条越能表明该种类别。其中词条和类别的互信息经过公式,

MI(T,C) = log( P(T|C)/P(T) )

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

熵 - 条件熵 , 这个和信息增益也有关系, 具体见 综合 部分.

其中P(T|C)是词条T在类别C中出现的几率,P(T)是词条T在整个训练集中出现的几率。

直观理解, 若是 T在整个训练集中出现的几率并不高,可是在类别C中出现的几率却很高, 那么就能够知道T能够很大程度上表明这个C, 分子相似于tf(可是包含了文档长度的考虑), 分母有点相似于IDF(可是又包含了各个文档中出现的term的个数,而不仅是出没出现)。

用互信息的方法,在某个类别C中的出现几率高,而在其它类别中的出现几率低的词条T,将得到较高的词条和类别互信息,也就可能被选取为类别C的特征。

互信息是term的存在与否能给类别c的正确判断带来的信息量。

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

自信息

http://zh.wikipedia.org/wiki/%E8%87%AA%E4%BF%A1%E6%81%AF

自信息(英语: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.

证实:

http://www.cnblogs.com/xiedan/archive/2010/04/03/1703722.html
http://blog.sohu.com/people/f21996355!f/123258006.html

http://blog.sina.com.cn/s/blog_4d1f33470100sjuf.html 这篇文章提到互信息能够和 tf-idf 同样做为文档的关键词的权值

相关文章
相关标签/搜索