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