Advertisement

【机器学习】一文理清信息熵,相对熵,交叉熵

阅读量:

初学者在努力掌握这三个信息论的大难点时常常感到困惑不解。本文将对这三个概念进行梳理,并尽量用通俗易懂的语言阐述它们的基本原理和应用范围。

信息熵:

A,B,C,D

A,B,C,D

00,01,10,11

香农提出了信息熵这一概念主要用于解决信息的量化与度量问题 ,例如设有四个可能的符号集合[A,B,C,D]。每个符号按照8位ASCII编码存储,则这四个符号将占用总共32位二进制数据。当采用二进制编码时,则可将上述四个符号分别编码为[00, 01, 10, 11]。进而得出这四个选项的信息量为{log}_2(4) = 2比特。

需要注意的是,在量化分析这四个选项时,默认隐含了一个附加假设(A,B,C,D)各以1/4的概率出现。如果各个事件出现的概率存在差异,则不能简单地将其编码表示为2进制形式【00,01,10,11

那么当事件的出现概率不同时, 我们如何评估信息的编码量呢?这时, 则需运用数学中的期望概念.每个事件出现的概率为p_{i}, 那么这个信息量则可表示为上述期望的形式: \sum_{i} p_{i}\log\left(\frac{1}{p_{i}}\right) = -\sum_{i} p_{i}\log(p_{i})

那么可以将信息熵定义为:
Entropy = -\sum_i p_i log(p_i)

所谓的"信息熵"则是衡量每个可能事件所需的信息量的平均值;进一步说明它还可以用于衡量信息系统的有序性。香农则将这一概念被用来评估"不确定性"这一特性,并指出当系统越无序时其"混乱度"也就越高

在此基础上拓展一下:将一枚硬币抛起后让它落下并猜测其是正面还是反面。假设这枚硬币是公平的,则其出现正面和反面的概率各为1/2,在此情况下二元信源的信息熵达到最大值。这意味着我们无法预测该次抛掷的结果只能依靠猜测来进行判断,并且在这种情况下信息熵较大反映了信息源较高的不确定性

假设有一个硬币被做了手脚,在其两面均为正面的情况下,则出现反面的概率为零。代入信息熵计算公式后得到此时的信息熵值为零。这表示这一事件的结果完全确定。无论隐藏起来与否都能确定其结果。同样地,在这种情况下我们可以认为这一信息源的状态也是完全确定的

相对熵:

相对熵也被称作Kullback-Leibler散度(KL散度),是用于衡量两个信息分布之间差异程度的重要指标。具体而言,则是通过比较两个概率分布之间的差异来量化这种差异的程度。KL(P||Q) 其中表示当使用事件P替代事件Q进行描述时所获得的信息量增量。

数学描述为:
KL(P||Q)=\sum P(x) log(\frac{P(x)}{Q(x)}) = -\sum P(x) log(\frac{Q(x)}{P(x)})

Note: 当P(x) = Q(x)时,KL散度为0,当两者分布差异越大时,KL散度也越大。

此段列举了维基百科中的一个实例。其中涉及两个概率分布P和Q,在这里假设概率分布P属于二项分布模式而另一个概率分布Q则遵循均匀分布规律。

在这里插入图片描述
在这里插入图片描述

值得注意的是相对熵具有非对称性特性即KL(P||Q)\neq KL(Q||P)后续为了解决这一不对称的问题我们引入了JS散度作为一种对称度量方法此处不做详细讨论

交叉熵:

交叉熵广泛应用于机器学习领域的多个分类问题中。
我们将相对熵的数学公式进行了分解与分析:

KL(P||Q) =\sum P(x) log(\frac{P(x)}{Q(x)}) = \sum P(x) log(P(x)) - \sum P(x) log(Q(x)) = -H(P(x)) + Cross Entrop(P,Q)

交叉熵的定义:
Cross Entrop(P,Q) = -\sum P(x) log(Q(x))

在分类问题中,在样本x上的标签y可以用一个one-hot向量P(x)来表示,在经过Softmax函数处理后得到预测概率分布Q(x)。由于label的概率分布H(y|x)保持不变是一个常数,在优化相对熵时等价于优化交叉熵损失函数。

全部评论 (0)

还没有任何评论哟~