信息论基础知识

  • 信息
    • 自信息
    • 联合自信息
    • 条件信息
    • 互信息
    • 信息熵
    • 条件熵
    • 联合熵
    • 交叉熵
    • KL散度/相对熵

信息

自信息

如果一句话发生的概率很大,那么它蕴含的信息就越少。例如:A知道B很有可能来,然后C对A说了一句:B很有可能来,这个是没有多大的意义的。但是,如果C对A说,不知道B会不会来,则这句话带来的信息量是比较高的。如果要用数学公式来衡量信息,它需要满足一下的条件:

  • 非负性
  • 这个函数得是单调递减函数:事情发生的概率越大,则蕴含的不确定性就越小,则信息量就越小。
  • 当事情发生的概率是1时,信息量为0,当事情发生的概率是0时,信息量为无穷大。
  • 两个独立事件的信息量之和应该可以表示为他们分别的信息量相加。

于是有了信息量公式:

I(x)=−log⁡2p(x)I(x) = -\log_2{p(x)} I(x)=−log2​p(x)

如果觉得不好理解:想想概率为1时,自信息为0的例子。


联合自信息

如果有联合事件,则他们的联合自信息可以表示为:
I(xy)=−log⁡p(xy)I(xy) = -\log p(xy) I(xy)=−logp(xy)


条件信息

I(x∣y)=−log⁡p(x∣y)I(x|y) = -\log p(x|y) I(x∣y)=−logp(x∣y)

I(xy)=I(x)+I(y∣x)=I(y)+I(x∣y)I(xy) = I(x) + I(y|x) = I(y) + I(x|y) I(xy)=I(x)+I(y∣x)=I(y)+I(x∣y)

联合自信息 = 条件自信息+自信息


互信息

I(x;y)=logp(x∣y)p(x)=I(x)−I(x∣y)I(x;y) = log{\frac{p(x|y)}{p(x)}} = I(x) - I(x|y) I(x;y)=logp(x)p(x∣y)​=I(x)−I(x∣y)

I(X):表示X事件发生的不确定性

I(X|y) : 表示在y事件发生下,X事件发生的不确定性

I(x ; y) : 表示y发生后,X事件发生的不确定性的**变化量**

两个不确定度的差,是不确定度消除的部分,代表已确定的东西:即在y事件发生后,获得的关于X的信息量。

  • 互易息:x对于y的互信息和y对于x的互信息是一样的。

  • 当两个事件独立时,互信息为0,即I(x;y) = 0

  • 互信息可正可负,若y的发生有利于x发生,提供了正值,反之为负值。比如一个题目有4个答案,告诉你其中A错了,那么提供了正信息。若告诉你其实是个多选题,那么提供了复信息。

  • 任何两个事件的自信息不可能大于其中任一事情的自信息


信息熵

离散信源X的熵定义为自信息的平均值,记为H(x)

通俗理解:某人对某件事情的不确定性叫熵。

H(h)=−∑xp(x)log⁡p(x)H(h) = -\sum_xp(x)\log p(x) H(h)=−x∑​p(x)logp(x)

所以提供的信息越多,则熵越小。信息是用来消除事物的不确定性的。

当一个事件中,所有的可能情况等概率发生时,熵达到了最大值。


条件熵

条件熵:联合集XY上,条件自信息I(y|x)的平均值
H(y∣x)=Ep(xy)[I(y∣x)]=−∑x∑yp(xy)log⁡p(y∣x)=∑xp(x)[−∑yp(y∣x)log⁡p(y∣x)]=∑xp(x)H(y∣x)H(y∣x)=−∑yp(y∣x)log⁡p(y∣x):为x取特定值时Y的熵\begin{aligned} H(y|x) &= \underset{p(xy)}{E}[I(y|x)] \\ &=-\sum_x\sum_yp(xy)\log p(y|x)\\ &=\sum_x p(x)[-\sum_yp(y|x)\log p(y|x)]\\ &=\sum_xp(x)H(y|x)\\ \end{aligned} \\ H(y|x) = -\sum_yp(y|x)\log p(y|x):为x取特定值时Y的熵 H(y∣x)​=p(xy)E​[I(y∣x)]=−x∑​y∑​p(xy)logp(y∣x)=x∑​p(x)[−y∑​p(y∣x)logp(y∣x)]=x∑​p(x)H(y∣x)​H(y∣x)=−y∑​p(y∣x)logp(y∣x):为x取特定值时Y的熵

可以先求出在某个特定值时,Y的熵,再加权求和。

参考资料


联合熵

联合熵:联合集XY上,对联合自信息I(xy)的平均值
H(xy)=Ep(xy)[I(xy)]=−∑x∑yp(xy)log⁡p(xy)\begin{aligned} H(xy) &=\underset{p(xy)}{E}[I(xy)] \\ &=-\sum_x\sum_y p(xy)\log p(xy) \end{aligned} H(xy)​=p(xy)E​[I(xy)]=−x∑​y∑​p(xy)logp(xy)​


交叉熵

H(p,q)=−∑xp(x)log⁡2q(x)H(p,q) = -\sum_xp(x)\log_2q(x) H(p,q)=−x∑​p(x)log2​q(x)


KL散度/相对熵

D(p//q)==∑xp(x)log⁡p(x)q(x)=∑xp(x)log⁡[p(x)−q(x)]=−∑xp(x)log⁡q(x)+∑xp(x)log⁡p(x)=H(p,q)−H(p)=交叉熵−熵\begin{aligned} D(p //q) = &=\sum_xp(x)\log\frac{p(x)}{q(x)} \\ &=\sum_xp(x)\log[p(x)-q(x)]\\ &=-\sum_xp(x)\log q(x)+\sum_xp(x)\log p(x) \\ &= H(p,q) - H(p)=交叉熵-熵 \end{aligned} D(p//q)=​=x∑​p(x)logq(x)p(x)​=x∑​p(x)log[p(x)−q(x)]=−x∑​p(x)logq(x)+x∑​p(x)logp(x)=H(p,q)−H(p)=交叉熵−熵​

定理:如果在一个共同的有限字母表的概率空间上给定的两个概率测度P(X)和Q(X),则有:
D(P//Q)≥0D(P // Q) \ge 0 D(P//Q)≥0
当且仅当对所有X,P(X)=Q(X)等号成立。

−D(P//Q)=∑xP(x)log⁡Q(x)P(x)≤log⁡[∑xP(x)Q(x)P(x)]≤log⁡[∑xQ(x)]=0-D(P // Q) = \sum_x P(x)\log \frac {Q(x)}{P(x)} \le \log[\sum_x P(x) \frac{Q(x)}{P(x)}] \le \log[\sum_xQ(x)] =0 −D(P//Q)=x∑​P(x)logP(x)Q(x)​≤log[x∑​P(x)P(x)Q(x)​]≤log[x∑​Q(x)]=0
这里用到了Jesen不等式,由此结论可以证明。

在机器学习中,虽然说相对熵更适合用来衡量预测分布与真实分布的差异,但往往真实分布是我们所不知道的,但可以确定这个真实分布与训练无关,即认为训练数据是从真实分布中独立同分布采样得到的,这时最小化相对熵等价于最小化交叉熵。因此机器学习往往用交叉熵作为损失函数,而不是用相对熵

参考资料1.
参考资料2.

关于信息论中信息熵,信息散度等的数学概念相关推荐

  1. 信息论:信息熵+信息散度(交叉熵\kl距离)

    信息散度(交叉熵\kl距离) 思考题:对于只用A,B,C,D四个单词写的信使用0和1进行编码的一个信息的平均编码长度?思考题:对于只用A,B,C,D四个单词写的信\\ 使用0和1进行编码的一个信息的平 ...

  2. 关于信息论中熵的定义与含义:

    信息熵: 1. 热力学中的热熵是表示分子状态混乱程度的物理量.香农用信息熵的概念来描述信源的不确定度. 2. :两个独立符号所产生的不确定性应等于各自不确定性之和 3. 在信源中,考虑的不是某一单个符 ...

  3. 信息论中的一些基本的知识

    (以下内容来自维基百科:) 自信息:由克劳德·香农提出,是与概率空间中的单一事件或离散随机变量的值相关的信息量的量度.它的定义为:一个随机产生的事件所包含的自信息数量,只与事件发生的概率相关.事件发生 ...

  4. 关于信息论中熵、相对熵、条件熵、互信息、典型集的一些思考

    1. 绪论 0x1:信息论与其他学科之间的关系 信息论在统计物理(热力学).计算机科学(科尔莫戈罗夫复杂度或算法复杂度).统计推断(奥卡姆剃刀,最简洁的解释最佳)以及概率和统计(关于最优化假设检验与估 ...

  5. 关于信息论中熵、相对熵、、条件熵、互信息、典型集的一些思考

    1. 绪论 0x1:信息论与其他学科之间的关系 信息论在统计物理(热力学).计算机科学(科尔莫戈罗夫复杂度或算法复杂度).统计推断(奥卡姆剃刀,最简洁的解释最佳)以及概率和统计(关于最优化假设检验与估 ...

  6. 信息论中的香农熵、条件熵、最大熵、相对熵、交叉熵理解

    目录 信息论基础 信息熵.香农熵 最大熵定理 条件熵 信息增益 信息增益与决策树算法 相对熵与GAN算法 相对熵 相对熵的致命问题 交叉熵 结束语 信息论基础 前几天朋友问我决策树中的香农熵公式来源的 ...

  7. c语言中的关于数学问题的编程,C语言中具有代表性几种数学问题编程技巧探索.doc...

    C语言中具有代表性几种数学问题编程技巧探索 C语言中具有代表性几种数学问题编程技巧探索 [摘要]本文分析了C语言中几种常见的具有代表性的几类数学问题,从数学规律.语法结构分析.语句优化设计及应用方面, ...

  8. 机器学习百页书:机器学习中常用到的一些数学符号

    一本精简的机器学习入门手册.机器学习百页书<机器学习精讲>,人工智能的核心是机器学习,本书囊括机器学习的精髓,系统而精炼地讲解机器学习的基本原理.本书英文版一经推出,就长期位于亚马逊机器学 ...

  9. Typora中如何使用数学公式、数学符号

    Typora中如何使用数学公式.数学符号 Typora作为一款常用的Markdown编辑器,具有强大高效的记录功能,深受广大开发者喜爱. 一.Typora中嵌入公式 可以有三种方式实现: 点击&quo ...

最新文章

  1. (转)如何建立EXCEL2010下拉列表
  2. spring 测试demo乱码_spring框架的入门学习:AOP和面向切面的事务
  3. MFC 单文档的全局变量
  4. 如何优雅的处理业务逻辑中的定时和延时问题?
  5. DocumentNavigator是什么东东?
  6. php反射机制详解,PHP反射机制实现插件的可插拔设计
  7. python语言里数字包括_4.1Python语言中的数字、字符串数据类型讲解
  8. 操作系统与多核处理器
  9. 如果避免反射导致的性能问题?
  10. 域名备案以及再次白嫖阿里云
  11. 【Linux】Windows Ubuntu 双系统开机选择界面设置
  12. linux挂载安卓手机命令,Android开发中,mount指令的各种用法大全,挂载设备的各种配置...
  13. 算法笔记-二分查找和二分答案
  14. 如何在Macbook安装Linux双系统
  15. 学习如何搭建SpringBoot框架
  16. 最易学和最难学的编程语言 Top 5
  17. 程序员996可还好?某公司强制实行997、007,网友:钱给到位了吗?
  18. VC中GDI绘图技术基础知识:hdc设备环境句柄,坐标系
  19. 2022年诺贝尔物理学奖的科学内涵辨识
  20. 子组件调用父组件中方法的方法

热门文章

  1. bsd mac linux,macos-Mac OS X和BSD有多紧密的联系?
  2. windows 7系统安装
  3. 操作系统真象还原实验记录之实验六:内存分页
  4. 【Python】从0到1:一文教会你如何用Python制作好看又实用的二维码!【文末彩蛋!】(可直接copy + 运行哦~!)
  5. 大数据方向学习系列——hadoop——hdfs学习
  6. 后端接口重定向_Java访问重定向接口
  7. 013 Rust死灵书之类型转换
  8. linux man命令如何翻页,Linux中man命令
  9. Anaconda,启动中发生意外的错误
  10. 划重点!百度、阿里、腾讯大厂Android面试必问知识点系统梳理,啃一半公司随便挑