理解信息熵

1.直观理解

题外话

香农(信息论创始人)认为,比特是测量信息的单位,本质上,信息和长度、重量这些物理单位一样,是一种可以测量和规范的东西。对于通信系统而言,其传递的信息具有随机性,所以定量描述信息应基于随机事件。任何信息都存在冗余,冗余的大小与信息中每个符号(基本元素)的出现概率或者说不确定性有关。

通常,一个信息源发送什么符号是不确定的,衡量它可以根据其出现的概率来度量。极限条件下,一个信源只发送一个符号,即发送内容是确定的,概率100%,此时接收方无法从信号中获取任何信息,信息量为零。

香农提出信息熵来定量衡量信息的大小,假设随机事件发生的概率为 p i p_i pi,信息熵函数 H ( X ) H(X) H(X)必须满足以下三个性质:

  1. 单调性:概率越大的事情(即随机变量 X X X某个事件 x i x_i xi p ( x i ) p(x_i) p(xi)较大),信息熵越小,即若P(X=A)>P(X=B),则H(X=A)
  2. 非负性:一个事件的信息熵不能为负;
  3. 累加性:多个随机事件同时发生存在的总不确定性的度量等于格式件不确定性度量的和,即H(X=A,X=B)=H(X=A)+H(X=B)。

香农从数学上证明了,严格满足上述三个条件的随机变量不确定性度量函数具有唯一形式:
H ( X ) = − C ∑ x ∈ X p ( x ) log ⁡ p ( x ) H(X)=-C\sum\limits_{x\in X}p(x)\log p(x) H(X)=CxXp(x)logp(x)
补充,如果两个事件不相互独立,那么满足:
H ( A , B ) = H ( A ) + H ( B ) − I ( A , B ) H(A,B)=H(A)+H(B)-I(A,B) H(A,B)=H(A)+H(B)I(A,B)
其中, I ( A , B ) I(A,B) I(A,B)是互信息,代表一个随机变量包含另一个随机变量变量信息量的度量。

2.熵的衡量

信息的衡量和熵是一样的,单位都是比特。这里需要明白,信息的获取等价于熵的消除。这里要分清信息、数据、知识、熵、状态(宏观态、微观态)几个概念:

  • 信息:只有能够消除某人对某件事情的不确定性的事物才是信息;
  • 噪音:那些不能够消除某人对某件事情不确定性的事物称为噪音,数据包含噪音和信息,需要使用知识将数据中的信息分离出来;
  • 概率:某件事情(宏观态)某种可能情况(微观状态)的确定性。概率的输入是常量(微观态),熵的输入是变量(宏观态)。
  • 熵:某人(旁观者)对某件事情(宏观态)到底是哪种情况(微观态)的不确定性。信息在这里就是一个观察者确定一个宏观态是哪个微观态所需要的物理量;
  • 相对性:信息是相对于观察者已经对该件事情的实际了解程度而言的;

例子,某道题的答案为ABCD,等可能,这是这个问题对于只靠猜的小虎,熵是 log ⁡ 2 4 = 2 \log_2 4=2 log24=2bit,如果已知答案不可能是D,那么这个问题的熵变为 log ⁡ 2 3 = 1.58 \log_2 3=1.58 log23=1.58,而“已知答案不可能是D”这条信息提供了0.42bit的信息。

那么信息是如何量化的呢?

首先参考质量的量化,测量其他物体的质量时,把它和那个参考物的质量对比,我们选参考物的质量为1KG。信息的单位是bit,那么1bit究竟是怎么定义的呢。信息是用来消除不确定性的,我们这里选择某个不确定性的事物,规定它的不确定性为零,那么待测事物的不确定性相当于多少个参照事件的不确定性,那么就相当于多少个bit

1bit不确定性的参照事物是只有两种等概率事件的宏观态(如抛硬币)。抛掷3个硬币产生的等可能结果是 2 3 = 8 2^3=8 23=8个,因此,如果某件事的微观态有8个时,我们要使用$\log_2 8=3 $bit 计算,而不是简单地除法。类似的,从ABCD中猜答案,这个事件的熵为2bit。

但是,上面的每个待测事件(微观态)都是等可能性的,如果是不满足等可能性的要求,那该怎么求呢。答案是,分别测量待测事件每种可能情况的信息量后,乘以他们各自的发生概率相加。

例如,当知道ABCD选项中,C选项的概率是0.5,那么ABD的概率都变为了0.16,这是对于小虎该事件的熵是 0.5 log ⁡ 2 ( 1 / 0.5 ) + 3 × 0.25 log ⁡ 2 ( 1 / 0.16 ) = 1.79 0.5\log_2(1/0.5)+3\times0.25\log_2(1/0.16)=1.79 0.5log2(1/0.5)+3×0.25log2(1/0.16)=1.79,而此时“C有一般概率正确”的信息为2-1.79=0.21 bit。
H ( X ) = ∑ x ∈ X p ( X = x ) log ⁡ 2 ( 1 / p ( X = x ) ) H(X)=\sum_{x\in X}p(X=x)\log_2 (1/p(X=x)) H(X)=xXp(X=x)log2(1/p(X=x))
这里解释一下, log ⁡ 2 ( 1 / p i ) \log_2(1/p_i) log2(1/pi)代表什么,例如,某件事情1%会发生,相当于从100个等概率的情况中确定实际情况,概率的导数相当于等概率情况的个数,知道等概率情况的个数之后,就可以使用公式 log ⁡ 2 m \log_2m log2m来计算熵的值。

你可能感兴趣的:(机器学习,数学概念,信息熵)