0
点赞
收藏
分享

微信扫一扫

理解“熵”

丹柯yx 2022-02-20 阅读 86

一、信息量

理解“熵”之前,先理解“信息量”。一条信息是否有信息量,关键看它是否带来确定性,衡量信息量大小,看它带来的确定性大小,即信息(一个事件)由原来的不确定性变到确定性的难度有多大。

如何定义信息量?

设信息x的信息量为f\left ( x \right ),

若某信息x和信息x_{1}x_{2}都同时发生等价,则可以认为:

而信息x带来的确定性是信息x_{1}x_{2}同时发生的确定性(概率)相等,即:p(x)=P(x_{1})\cdot P(x_{2})

所以定义的信息量应该满足:f\left ( x_{1}\cdot x_{2} \right )=f\left ( x_{1} \right )+f\left ( x_{2} \right )

所以我们可以定义信息量为:f\left ( x \right ):= -log2^{x}

理解几点:

1)定义符号“:=”,不是“=”;

2)为什么是log呢?因为这里是“定义”,你可以随便定义,所以本身是没什么意义的,但用了log我们可以变相乘为相加,所以刚刚好让f\left ( x_{1}\cdot x_{2} \right )=f\left ( x_{1} \right )+f\left ( x_{2} \right )能成立。;

 3)为什么前面加一个“-”?因为一个事件发生了,它之前的概率越小,信息量就应该越多。而log函数是单调递增函数,所以前面加一个负号"-",使得其单调递减;

4)为什么以“2”为底呢?可以e为底,可以2为底。我们以2为底,如果以2为底去计算信息量,就相当于用“抛硬币”去衡量信息量,比如:A、B、C、D四位同学参加比赛,信息“A夺得了冠军”的信息量为:-log2^{\frac{1}{4}}=2,信息由原来的不确定性(1/4)变成了确定性(1),计算出信息量为2。以2为底,计算出来的单位是“比特”。

二、熵

信息量衡量信息由原来的不确定性变到确定性的难度有多大,信息量大,难度就高。比如:一个班有128人,小王成绩较差,考第一名的概率是1/128,小张成绩较好,考第一名的概率是1/8。则信息“小王考试得了第一名”的信息量就是6比特,信息“小张考试得了第一名”的信息量就是3比特。

熵类似,熵不是衡量某一个事件,是用来衡量整个系统里的所有事件,即一个系统由原来的不确定到确定,难度有多大。

假设两个系统:

第一个系统A、B两位同学成绩相当,夺得第一名的概率相同都是1/2;则信息量分别为:1、1

第二个系统C、D两位成绩相差大,夺得第一名的概率是1/128、1/8,则信息量分别为:7、3

如果系统的熵为系统里各信息量直接相加对吗?肯定不对,如果第一个系统的熵为各个事件信息量相加(1+1=2)、第二个系统的熵为系统各个事件信息量相加(7+3=10),则第二个系统的熵大于第一个系统的熵。熵越大,代表系统的不确定性越大,混乱程度越大,但是我们的例子中显然第一个系统的不确定性才高,所以系统的熵不能直接用系统里各个事件信息量直接相加!

所以单个事件贡献给系统的信息量还需乘以一个比例,所以第二给系统单个事件贡献给系统的信息量为:-\frac{1}{128}log2^{\frac{1}{128}}-\frac{1}{8}log2^{\frac{1}{8}},这样,第一个系统的熵是1,比第二个系统的熵大。

所以,熵就可以定义成对一个系统求期望,

举报

相关推荐

0 条评论