信息论小记

一、首先考虑一个离散的随机变量x;当我们观测到这个随机变量的某一个具体值的时候,我们需要考虑这个值给予了我们多少信息,这个信息的量可以看成是在学习x的值的时候的“惊讶程度”(degree of surprise)。如果我们知道事件A一定会发生,那么我们就不会收到关于该事件的信息;如果一件相当不可能的事情发生了,我们将接收到很多信息。、

  显然,我们对于信息内容的度量将依赖于概率分布p(x),因此我们要找到一个函数h(x),它是p(x)的单调递增函数,表示信息的内容,概率学给出了这个公式:

负号确保信息一定是非负数,低概率事件x对应于高的信息量。下面给出的是平均信息量的计算公式:

这个量就是著名的“熵”,对数取2为底数的话熵的单位是bit.条件熵公式如下,即给定x,y的条件熵:

  

  如下图所示,如果概率分布p(x)集中于几个值,那么熵就会比较低,如果分布比较均匀,则熵值会比较高,如果有某一个值使得p(x)=1,则熵值为0.

  

二、相对熵;

  考虑某个未知的分布p(x),假定我们已经使用一个近似的分布q(x)对它进行了建模。如果我们使用q(x)来建立一个编码体系,用来把x的值传给接收者,那么,由于我们使用了q(x)而不是真实分布p(x),因此在具体化x的值时,我们需要一些附加的信息。我们需要的平均的附加信息量(单位是nat,底数为e)为:

这被称为分布p(x)和分布q(x)之间的相对熵(relative entropy) 或者Kullback-Leibler散度,值恒为非负数。

三、互信息;

  相对熵表示两个随机分布之间距离的度量,或者说是两者之间的差异。互信息是随机变量包含另一个随机变量信息量的度量。互信息也是在给定另一个随机变量情况下,原随机变量不确定度的缩减量:

  

四、相对熵和互信息的关系;

  

因此我们可以把互信息看成由于知道y值而造成的x的不确定性的减小(反之亦然)。从贝叶斯的观点来看,我们可以把p(x)看成x的先验概率分布,把p(x|y)看成我们观察到新数据y之后的后验概率分布。因此互信息表式一个新的观测y造成的x的不确定性的减小。

  

时间: 2024-08-25 21:21:35

信息论小记的相关文章

SpringBoot - 二零一七0421小记

一.SpringBoot使用起来比起SpringMVC更便捷,在注解上的小变化,我记录了下面几个: @Controller + @ResponseBody = SpringMVC中用@RestController来代替前面两个注解,通过这个注解,可以将所有的前端http请求放入SpringBoot的Controller容器中,并返回json格式的数据给前端 @RequestMapping(value={"/hello","/hi"},method=RequestMe

广州postgresql用户会技术交流会小记 2015-9-19

广州postgresql用户会技术交流会小记  2015-9-19 今天去了广州postgresql用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用postgresql -X2的情况 第二个讲师介绍了postgresql里面的一些执行计划分析 我个人比较关注第一个session,因为涉及到真正的应用案例 网上有对postgresql -X2的简短介绍,我先转载过来 转载:http://francs3.blog.163.com/blog/static/405767272

git 学习小记之记住https方式推送密码

昨天刚刚学了点git基础操作,但是不幸的是[email protected]给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在[email protected]官网找到了解决方法<https方式使用[email protected]设置密码的方式>文中给出了几个方法,并且都非常简单. 关于 cache 缓存方式,我不太喜欢,因为要设置时间,而且会过期.而 store 相应的非常方便,设置全局后,方便多个库使用.当然如果

关于自动化部署之docker容器的折腾小记

docker的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的可不是商品货物,而是任意类型的App,Docker把App(叫Payload)装在Container内,通过Linux Container技术的包装将App变成一种标准化的.可移植的.自管理的组件,这种组件可以在你的latop上开发.调试.运行,最终非常方便和一致地运行在production环境下. 具体什么是docker,你们自己找资料吧,应该好理解.   可以说是个运维的利器,可以把

安卓环境搭建小记

安装容易出现问题:1.更新sdk时可能无法连接服务器,可在C:\WINDOWS\system32\drivers\etc下的hosts文件最后添加:#Google主页203.208.46.146 www.google.com#这行是为了方便打开Android开发官网 现在好像不翻墙也可以打开74.125.113.121 developer.android.com#更新的内容从以下地址下载203.208.46.146 dl.google.com203.208.46.146 dl-ssl.googl

与webView进行交互,webView小记

本文转载至 http://www.verydemo.com/demo_c101_i46895.html 一.与webView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号. 1 -(void)webViewDidFinishLoad:(UIWebView *)webView 2 { 3     NSString *sendJsStr=[NSString stringWithFormat

linux学习小记 (一 )

shell 学习小记: 注意:多看系统脚本  多模仿    su切换用户时需要输入目标用户密码,root(superuser)切换到任何用户都不需要输入密码,- 参数必须要是最后一个(su huhu -) sudo需要输入当前用户密码,拥有sudo特权的用户可以执行 "sudo su -"命令,使用自己的密码切换到root用户 , 所以应该在/etc/sudoers 文件中禁止 sudo 执行su命令 linux文件与颜色: /etc/DIR_COLORS   (命令dircolors

自由职业小记6

说说最近的情况 前段时间的小记里面有说到,我接了一个很糟糕的活.客户对技术没有任何了解,需求不明确,还总是改需求.原本3天就完成的工作,被断断续续的托了2个礼拜.至今最后的尾款也还没有打给我,目前已经打给我的金额大概是70%.在前面的几篇小记当中,我一直在说,目前我们这个阶段一定不能挑食,要尽可能的为顾客服务.虽然这段时间我也的确是这么做的,在我理解的工作范围内,继续给予这个客户技术支持.但是在态度上我基本上已经放弃了这个客户了.虽然说不挑食是我们目前来说的需要保持的一个态度,但是这样的客户的确

DOM性能小记

在使用DOM操作时,同样的效果用不同的方式来实现,性能方面也会有很大的差异.尤其在移动式设备上,资源本来就很有限,一旦DOM写不好的话操作就会非常卡顿.这个周末,就写个DOM性能小记吧.错漏之处,望多指教. 1.浅说reflow 首先讲讲最近我才了解到的一个比较深入且模糊的东西——reflow. 从字面上理解的话,reflow有回流.重排的意思.它是指在DOM内容更新或增删时发生的一个响应过程,可以理解为页面内容改变了,然后发生重新排版这样的一个行为.我们可以将执行DOM操作细分为以下三个过程: