1 条件熵
1.1 条件熵的定义
给定的条件下,
的条件概率分布的熵对
的期望;
条件熵表示在已知随机变量
的条件下随机变量
的不确定性。
因为条件熵中也是一个变量,意思是在一个变量
的条件下(变量
的所有值都会取),另一个变量
熵对
的期望;
1.2 举例说明条件熵
帅? | 性格好? | 身高? | 上进? | 嫁? |
---|---|---|---|---|
帅 | 不好 | 矮 | 不上进 | 不嫁 |
不帅 | 好 | 矮 | 上进 | 不嫁 |
帅 | 好 | 矮 | 上进 | 嫁 |
不帅 | 爆好 | 高 | 上进 | 嫁 |
帅 | 不好 | 矮 | 上进 | 不嫁 |
帅 | 不好 | 矮 | 上进 | 不嫁 |
帅 | 好 | 高 | 不上进 | 嫁 |
不帅 | 好 | 中 | 上进 | 嫁 |
帅 | 爆好 | 中 | 上进 | 嫁 |
不帅 | 不好 | 高 | 上进 | 嫁 |
帅 | 好 | 矮 | 不上进 | 不嫁 |
帅 | 好 | 矮 | 不上进 | 不嫁 |
设={嫁,不嫁},统计“嫁”的概率6/12,“不嫁”的概率6/12;
计算的熵
为了引入条件熵,我们现在还有一个变量,代表长相是“帅”还是“不帅”。
不帅的情况有4个,有1个不愿嫁,3个愿意;
帅的情况有8个,不愿意嫁5个,愿意嫁的为3个;
>>> -5/8*(np.log2(5)-np.log2(8))-3/8*(np.log2(3)-np.log2(8))
0.6780719051126378
1.3 条件熵的另一种解释
条件熵相当于联合熵
,减去单独的熵
,即:
证明过程参考[1]。
从以上的推导可以看出:。
2 相对熵(Relative entropy),也称为KL散度(Kullback-Leibler diver)
如何衡量两个概率分布之间的差异?(相对熵)
定义:
设,
是离散随机变量
中取值的两个概率分布,则
对
的相对熵是:
- 如果
和
两个分布相同,那么相对熵等于0;
-
,相对熵具有不对称性;
相对熵可以从来衡量两个概率分布之间的差异,上面公式的意义就是求与
之差在
上的期望;
3 交叉熵(Cross entropy)
用以衡量在给定的真实分布下,使用非真实分布所给定的策略消除系统的不稳定性所付出的努力的大小;
有两个概率分布和
,其中
是真实分布,
是非真实分布,如果用真实分布
来衡量一个样本所需要编码长度的期望(平均编码长度)为:
如果使用非真实分布来表示来自真实分布
的平均编码长度,则是:
这就是交叉熵。
3.1
的含义[2]
对于变长编码(如哈夫曼码),必须保证任何编码不是其他编码的前缀,符合这一特性的编码叫做前缀码(prefix codes)。
前缀码的意义在于解码简单,但是会带来个问题,就是编码损失(不是所有的组合都可以)。如当前编码为"01",长度,那
开始的其他编码如("010","011")(总长度为3举例)就不能再使用。
损失的长度为。
所以为了对信息进行最优编码的目的,往往需要对短编码和短编码损失进行权衡;
将短编码带来的损失称为编码代价,通常根据出现的概率
来分配编码代价,假设
的编码长度为
:
平均编码长度则为:
3.2 如何理解交叉熵
如现在有另一个序列服从分布,但是它仍然使用
分布的最优编码方式,那它的平均编码长度即为:
上式称为分布相对
分布的交叉熵,衡量了
分布使用
分布的最优编码方式时的平均编码长度。
交叉熵根据相对熵的公式可以得出:
可以理解为用其他方式的最优编码(
)和自己方式的最优编码(
)之差。
4 联合熵和互信息
定义联合熵如下:
根据条件熵定义:
定义互信息(Mutual Entropy)如下:
定义差异信息(Variation of Information):

信息增益:

决策书中信息增益等于互信息。
网友评论