信息与熵的计算

1. 什么是信息?

信息的定义涉及概率论中的随机事件概率,如果待分类事物可能划分在多个分类之中,则符号 Xi 的信息定义为:

其中 p(xi) 是选择该分类的概率。(该定义来自于《机器学习实战》P35)

举个例子:已知事件 X 的概率分布如下,计算符号 的信息:

XX0X1
 p 0.50.5

l(x0)  = -log2p(x0) = -log2(0.5) = 1
l(x1) = l(x0) = 1
说明:
  • 信息永远≥ 0;
  • 确定事件(p = 1),信息 = 0;
这里引用香农《信息论》的一句话来帮助理解信息的物理含义:

“logn(q)表示具有总概率q的那些最可能序列为了描述序列所需要的二进制位数”。

可见信息的物理含义是通信编码所需要的比特数。结合上面的例子,X 有两种取值,用 1bit 就可以编码。与计算出的 信息 = 1 相吻合。

2. 什么是熵?

熵定义为:信息的数学期望


所以熵的本质也还是信息,信息的本质是编码所需的比特位数。所以熵也是来衡量编码位数的。

我们知道熵越大,就越无序,越混乱。直觉上一个确定的事件熵应该 = 0。

下面举几个例子
----------------------------------------------------------------------------------------------------
已知事件X 的概率分布:
XX0X1
p10
计算 X 的熵。
根据公式,熵 H 是信息的期望,先求信息:
l(x0) = -log2(p(x0)) = -log2(1) = 0
l(x1) = -log2(0) = -Infinity
所以 H = l(x0) * p(x0) + l(x1) * p(x1) = 0 * 1 - 0 * Infinity = 0,结果与确定事件熵为 0 相吻合。
----------------------------------------------------------------------------------------------------
已知事件 X 的概率分布:
XX0X1
 p 0.50.5
计算 X 的熵。

l(x0) = l(x1) = -log2(0.5) = 1
H = 0.5 * 1 + 0.5 * 1 = 1,可见不确定事件比确定事件熵要大,即数据更混乱。
----------------------------------------------------------------------------------------------------
已知事件 X 的概率分布:
  X X0X1X2
p1/31/31/3

计算  X 的熵。

首先直觉上猜测一下这次 X 取三个值,比上一次更混乱,熵应该更大才对。
l(x0) = l(x1) = l(x2) = -log2(1/3) = 1.585
H = 3 * 1.585 * 1/3 = 1.585
----------------------------------------------------------------------------------------------------
可见:
  • 确定事件熵最小 = 0;
  • 随机事件 X 可以取的值越多,对应的熵值越大,也就是通常说的越“混乱”。
前边理解的熵其实也是一种编码所需的比特位数的一种度量参数
例 1 中,确定事件无需编码,0 个bit位,与计算出的熵 = 0 吻合;
例 2 中,两种情形的等概率事件,1 个bit位就可以编码,与计算出的熵 = 1吻合;
例 2 中,三种情形的等概率事件,2 个bit位就可以编码,与计算出的熵 = 1.58 ≈ 2 也算吻合;(如果是四种情形的话就正好等于2!)


下面引用一些《信息论》中的图片和文字。
具有概率 p q = 1 - p 两种可能性情况下,它的熵为:
熵与 p 的关系图(作者注:注意 Y 轴熵 H 下面写的是 bits,也就是编码需要的 bit 数)

说明:
  • 当且仅当所有概率pi 除了一个之外其余所有概率 = 0 时, H = 0。换句话说,仅仅在结果完全确定的情况下 H 才 = 0,否则 H > 0;
  • 如果所有的 pi 相等,即 pi = 1/n,则 H 取得最大值 = logn。这对应着最不确定,最混乱的情形;
  • 任何一种使概率p1, p2, ..., pn 趋于均等的变动,都会使 H 增大。

后记:
在 Tom M. Mitchell 著的《Machine Learning》P41 关于熵的解释写到:
“信息论中的熵的一种解释是,熵确定了要编码集合 S 中任意成员(即以均匀的概率随机抽取的一个成员)的分类所需要的最少的二进制位数。”

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值