一、熵(Entropy)
熵表示随机变量不确定性的度量。假设离散随机变量𝑋可以取到𝑛个值,其概率分布为
则𝑋的熵定义为
由于熵只依赖𝑋的分布,与𝑋本身的值没有关系,所以熵也可以定义为
熵越大,则随机变量的不确定性越大,并且
当随机变量只取两个值0和1的时候,𝑋的分布为
熵则是
此时随机变量为伯努利分布,熵随概率变化的曲线如下图所示
import numpy as npfrom math import logimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties%matplotlib inlineplt.rcParams['font.sans-serif']=['HeiTi TC']p = np.arange(0.01, 1, 0.01)entro = -p*np.log2(p) - (1-p)*np.log2(1-p)plt.plot(p, entro)plt.title('伯努利分布时熵和概率的关系')plt.xlabel('p')plt.ylabel('H(p)')plt.show()

当𝑝=0和𝑝=1时熵值为0,此时随机变量完全没有不确定性;当𝑝=0.5时的熵值最大,随机变量的不确定性最大。
二、条件熵(Conditional Entropy)
假设有随机变量(𝑋,𝑌),其联合概率为
条件熵𝐻(𝑌|𝑋)表示在已知随机变量𝑋的条件下随机变量𝑌的不确定性,定义为
通过公式可以把条件熵理解为在得知某一确定信息的基础上获取另外一个信息时所获得的信息量。
当熵和条件熵中的概率由数据估计获得时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。
三、联合熵(Joint Entropy)
假设有随机变量(𝑋,𝑌),其联合概率为
联合熵度量的是一个联合分布的随机系统的不确定性,它的定义为
由此可以对联合熵进行简单的化简
同理可证𝐻(𝑋,𝑌)=𝐻(𝑌)+𝐻(𝑋|𝑌),即联合熵
对一个两个随机变量的随机系统,可以先观察一个随机变量获取信息,在这之后可以在拥有这个信息量的基础上观察第二个随机变量的信息量,并且无论先观察哪一个随机变量对信息量的获取都是没有任何影响的
同理可得一个含有𝑛个独立的随机变量的随机系统(𝑋1,𝑋2,…,𝑋𝑛)的联合熵为
可以发现即使是含有𝑛个随机变量的随机系统,无论先观察哪一个随机变量,对信息量的获取也是没有任何影响的。
四、相对熵(Relative Entropy)
相对熵有时候也称为KL散度 (Kullback–Leibler divergence)。
设𝑝(𝑥)、𝑞(𝑥)是离散随机变量𝑋中取值的两个概率分布,则𝑝对𝑞的相对熵是:
相对熵的性质
- 如果𝑝(𝑥)和𝑞(𝑥)两个分布相同,那么相对熵等于0
- 𝐷𝐾𝐿(𝑝||𝑞)≠𝐷𝐾𝐿(𝑞||𝑝),相对熵具有不对称性
- 𝐷𝐾𝐿(𝑝||𝑞)≥0(利用Jensen不等式可证)
其中,得证𝐷𝐾𝐿(𝑝||𝑞)≥0
4. 相对熵可以用来衡量两个概率分布之间的差异,上面公式的意义就是求𝑝与𝑞之间的对数差在𝑝上的期望值
五、交叉熵(Cross Entropy)
定义:基于相同时间测度的两个概率分布𝑝(𝑥)和𝑞(𝑥)的交叉熵是指,当基于一个“非自然”(相对于“真实分布”𝑝(𝑥)而言)的概率分布𝑞(𝑥)进行编码时,在时间集合中唯一标识一个事件所需要的平均比特数(使用非真实分布𝑞(𝑥)所指定的策略消除系统不确定性所需要付出的努力大小)。
假设随机变量𝑋可以取到𝑛个值。现在有关于样本集的两个概率分布𝑝(𝑋=𝑥𝑖)和𝑞(𝑋=𝑥𝑖),其中𝑝(𝑋=𝑥𝑖)为真实分布,𝑞(𝑋=𝑥𝑖)非真实分布。如果用真实分布𝑝(𝑋=𝑥𝑖)来衡量识别一个样本所需要编码长度的期望(平均编码长度)为:
如果使用非真实分布𝑞(𝑋=𝑥𝑖)来表示,来自真实分布𝑝(𝑋=𝑥𝑖)的平均编码长度,则是:
因为用𝑞(𝑋=𝑥𝑖)来编码的样本来自于分布𝑞(𝑋=𝑥𝑖),所以𝐻(𝑝,𝑞)中的概率是𝑝(𝑋=𝑥𝑖),此时就将𝐻(𝑝,𝑞)称之为交叉熵。
举个例子,考虑一个随机变量𝑋,真实分布,非真实分布
,则𝐻(𝑝)=1.75𝑏𝑖𝑡𝑠最短平均码长,交叉熵
由此可以看出根据非真实分布𝑞(𝑋=𝑥𝑖)得到的平均码长大于根据真实分布𝑝(𝑋=𝑥𝑖)得到的平均码长,但这种大于是个例还是总是会这样呢?
六、相对熵、交叉熵和熵的关系
此处化简一下相对熵的公式。
如果此时联立熵的公式和交叉熵的公式
即可推出
通过上述公式可以得出当用非真实分布𝑞(𝑥)得到的平均码长比真实分布𝑝(𝑥)的平均码长多出的比特数就是相对熵。
又因为𝐷𝐾𝐿(𝑝||𝑞)≥0,则𝐻(𝑝,𝑞)≥𝐻(𝑝),当𝑝(𝑥)=𝑞(𝑥)时,此时交叉熵等于熵。
并且当𝐻(𝑝)为常量时(注:在机器学习中,训练数据分布是固定的),最小化相对熵𝐷𝐾𝐿(𝑝||𝑞)等价于最小化交叉熵 𝐻(𝑝,𝑞)也等价于最大化似然估计。
七、信息增益(Information Gain)
假设有随机变量(𝑋,𝑌)信息增益表示特征𝑋的信息而使得类𝑌的信息不确定性减少的程度。
特征𝐴对训练集𝐷的信息增益记作𝑔(𝐷,𝐴),则可以把该信息增益定义为集合𝐷的经验熵与特征𝐴给定条件下𝐷的经验条件熵𝐻(𝐷|𝐴)之差
𝑔(𝐷,𝐴)=𝐻(𝐷)−𝐻(𝐷|𝐴)
其中𝐻(𝐷)表示对数据集𝐷进行分类的不确定性;𝐻(𝐷|𝐴)表示在特征𝐴给定的条件下对数据集𝐷进行分类的不确定性;𝑔(𝐷,𝐴)表示由于特征𝐴而使得对数据集𝐷的分类的不确定性减少的程度。因此可以发现对于数据集𝐷而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力。
八、信息增益比(Information Gain Ratio)
假设有随机变量(𝑋,𝑌),特征𝐴对数据集𝐷的信息增益比记作𝑔𝑅(𝐷,𝐴),定义为
九、一张图带你看懂熵和信息增益

假设有随机变量(𝑋,𝑌),𝐻(𝑋)表示𝑋的熵,𝐻(𝑌)表示𝑌的熵,𝐻(𝑋|𝑌)表示已知𝑌时𝑋的条件熵,𝐻(𝑌|𝑋)表示已知𝑋时𝑌的条件熵,𝐼(𝑋,𝑌)表示信息增益,𝐻(𝑋,𝑌)表示的联合熵。
