如何度量信息的大小

信息这个词让我们感到熟悉而又陌生。熟悉是因为我们所处在一个信息时代,与生活密切相关的就有大量的各种信息,比如书籍、手机、电脑等。而陌生是因为很难精确说明信息是什么并且如何量化信息,比如“地球是圆的”一句话包含了多少信息呢,在古代和现代这句话包含的信息量是不是就不一样了呢。

万物都包含着信息,信息可被处理并使用(从广义上称为计算),从广义的信息和信息处理角度看,我们看到的事物变化其实是宇宙的计算。也许可以说世界的本质就是信息+计算。很多科学家认为最有希望统一广义相对论和量子力学的就是信息理论。

将信息量化是信息革命的基础,在香农发表《通信的数学理论》之前,信息是一个很抽象而且无法具体确切定义的东西,比如一个人说某公司拥有大量的信息,它有一亿封邮件,那一亿封邮件包含了多少信息?而在物理和化学等领域都已经有各类量纲可以用于丈量各类物体特性,为了让信息可以测量,香农独自提出了比特(bit)概念,使用比特来丈量信息,比特也成为了量纲成员。

熵是物理学的概念,在热力学系统中,熵和能量可以用来刻画系统的变化。熵可以在分子层面进行理解,物理系统由原子分子组成,所有粒子的瞬时状态(位置、速度)描述了整体状态。粒子不断从某个微观态转变到另一个微观态,而熵对应着微观态的量,微观态越多熵就越高。也就是说熵用来表示不确定程度。

借鉴于物理学中的熵的概念,香农将其引入到通信领域,香农认为某个系统要携带信息就必须要有多个状态,而且状态越多,所能包含的信息就越多。此外,还需要引入概率问题,因为在给定条件下,所有可能状态的概率之和必须为1。而可能状态越多则平均任意一个状态发生的可能性就越低。

信息与可能状态数量、概率、文本长度、文本本身意义都有密切的关系,但从通信角度来看,可以不必关心文本本身的意义。为了对文本信息进行度量,首先需要确定有多少个可能状态及其对应的概率,将每个状态概率都与概率的对数相乘,然后累加所有项。得到的结果即是信息熵的大小,单位为比特。

信息熵可以用来刻画系统携带信息的能力,也可以用来表示某个事物所携带的信息量。当使用信息熵来描述事物的信息量时,它缺乏考虑冗余,比如重复的两句话并没有带来两倍的信息量。还有顺序不同的两句话虽然信息量相同,但是从语言层面上的意义并非相同。

调和日常意义的信息与信息熵的办法是将信息熵视为文本所能包含的最大信息量。

信息度量是对信息进行量化的过程,数学期望、熵、交叉熵都在信息度量中有着重要的作用和紧密的联系。 #### 数学期望与信息度量 数学期望是试验中每次可能结果的概率乘以其结果的总和,反映随机变量平均取值的大小。在信息度量里,它可以用来衡量信息的平均效应。例如,在信息论中,随机变量代表信息事件,每个事件发生的概率和对应的信息值相乘后求和,就得到了信息的数学期望。以离散随机变量 $X$ 为例,若其可能取值为 $x_1,x_2,\cdots,x_n$,对应的概率为 $p_1,p_2,\cdots,p_n$,数学期望 $E(X)=\sum_{i = 1}^{n}x_ip_i$。信息熵本质上就是信息量的数学期望,假设 $X$ 为随机变量,$p(x_i)$ 表示 $x_i$ 发生的概率,$I(x_i)$ 表示 $x_i$ 发生的信息量,信息熵 $H(X)$ 就是信息量的数学期望,即 $H(X)=\sum_{i = 1}^{n}p(x_i)I(x_i)$,这里 $I(x_i)=-\log_2 p(x_i)$,所以 $H(X)=-\sum_{i = 1}^{n}p(x_i)\log_2 p(x_i)$ [^2]。 #### 熵与信息度量 熵是衡量随机变量不确定性或信息大小的指标。一个随机变量的熵越大,说明其不确定性越大,包含的信息量也就越大。例如,抛一枚均匀的硬币,结果为正面或反面的概率都是 0.5,其熵 $H = - (0.5\times\log_2 0.5 + 0.5\times\log_2 0.5) = 1$ 比特;若硬币不均匀,正面概率为 0.9,反面概率为 0.1,其熵 $H = - (0.9\times\log_2 0.9 + 0.1\times\log_2 0.1) \approx 0.47$ 比特,此时不确定性变小,熵也变小。熵在数据压缩、机器学习的特征选择等方面有重要应用,如在决策树算法中,通过计算特征的熵来选择最佳的划分特征 [^2]。 #### 交叉熵与信息度量 交叉熵用于衡量两个概率分布之间的差异。设 $p(x)$ 和 $q(x)$ 是两个概率分布,对于离散情况,交叉熵 $H(p,q)=-\sum_{x}p(x)\log q(x)$。在信息度量中,交叉熵可以看作是用分布 $q$ 来编码服从分布 $p$ 的信息时所需要的平均编码长度。当 $q$ 与 $p$ 越接近,交叉熵越小;当 $q$ 与 $p$ 完全相同时,交叉熵等于熵。在机器学习中,交叉熵常用作分类问题的损失函数,通过最小化交叉熵使模型的预测分布接近真实分布 [^3][^4]。 #### 三者关系 交叉熵与熵、KL 散度存在关系:交叉熵 = KL 散度 + 熵,即 $H ( p , q ) = D_{KL}(p||q) + H(p)$,其中 $D_{KL}(p||q)=\sum_{x}p(x)\log\frac{p(x)}{q(x)}$,它衡量了两个分布之间的差异。当用交叉熵作为损失函数训练模型时,由于真实分布 $p$ 的熵是固定的,最小化交叉熵就相当于最小化 KL 散度,使得模型预测分布 $q$ 接近真实分布 $p$ [^3]。 以下是用 Python 计算熵和交叉熵的示例代码: ```python import numpy as np # 计算熵 def entropy(p): return -np.sum(p * np.log2(p)) # 计算交叉熵 def cross_entropy(p, q): return -np.sum(p * np.log2(q)) # 示例概率分布 p = np.array([0.2, 0.3, 0.5]) q = np.array([0.1, 0.4, 0.5]) print("熵:", entropy(p)) print("交叉熵:", cross_entropy(p, q)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值