机器学习中你需要了解的各种熵

1前言

信息熵是信息论和机器学习中非常重要的概念,信息是一个很抽象的概念,如何量化信息呢?香农提出了‘信息熵’概念来解决了这个问题。本篇博客主要是详细记录信息熵中的一些概念 (自信息,熵,交叉熵,相对熵,互信息,决策树中相关的熵),以方便自己日后回顾,所以不免从书上或者各篇博客中收集了素材,但是本着尊重原创,后面都列出了参考链接,在此也感谢参考链接上的作者。

2各种熵的详细介绍

2.1自信息

自信息表示某一事件发生时所带来的信息量的多少。但是什么才是信息量呢?简单点说就是我能从一件事情发生得到的信息多少。如果一件事很大概率的发生,对于这件事的发生我们并不会很奇怪,于是我们从这件事发生获取的信息量就比较少,如果比较小概率的事件发生发了,我们接收到的信息就比较多。>换句话说就是,某一事件发生的概率非常小,但是实际上却发生了(观察结果),则此时的自信息非常大;某一事件发生的概率非常大,并且实际上也发生了,则此时的自信息较小。

图1

说明:
1.图中I(P)表示某件事情发生获取到的信息量,其中P表示事件发生的概率分布。I(pi)表示该事件发生的第i种情况下获取到的信息量。
2.等式中其中负号是用来保证信息量是正数或者零。而log函数基的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特nats)

2.2信息熵

自信息中的某件事情,我们可以定义为一个随机变量X。其中P表示随机变量的概率分布。信息熵H(X)被称为随机变量X的熵,它表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望。可以理解为该事件上能获取到的平均信息量。
图2

说明:
1.从上述公式可以看出,熵只依赖于X的分布,与X的取值无关。
2.令0log0=0(因为某个取值概率可能为0)
3.熵越大,随机变量的不确定性就越大(事件发生越是不确定,信息量就越大,平均信息量越大,那么也可以代表这个变量的不确定性越大)

2.3条件熵和联合熵

a.条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。条件熵H(Y|X)定义为X给定条件下Y的条件概率分布的熵对X的数学期望.
图4
b.其中联合熵为随机变量X与随机变量Y同时发生的概率分布的熵。
图5
c.联合熵与条件熵之间的关系为:
图7

2.4交叉熵

交叉熵常常被用于机器学习的代价函数,多用于分类模型的代价函数。其主要是用于度量两个分布之间的差异性。话不多说先给出交叉熵的公式:
图3

说明:
1.p(x)和q(x)为样本集的两个概率分布,也就是机器学习中的样本x为各个类别label的概率分布.其中p(x) 为真实分布,q(x)非真实分布-预测的概率分布。logq(x)表示的是q的信息量。
2.交叉熵是如何衡量概率分布p,q之间的差异的?真实的样本概率分布是p(x),H(p,q)表示的是用q(x)进行对真实的样本进行编码得到的熵的大小,交叉熵熵越大,越不确定,差异越大。

2.5相对熵

使用非真实分布q(x)对样本x发生的概率进行编码得到的平均码长H(p,q)比真实分布p(x)对样本x发生的概率进行编码得到的平均码长(H(p))多出的比特数就是相对熵也称KL散度.给出公式:
图9

说明:
1.交叉熵和相对熵两种熵度量两个概率分布之间的差异是等价的。从公式上来看,两者之间相差一个H(p)为真实样本的概率分布,在机器学习中,训练数据分布是固定的,最小化相对熵DKL(p||q)等价于最小化交叉熵H(p,q)也等价于最大化似然估计。
2.DKL是非负性的。图9
3.非对称的,公式中可以看出,KL散度是衡量两个分布的不相似性,不相似性越大,则值越大,当完全相同时,取值为0。

2.6互信息

一个随机变量由于已知另一个随机变量而减少的不确定性,或者说从贝叶斯角度考虑,由于新的观测数据y到来而导致x分布的不确定性下降程度。列出公式:
图10

说明:
1.互信息其在特性选择、分布的距离评估中应用非常广泛。
2.其实互信息和相对熵也存在联系,如果说相对熵不能作为距离度量,是因为其非对称性,那么互信息的出现正好弥补了该缺陷,使得我们可以计算任意两个随机变量之间的距离,或者说两个随机变量分布之间的相关性、独立性。

决策树中相关的熵的使用

包括【信息增益、信息增益比、gini系数】。笔者在其他博文中已经介绍

3总结

1.自信息是衡量随机变量中的某个事件发生时所带来的信息量的多少,越是不可能发生的事情发生了,那么自信息就越大;
2.信息熵是衡量随机变量分布的混乱程度,是随机分布各事件发生的信息量的期望值,随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大;信息熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度)
3.自信息,信息熵都是针对一个随机变量的,而交叉熵、相对熵和互信息可以衡量两个随机变量之间的关系。相对熵是指用q来表示分布p额外需要的编码长度。交叉熵是指用分布 q 来表示本来表示分布 p 的平均编码长度。
交叉熵一般用在神经网络和逻辑回归中作为损失函数,相对熵一般用在生成模型中用于评估生成的分布和真实分布的差距,而互信息是纯数学的概念,作为一种评估两个分布之间相似性的数学工具,其三者的关系是:最大化似然函数,等价于最小化负对数似然,等价于最小化交叉熵,等价于最小化KL散度,互信息相对于相对熵区别就是互信息满足对称性;
4.对于决策树中的信息增益、信息增益比、gini系数主要是用于特征选择。信息增益中的两个随机变量是把一个变量看成是减少另一个变量不确定度的手段。信息增益率主要是克服信息增益存在的在某种特征上分类特征细,但实际上无意义取值时候导致的决策树划分特征失误的问题。(特征取值多,信息增益比较大的问题)。gini系数主要考虑的是计算快速性、高效性。基尼系数主要是度量数据划分对训练数据集D的不纯度大小,基尼系数越小,表明样本的纯度越高。

4参考链接

机器学习各种熵:从入门到全面掌握
详解机器学习中的熵、条件熵、相对熵和交叉熵

-------------本文结束感谢您的阅读-------------

本文标题:机器学习中你需要了解的各种熵

文章作者:ComeOnJian

发布时间:2018年09月28日 - 10:09

最后更新:2018年12月31日 - 18:12

原始链接:https://jianwenjun.xyz/2018/09/28/机器学习中你需要了解的各种熵/

许可协议: 转载请保留原文链接及作者。

显示 Gitment 评论