..

机器学习基础知识:熵,交叉熵,相对熵

简介

信息熵是随机数据源产生信息的均量。信息熵代表的是随机变量或整个系统的不确定性,熵越大,随机变量或系统的不确定性就越大。

计算

一枚正常硬币进行若干次抛投,这个事件的熵是1bit,因为结果不外乎两个 - 正面或反面,可以表示为0,1编码,而且两个结果彼此之间相互独立。但如果一枚硬币的两面完全相同,那抛硬币事件的熵为零,因为结果能被准确预测。

定义

信息熵的数学公式如下:

entropy definition

其中 P 为X的概率质量函数,E为期望函数,而I(x)是X的信息量。I(X)本身是个随机变数。当取自有限样本时,熵的公式可以表示为:

entropy deinition2

所以熵的本质是香农信息量 log(1/p)的期望;一个事件结果的出现概率越低,对其编码的bit长度就越长。以期望在整个随机事件的无数次重复试验中,用最少的bit去记录整个实验历史,即无法压缩的表达,代表了真正的信息量。

交叉熵

一个系统有一个真实的概率分布,也叫真实分布,根据真实分布,我们能够找到一个最优策略,以最小的代价消除系统的不确定性,而这个代价大小就是信息熵。

多数情况下,我们并不知道系统的真实分布,如抛硬币例子,如果硬币两面一样,但我们不知道这一信息,以为两面不一样,两面不一样是一个非真实分布。交叉熵,是用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力大小。

交叉熵的公式为:

cross_entropy

其中p为真实分布,q为非真实分布。交叉熵越低,意味着q越接近p。所以在机器学习分类算法中,我们总是最小化交叉熵,交叉熵越低,间接证明算法推算出的非真实分布q越接近真实分布p。

深度学习中交叉熵损失函数[Cross Entropy Loss];

cross entropy loss

相对熵(KL散度)

相对熵又称KL散度,是为了衡量不同策略之间的差异,即:

假设f(x)为真实分布p,g(x)为非真实分布q,则上述相对熵为: