从“信息增益”到KL Divergence 和 Cross Entropy

从“信息增益”到KL Divergence 和 Cross Entropy

周志华老师在他的西瓜书的第四章,引入了“信息熵”,“信息增益”(information gain)的概念,并用信息增益最大为准则选择划分决策树的属性。周老师并没有对这两个概念进行深入讲解,实际上这两个概念均来源于信息论(Information Theory)领域。

Entropy, actually, is a measure of surprise

西瓜书中对信息熵是这样定义的:

假定当前集合 D 中第 k 个类样本所占比例为 pk , 则 D 的信息熵定义为

Ent(D)=kpklog2pk

事实上,我们可以把 pk 近似看成一个样本是第 k 类的概率,那么信息熵就可以看做是观测到一个样本,所得到的信息的一个期望。

H(K)=E(log(1pk))

其中 log(1pk) 就表示观测到一个样本,他的类别是 k 的信息。
从上述公式可以看出,观测到一个事件给我们的信息量,跟这个事件发生的概率有关。概率越小,信息量越大。

Information Gain is also called mutual information

西瓜书接下来又定义了information gain:

Gain(D,a)=Ent(D)v=1V|Dv||D|Ent(Dv)

同样的,我们也可以写成概率的形式:

I(K;A)=H(K)Ev(H(K|A=v))=H(K)H(K|A)

在信息论中,一般将 I(K;A) 叫做互信息。这个公式也很好理解, H(K) 就是观测到一个样本类比所得到的平均信息; H(K|A) 表示,如果我们事先知道属性 A 的取值,那么观测到类别所得到的信息。两者差值,就是知道了类别给我们带来的信息增益。

Relation to KL Divergence

KL Divergence一般用来度量两个分布之间的差异。它的定义是

DKL(P||Q)=iP(i)log(P(i)Q(i))

I(K,A) 展开,
I(K,A)=H(K)H(K|A)=kp(k)log(1p(k))ap(a)kp(k|a)log(1p(k|a))

I(K;A)=kp(k)log(1p(k))ap(a)kp(k,a)p(a)log(p(a)p(k,a))

I(K;A)=k,ap(k,a)log(p(k,a)p(k)p(a))=DKL(P(K,A)||P(A)P(K))

因此information gain还可以看成, K , A 的真实联合分布,与假设 K , A 独立的联合分布之间的KL Divergence.

Relation to Cross Entropy

将KL Divergence的公式展开,可以得到:

DKL(P||Q)=iP(i)log(P(i)Q(i))=H(P)+iP(i)log(1Q(i))

iP(i)log(1Q(i)) 就是Cross Entropy的定义。
因此information gain 还可以理解成, H(K,A) CrossEnt(P(K,A),P(K)P(A)) 的差值。

你可能感兴趣的:(deep-learning,math)