信息量为什么要表示成对数的形式

近期在路上进行了不少的思考,任何方面,任何领域…我会把这些记录在手机的备忘录里,然后在周末总结出来,早就成了习惯。

  近日对信息论排队论以及贝叶斯定理关注比较多,后二者可以完全改造TCP的拥塞控制机制,所以基础还是要夯实的。本文描述一个基础中的基础,后续我会追加关于对这些基础背后的一些哲学层面上的思考,但由于今天只是周四,就只能到周六了。


有人问一件事发生后所携带的信息量为什么要表示成事件发生概率的对数的形式,我在文章《不知为不知–信息论和最大熵原则》里面的香农的信息论一节中已经回答过了,这里再次列一下:

这里写图片描述

这里应该说的很明白了。之所以还是有人问,那是因为他们想知道为什么“第三点要求确定了对数关系”,依据是什么?本文我给出一个数学上的说明。

  首先把上述三点翻译成数学语言:

f(x)AxA

limr0f(r)=+

f(1)=0

f(x1x2)=f(x1)+f(x2)    x1,x2(0,1]

然后这就成了一道我们都很熟悉的数学题:

f(x)x(0,1]f(xy)=f(x)+f(y)f(x)

是的,这是一个函数方程,把它解出来就是答案!说到这里,很多人就觉得容易了,我这里仅给出一个推导,实际的解法有太多。


x=y=1
f(1)=f(1)+f(1),f(1)=0,

f(1)f(x)

=1xf(t)dt

=1xf(t+dt)f(t)dtdt

=1xf(tt+dtt)f(t)dtdt

=1xf(t)+f(1+dtt)f(t)dtdt

=1xf(1+dtt)dtdt

=1xf(1+dtt)f(1)dtdt

=1x1tf(1+dtt)f(1)dttdt

limdt0dtt=0,

f(1)f(x)=1x1tf(1)dt    =>

0f(x)=f(1)1x1tdt,0<t1f(1)=0

f(x)=f(1)lnx    (x(0,1])

到此基本已经完成了推导,如果觉得底数为 e 不代表一般性,那么就来个换底公式归一化一下:

f(x)=f(1)logaelogax

γ=logaef(1)γ

F(x)=γf(x)=logax

F(x)γ

最后的这个缩放系数可以理解成信息量的单位,不管最终的 loga 中的底数 a 是多少,只要 a 是确定的,那么以 a 为底数度量的信息量的比例都是一致的,也就是说它们是相似的。鉴于不同事件发生的信息量是一个相对值,所以说,这里可以忽略这个缩放系数 γ ,最终信息量记为:

f(x)=logax


我们发现,这其实是一个多么简单的过程,基本上就是在学习了函数方程后的一道每个人必须完成的课后作业题。

  在一段不长不短的时间以后,接触到了信息论,却对信息量为什么表示成概率的对数迷惑不解,追溯起来当初在考试的时候,关于已知限制条件求解 f(x) 通解的试题那可以说是信手拈来啊…


解题归解题,又扯了一些没用的…

  如果说本文这个数学推导还是无法让人信服,那么接下来的问题就上升到哲学高度了,问题很简单:对数的本质是什么,为什么人们笃爱对数?

  道可道非常道,终极的东西往往是无法表达的,所以就只能举一些例子来理解,这些例子其实就是柏拉图的影子。今天有点晚了,周末时,我会写一篇文章说说我对对数贝叶斯定理的看法。