机器学习的信息论基础

信息
个是熵和信息增益的基础概念,我觉得对于这个概念的理解更应该把它认为是一用名称,就比如“鸡”(加引号意思是说这个是名称)是用来修饰鸡(没加引号是说存在的动物,即鸡),“狗”是用来修饰狗的,但是假如在鸡还未被命名为“鸡”的时候,鸡被命名为“狗”,狗未被命名为“狗”的时候,狗被命名为“鸡”,那么现在我们看到狗就会称其为“鸡”,见到鸡的话会称其为“狗”,同理,信息应该是对一个抽象事物的命名,无论用不用“信息”来命名这种抽象事物,或者用其他名称来命名这种抽象事物,这种抽象事物本身是客观存在的。
信息量
信息是用来减少随机不确定性的东西(即不确定性的减少)。对于事件来说,它发生的概率越大,那么它所含有的信息量就越低,反之亦然。
考虑抛硬币的例子,为了描述抛掷硬币的所有结果(正/反),需要 1 bit 大小的数据,即用 0/1 代表某一面;在考虑从一副抽掉大小王的扑克里随机抽一张牌,为了描述抽到牌的花色(共四种),需要 2 bits 数据。所以,后一个例子的不确定性比前一个更大,那为了弥补这种不确定性、准确描述结果,我们需要更多的信息。
公式 假设
说明:上面是以 2 为对数的底,实际上这个底是能够是其他的数字的。常用的是 2 和 e 这两个底。底是2的时候,单位为bit;底是e的时候,单位为nat
有时候也将其称为自信息(self-information),可以推广一下:
联合自信息:
条件自信息:
以上公式也可以推广至多维。
信息熵
高中化学曾经学习过熵的一些概念。化学中的熵是指一个体系中的混乱程度,事实上对应我们机器学习中的熵是类似的。一个事物越混乱,那么很显然它就包含了更多的信息。
信息熵是由信息论之父香农提出来的,它用于随机变量的不确定性度量。
上面的
这个公式的意思就是,随机变量
信息熵在联合概率分布的自然推广,就得到了联合熵:
当变量
条件熵公式:
当变量
KL 散度
Kullback-Leibler divergence,又称为相对熵。如果我们对于同一个随机变量 x 有两个单独的概率分布
在机器学习中,
KL 散度公式(连续情况下):
在一定程度上面,相对熵可以度量两个随机分布的距离。也常常用相对熵来度量两个随机分布的距离。当两个随机分布相同的时候,他们的相对熵为0,当两个随机分布的差别增大的时候,他们之间的相对熵也会增大。但相对熵不具有对称性,即:
KL 散度还具有非负性。
值得注意的是:

所以:
互信息实际上就是变量
交叉熵
交叉熵可以看做 KL 散度的特例,其公式是:
可以发现: