一、信息量
理解“熵”之前,先理解“信息量”。一条信息是否有信息量,关键看它是否带来确定性,衡量信息量大小,看它带来的确定性大小,即信息(一个事件)由原来的不确定性变到确定性的难度有多大。
如何定义信息量?
设信息的信息量为
,
若某信息和信息
、
都同时发生等价,则可以认为:
而信息带来的确定性是信息
、
同时发生的确定性(概率)相等,即:
所以定义的信息量应该满足:
所以我们可以定义信息量为:
理解几点:
1)定义符号“”,不是“=”;
2)为什么是log呢?因为这里是“定义”,你可以随便定义,所以本身是没什么意义的,但用了log我们可以变相乘为相加,所以刚刚好让能成立。;
3)为什么前面加一个“-”?因为一个事件发生了,它之前的概率越小,信息量就应该越多。而log函数是单调递增函数,所以前面加一个负号"-",使得其单调递减;
4)为什么以“2”为底呢?可以e为底,可以2为底。我们以2为底,如果以2为底去计算信息量,就相当于用“抛硬币”去衡量信息量,比如:A、B、C、D四位同学参加比赛,信息“A夺得了冠军”的信息量为:=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),则第二个系统的熵大于第一个系统的熵。熵越大,代表系统的不确定性越大,混乱程度越大,但是我们的例子中显然第一个系统的不确定性才高,所以系统的熵不能直接用系统里各个事件信息量直接相加!
所以单个事件贡献给系统的信息量还需乘以一个比例,所以第二给系统单个事件贡献给系统的信息量为:、
,这样,第一个系统的熵是1,比第二个系统的熵大。
所以,熵就可以定义成对一个系统求期望,