信息量也叫做香农信息量,常用于刻画消除随机变量X在x处的不确定性所需的信息量大小。假设只考虑连续型随机变量的情况,设p为随机变量X的概率分布,即p(x)为随机变量X在X=x处的概率密度函数值,随机变量X在x处的香农信息量定义为:

信息量的单位为比特。上式只定义了随机变量在一个点处的香农信息量,衡量随机变量X在整个样本空间的总体香农信息量可以通过信息熵来表示,即香农信息量logp(x)的数学期望,所有X=x处的香农信息量的和,由于每一个x的出现概率不一样,需要用p(x)加权求和,用于刻画消除随机变量X的不确定性所需要的总体信息量的大小。信息熵的定义如下:

假设q(x)是用来拟合p(x)的概率分布,x属于p的样本空间,交叉熵用于衡量q在拟合p的过程中,用于消除不确定性而充分使用的信息量大小。常作为神经网络的损失函数使用,由于在每一个点X=x处q的香农信息量为-logq(x),也就是在点X=x处,q消除不确定性而充分使用的信息量为-logq(x),即衡量q在X=x处为了拟合p所作的努力,那么就可以计算出在整个样本空间上q消除不确定性二充分使用的总体信息量,即-logq(x)的数学期望,由于每个x的权重为p(x),因此交叉熵H(p,q)的定义为:

两个概率分布p和q的KL散度也叫相对熵,用于刻画概率分布q拟合概率分布p的程度,p为真实数据的概率分布,q为随机噪声生成数据的概率分布,生成对抗网络中q分布拟合p分布的过程中,如果q完全拟合p,则H(p)=H(p,q),如果q拟合p不充分,则产生的信息损耗H(p)-H(p,q)就是p和q的KL散度,因此p和q的相对熵D(p||q)为信息熵H(p)与交叉熵H(p,q)的差,衡量q拟合p的过程中产生的信息损耗,损耗越少,q拟合p也就越好,通俗点说KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。相对熵的定义为:

由于KL散度并不是一个真正的度量或距离函数,确切的说其仅用于衡量一个分布相比另一个分布的信息损失,存在不对称的缺点,即D(P||Q)!=D(Q||P) 。故引出JS散度,(a)JS散度的值域范围是[0,1],相同为0,相反为1。(b)具有对称性JS(P||Q)=JS(Q||P) 。因此JS散度的定义为:

由于KL散度和JS散度存在同一个问题,如果p分布和q分布相距很远完全没有重叠,则会导致梯度消失。故引出了Wasserstein距离,即使两个分布的支撑集没有重叠仍能反映两个分布的远近。直观上可以把E(x,y)∼γ[||x−y||]理解为在γ这个路径规划下把土堆p挪到土堆q所需要的消耗。而Wasserstein距离就是在最优路径规划下的最小消耗。所以Wesserstein距离又叫Earth-Mover距离。

总而言之:信息量代表的是一种不确定性;信息熵代表的是不确定性的期望值;KL散度,JS散度,交叉熵都可以用来衡量两个概率分布之间的差异性;因为训练数据的分布已知所以交叉熵等价于KL散度。

GANs之信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离相关推荐

  1. KL,JS,Wasserstein距离

    最近在学GAN和WGAN,遇到了KL散度,JS散度,Wasserstein距离(又叫EM距离)三个衡量概率分布相似度的度量方法.虽然之前也有接触KL,但是为了以后查找方便,还是决定做个记录总结. 本博 ...

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

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

  3. 信息熵/交叉熵/相对熵

    参考致敬: 如何通俗的解释交叉熵与相对熵? https://www.zhihu.com/question/41252833 一文彻底搞懂信息熵.相对熵.交叉熵和条件熵(含例子) https://blo ...

  4. KL divergence,JS divergence,Wasserstein distance是什么

    文章目录 前言 KL divergence JS divergence Wasserstein distance 总结 前言 这三个东西都可以用来两个分布的差异.其中三最难,其本身是来自另外的领域,如 ...

  5. matlab图像信息熵交叉熵,【机器学习】信息量,信息熵,交叉熵,KL散度和互信息(信息增益)...

    首先先强烈推荐一篇外文博客Visual Information Theory这个博客的博主colah是个著名的计算机知识科普达人,以前很是著名的那篇LSTM讲解的文章也是他写的.这篇文章详细讲解了信息 ...

  6. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称

    信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...

  7. 理解熵(信息熵,交叉熵,相对熵)

    Highlights: 1)信息熵:编码方案完美时,最短平均编码长度的是多少. 2)交叉熵:编码方案不一定完美时(由于对概率分布的估计不一定正确),平均编码长度的是多少. 平均编码长度 = 最短平均编 ...

  8. Softmax函数+信息熵+交叉熵

    信息熵 https://blog.csdn.net/hearthougan/article/details/76192381 https://blog.csdn.net/Hearthougan/art ...

  9. 熵、联合熵、相对熵、交叉熵、JS散度、互信息、条件熵

    封面镇楼 目录 一.熵 二.联合熵 三.相对熵(KL散度) 四.交叉熵 五.JS散度 六.互信息 七.条件熵 八.总结 一.熵 对于离散型随机变量,当它服从均匀分布时,熵有极大值.取某一个值的概率为1 ...

  10. 深度学习 交叉熵损失函数

    交叉熵损失函数 前言 交叉熵损失函数 信息量 信息熵 交叉熵 求导过程 应用 扩展 Binary_Crossentropy 均方差损失函数(MSE) 前言 深度学习中的损失函数的选择,需要注意一点是直 ...

最新文章

  1. 求教关于NFS服务器的防火墙的设置
  2. python文件读写1
  3. 孩子,别熬夜了,伤DNA
  4. ACMNO.31 C语言-宏求余 输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。
  5. 40多个漂亮的网页表单设计实例
  6. 一个c++程序员的学习历程自述
  7. 餐饮供应链公司“鲜沐农场”获千万级Pre-A轮融资,未来要打造一站式采购平台...
  8. java 抛出异常 返回值_java通过抛异常来返回提示信息
  9. 《javascript高级程序设计》第五章知识点总结
  10. 一步步编写操作系统 25 cpu的保护模式
  11. 【world_to_pixel】【wcs_pix2world】世界坐标系和像素坐标系的两种转换方式
  12. 《Inside C#》笔记(一) .NET平台
  13. java调用用友eai_U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言...
  14. C# 获取鼠标屏幕坐标有误差,鼠标定位误差问题,Windows10 C#获取鼠标坐标不准 的解决方法
  15. jsf的verbatim标签
  16. python跨平台是什么意思_跨平台是什么意思?通俗深刻的解释
  17. ##android sdk 文件目录含义介绍
  18. CIKM 2022|FwSeqBlock: 一种在序列建模中增强行为表征的方法
  19. PS网页设计教程XXIII——创建一个售卖iPhone 5应用程序的网站
  20. 一支口红用了5年_一支口红用多久最好 口红一般用多久

热门文章

  1. python利用pygame框架实现类似大鱼吃小鱼游戏 (松鼠吃松鼠) code from making games with python and pygame
  2. 教授先生带你学习链表:双向链表3
  3. neo4j的查询语法Cypher+python演示
  4. zookeeper教程,docker 安装,命令,python操作zookeeper,分布式队列,分布式锁
  5. js排序算法详解-选择排序
  6. matlab2c使用c++实现matlab函数系列教程-fft函数
  7. 频率分布直方图组距如何确定_频率分布有关的概念
  8. 关于笔记本品牌的笑话!
  9. js控制iframe高度自动撑开
  10. 洛谷 P3807 【模板】卢卡斯定理