学习于知乎——忆臻大佬,通俗理解信息熵 - 知乎,通俗理解条件熵 - 知乎
1.信息熵
1.1 概念:
信息量是对信息的度量,信息的多少用信息量来衡量,我们接受到的信息量跟具体发生的事件有关,信息的大小跟随机事件的概率有关。
越小概率的事情发生了产生的信息量越大,如湖南产生的地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生嘛,没什么信息量)。
熵泛指某些物质系统状态的一种度量,衡量一个系统的混乱程度,或者说一个系统的信息量(系统越混乱,信息量就越少),指某些物质系统状态可能出现的程度。
信息熵 是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。
1.2 例子:
假如我们有两个不相关的事件x和y,那么我们观察到的俩个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和,即:
由于x和y是两个不相关的事件,那么满足
根据上面推导,我们很容易看出h(x)一定与p(x)的对数有关(因为只有对数形式的真数相乘之后,能够对应对数的相加形式)。因此我们有信息量公式如下:
其中两个疑问:
(1)为什么有负号:
负号为了确保信息一定是正数或者为0
(2)为什么底数是2:
我们只需要信息量满足低概率事件x对应于高的信息量。那么对数的选择是任意的。我们只是遵循信息论的普遍传统,使用2作为对数的底!
1.3 信息熵:
信息熵是信息量的期望,公式为:
信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。
如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。
2.条件熵
2.1 定义:
条件熵H(Y|X)表示已知随机变量X的条件下随机变量Y的不确定性,即给定某个数(某个变量为某个值)的情况下,另一个变量的熵是多少,变量的不确定性是多少?
因为条件熵中X也是一个变量,意思是在一个变量X的条件下(变量X的每个值都会取),另一个变量Y熵对X的期望。
2.2 例子:
假如我们有上面数据:
设随机变量Y={嫁,不嫁},我们可以统计出,嫁的个数为6/12 = 1/2,不嫁的个数为6/12 = 1/2,那么Y的熵,根据熵的公式来算,可以得到
为了引出条件熵,我们现在还有一个变量X,代表长相是帅还是不帅,当长相是不帅的时候,统计如下红色所示:
2.2.1 X = 不帅时,条件熵和概率:
可以得出,当已知不帅的条件下,满足条件的只有4个数据了,这四个数据中,不嫁的个数为1个,占1/4,嫁的个数为3个,占3/4。
那么此时,
X = 不帅的概率:
2.2.2 X = 帅时,条件熵和概率:
同理,可以得到帅的条件下:当已知帅的条件下,满足条件的有8个数据了,这八个数据中,不嫁的个数为5个,占5/8,嫁的个数为3个,占3/8。
那么此时,
X = 帅的概率:
2.2.3 总的条件熵:
H(Y|X = 长相),也就是说,我们想要求出当已知长相的条件下的条件熵。
根据公式我们可以知道,长相可以取帅与不帅两种,条件熵是另一个变量Y熵对X(条件)的期望,故公式为:
即为:
将上面已经求得的答案代入即可求出条件熵,这里比较容易犯错的地方是,容易忽略X也是可以取多个值,然后在对其求期望,一定要注意!
2.2.4 总结:
其实条件熵意思是按一个新的变量的每个值对原变量进行分类,比如上面这个题把嫁与不嫁按帅,不帅分成了两类。
然后在每一个小类里面,都计算一个小熵,然后每一个小熵乘以各个类别的概率,然后求和。
我们用另一个变量对原变量分类后,原变量的不确定性就会减小了,因为新增了X的信息,可以感受一下。不确定程度减少了多少就是信息的增益。