OMSCS-ML课程笔记09-Information Theory

这个系列是Gatech OMSCS 机器学习课程(CS 7641: Machine Learning)的同步课程笔记。课程内容涉及监督学习、无监督学习和强化学习三个部分,本节主要介绍信息论的相关内容。

Entropy

信息量的基本度量是信息熵(information entropty),对于离散随机变量X我们定义它的熵为:

H(X)=EX[I(X)]=xXp(x)logp(x)

熵度量了随机变量的随机程度:X的分布越均匀对应的熵越大,而当X的分布越集中对应的熵越小。当X退化为确定的变量时我们定义它的熵为0。

除此之外我们还可以从编码长度来理解信息熵。对于随机变量X的所有取值我们可以使用霍夫曼编码对它进行编码,概率为p(x)的取值对应的编码长度为logp(x),而X的平均编码长度即为H(X)=xXp(x)logp(x)。因此信息熵给出了对随机变量进行无损编码的最小平均长度。

在信息熵的基础上我们可以定义两个离散随机变量的联合熵(joint entropy)

H(X,Y)=EX,Y[logp(x,y)]=x,yp(x,y)logp(x,y)

同时已知Y条件下X的熵定义为条件熵(conditional entropy)

H(X|Y)=EY[H(X|Y)]=yp(y)xp(x|y)logp(x|y)=x,yp(x,y)logp(x|y)=H(X,Y)H(Y)

Mutual Information

对于随机变量XY我们可以定义它们之间的互信息为:

I(X;Y)=x,yp(x,y)logp(x,y)p(x)p(y)

互信息度量了随机变量XY的独立性质,当且仅当XY相互独立时它们的互信息为0。此外,互信息可以从XY的联合熵以及条件熵推导出来:

I(X;Y)=I(Y;X)=H(X)H(X|Y)=H(Y)H(Y|X)=H(X)+H(Y)H(X,Y)

Kullback–Leibler Divergence

本节最后介绍了KL散度(Kullback–Leibler divergence),它可以用来度量概率分布PQ之间的距离:

DKL(PQ)=xP(x)log(P(x)Q(x))=xP(x)logQ(x)+xP(x)logP(x)

其中第一项称为PQ交叉熵(cross entropy),第二项是P的信息熵。

结合互信息不难发现,互信息是联合概率与独立概率之间的KL散度。从这个角度看互信息实际上度量了XY的联合概率分布于它们独立分布之间的差异。

最后需要说明的是严格来说KL散度并不是一个距离度量,它不满足交换性:

DKL(PQ)DKL(QP)

Reference