我觉得不把负号变成对数里的倒数是说不清的。
可以看成sum(p*log(1/p))更好理解:
一个随机变量有8种可能,相当于8个事件,如果是0和1表示,一共需要log2(8)=3bit
换句话说,如果一个事件的概率是1/8,需要log2(8)=3bit
再换句话说,如果一个事件的概率是p,需要log2(1/p)bit
再泛化,概率是变量,就是log2(1/p(x))
再泛化,2是变量,就是log(1/p(x))
那么,既然表示其中一个事件需要这么多比特,那么表示所有事件平均需要多少bit呢?很自然就是求期望:
sum(p(x)log(1/p(x)))
把倒数变成负号
-sum(p(x)logp(x))
女王:求求题主放过我,我可不敢有什么政绩。。。