一、信息是什么?
信息很抽象,看不见摸不着,却似乎又无处不在,一封邮件、一首歌、一则新闻、一本书、一张地图、一句话......
但信息究竟是什么?
朗文双解词典:
Information: Facts or details that tell you something about a situation, person, event, etc.
知乎大神:
1、从“你不知道”的状态变成“你知道”的状态,这个过程中传送的“东西”,就叫信息。
2、信息是发送者和解读者的相关knowledge base之间的diff。
3、让你搞清状况的东西。
但所有的以上答案,都可以用信息论之父香农的定义来概括:
信息是用来消除不确定的东西。
比如:
路标指示信息,可以消除岔路口方向的不确定性,帮助你选择正确的道路。
一封家书,可以告知你家里的情况,消除你对一些不确定状况的顾虑,让你安心的学习、工作。
天气预报可以帮你确定未来的天气,帮助你更好的决定下一步的安排。
二、信息的传递
信息传递的方式有很多中,比较古老的像周幽王烽火戏诸侯。那个时候,技术手段比较落后,而军情又十万火急,于是就想到了用烽火来进行传递。但由于烽火只有点燃和未点燃两种状态,所以能表达的内容十分有限。
后来有了电报,情况好很多。但由于发送接受需要编译码,操作复杂,效率比较低,也只能传输少量的信息。并且价格昂贵,通常是按字数收费。
所以电报的内容通常都很精炼。比如,你要发送:
“家里又急事儿,赶快回来一趟。”
为了省钱,结果可能就会变为:
“事急,速回。”
但有些情况,通过精简文字是行不通的。比如,你要发送一段诗:
“轻轻的我走了,
正如我轻轻的来;
我轻轻的招手,
作别西天的云彩。”
少一个字,诗的意境就会大打折扣。
但从诗的内容上来看,确实有很多重复的字,难道除了减字儿就没有其它辙了吗?
当然不是。
我们知道,电报是通过电报码来发送的,就是一个个的0和1的状态。分析一下,这段诗中我们一共用到了16个汉字。如果用二进制对其进行编码,需要:
个bit位。编码如下:
全诗一共有26个字,这样我们就需要发送:
26×4 = 104
个bit位。
如果我们换一种编码方式,用少的位表示出现概率大的字,多的位表示出现概率低的字,也就是哈夫曼编码,看看结果如何。
首先统计诗中文字出现的概率:
然后构造哈夫曼树如下:
编码结果:
这样,我们需要发送的bit数就变为:
6×2+4×3+3×3+1×5×10+1×4×3 = 95
比先前的编码少9个bit。同样达到了精简内容的目的。
再后来有了电话、手机、互联网,这种限制越来越小。现在我们可以通过互联网很轻松的传递以T计的内容,在线观看高清电影。
三、信息如何衡量?
在电报的发送中我们已经看到,找出一种衡量信息多少的方式非常重要。就像时间有秒,质量有克,距离有米等。那信息呢?既然信息是用来消除不确定的东西,如何衡量它的大小?也就是说如何知道在消除一个不确定事件的时候需要多少信息?
比如,要想知道明天太阳是否会照常升起,需要多少信息?
按以往的经验,太阳照常升起的概率几乎是1,所以几乎不需要猜测就能知道结果。
但如果是掷一枚硬币,想知道它是不是正面,需要多少信息?
硬币的结果只有两种,非正即反,概率都是1/2。所以只需要一次猜测就能知道结果。
假设实际结果为正面。
如果猜正面,结果正确,结束。如果猜反面,被告知结果错误,同样可以推测出来正确结果是正面。
所以只需猜测一次。
再比如,一道选择题有A、B、C、D四个选项,要猜出正确结果,又需要多少信息呢?
四个选项概率相等,都是1/4,假设正确答案为C。
我们先将选项分成两组:
第一组:A、B
第二组:C、D
第一次猜测:如果猜第一组,被告知错误,那么就知道答案在第二组。如果猜第二组,正确。
第二次猜测:如果猜C,得出结果,猜测结束。如果猜D,被告知错误,于是得出C为正确答案。
可以看出,需要猜测两次。
由以上例子可以看出,事件发生的概率越小,不确定性越大,消除不确定性需要的信息量就越大。所以信息量和概率有关系,并且是反相关。
回过头来看上面的例子,
太阳照常升起的概率为1:
硬币为正面的概率为:
答案为C的概率为:
将上面三个等式两边以2为底取对数,并添加负号,有:
0、1、2正好对应我们获取正确答案的猜测次数。也就是消除不确定性需要的信息量。
进一步推广出去,香农把:
定义为信息量。对数的底为2只是其中的一种情况,此时信息量的单位为bit。
有了这个式子,就可以量化信息了。
四、什么是信息熵?
有了信息量为什么还要信息熵呢?信息熵又是个啥?
假设你是一个经验丰富的工程师,在维修一台电子设备,引发设备故障的原因有A、B、C、D四种。
如果四种原因的概率相同,都是1/4,根据之前信息量的计算公式,很容易就能算出来:
最多两次能排查出故障原因。
但如果引发故障原因的概率不等呢?比如,A的概率为1/2,B的概率是1/4,C、D的概率是1/8。
直觉告诉我们应该先排查A,然后是B,最后才是C、D。需要排查的次数是四种原因信息量的期望,为:
小于2。
等概率情况信息量的期望为:
等于单个选项的信息量。
所以,有些情况,仅有信息量是不够的。还需要知道信息量的期望,这就是信息熵。
信息熵:平均信息量,信息量的期望。
五、什么是相对熵?
如何衡量两个随机变量概率分布的相似程度?
我们已经有了信息熵的概念,就是信息量的期望,也叫平均信息量。那能不能简单的就用信息熵来衡量呢?
显然不能。
比如,两个随机变量x和y的概率分布如下:
二者的信息熵:
是相等的,
但概率分布明显差异很大。所以,简单的用信息熵来衡量概率分布的相似程度是行不通的。
但是不是意味着信息熵就不能用了呢?
不是,只不过要变一变。
选用一个固定的概率分布来求信息熵:
或者
于是,便有:
或者:
这样用来衡量概率分布的差异就没问题了。而:
就称为p对q的相对熵。
总结起来:
相对熵就是:描述两个概率分布P和Q差异的一种方法。
六、损失函数与交叉熵
机器学习中,实际分布为p,预测分布为q。训练的过程就是调整参数使q不断逼近p的过程。调整的依据就是q与p的差。
如何衡量这个差呢?
就可以用相对熵:
但由于实际分布的熵:
固定不变。
所以可以省略简化,只优化:
部分就可以了。
H(p||q)又被称为交叉熵。交叉熵主要度量两个概率分布间的差异性信息。
(注:本文部分图片来自于网络,如有侵权请联系作者删除。)