根据香农信息论中对于熵的定义,给定一个字符集,假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码(哈夫曼编码)平均需要的比特数等于这个字符集的熵。

如果字符集中字符概率越趋于平均,说明某个字符被预测的不确定性最大,只有最后我们知道了某一可能性确实发生了,才得到最大的信息量,因此它的熵就越大。而如果字符集中字符概率分布差异越大,则认为我们知道某一字符出现的可能性比其他类更大,这个字符集包含的信息量很小,因此它的熵越小。

  • KL散度

KL散度用于计算两个随机变量的差异程度。相对于随机变量A,随机变量B有多大的不同。注意,由于相较基准不同,KL(A||B) ≠ KL(B||A)。

从编码的角度理解,在同样的字符集上,假设存在另一个概率分布Q(X)。如果用概率分布P(X)的最优编码(即字符x的编码长度等于log[1/P(x)]),来为符合分布Q(X)的字符编码,那么表示这些字符就会比理想情况多用一些比特数。KL-divergence就是用来衡量这种情况下平均每个字符多用的比特数,因此可以用来衡量两个分布的距离

  • 交叉熵

交叉熵用于度量两个分布或者说两个随机变量、两个事件不同的程度。从编码的角度理解,使用随机变量B的最优编码方式对随机变量A编码所需要的字节数,具体来说就是使用哈夫曼编码去根据B的概率分布对A进行编码,所需要的编码数。

例如说,在深度学习中常用的交叉熵损失,A的分布通常为one-hot分布作为真实概率分布(也就是某一预测出现最肯定的情况),而B是预测概率分布。在模型训练时,希望目标优化函数能够尽可能小,我们希望能够B的分布概率能够向着A的方向分布,此时熵最小。

参考资料:

熵、KL散度、交叉熵 - 知乎 (zhihu.com)

熵、KL散度、交叉熵公式及通俗理解相关推荐

  1. 交叉熵三连(3)——交叉熵及其使用

    相关文章: 交叉熵三连(1)--信息熵 交叉熵三连(2)--KL散度(相对熵) 交叉熵三连(3)--交叉熵及其使用   在神经网络中,我们经常使用交叉熵做多分类问题和二分类的损失函数,在通过前面的两篇 ...

  2. 自信息/熵/联合熵/条件熵/相对熵/交叉熵/互信息及其相互之间的关系

    [深度学习基础]:信息论(一)_自信息/熵/联合熵/条件熵/相对熵/交叉熵/互信息及其相互之间的关系_bqw的博客-CSDN博客 详解机器学习中的熵.条件熵.相对熵和交叉熵 - 遍地胡说 - 博客园

  3. 交叉熵损失函数python_交叉熵损失函数nn.CrossEntropyLoss()

    nn.CrossEntropyLoss() 1.引言 在使用pytorch深度学习框架做多分类时,计算损失函数通常会使用交叉熵损失函数nn.CrossEntropyLoss() 2. 信息量和熵 信息 ...

  4. matlab计算kl散度命令,熵,交叉熵,KL散度公式与计算实例

    交叉熵(Cross Entropy)和KL散度(Kullback–Leibler Divergence)是机器学习中极其常用的两个指标,用来衡量两个概率分布的相似度,常被作为Loss Function ...

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

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

  6. 交叉熵和mse_交叉熵 相对熵(KL散度/互熵)

    香农熵 熵考察(香农熵)的是单个的信息(分布)的期望:反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 交叉熵 交叉熵考察的是两个的信息(分布)的期望: 交叉熵和熵,相 ...

  7. 数学之美:信息的度量和作用 KL散度 自信息 熵 相对熵 KL divergence entropy

    当上述公式中概率相等时会推出,H刚好等于5比特. 自信息: 一条信息的信息量与该信息的不确定性有关.如果想要搞懂一件非常不清楚的事,就需要了解大量的信息,相反如果一件事我们已经了如指掌,那就不需要太多 ...

  8. 机器学习常见损失函数,二元交叉熵,类别交叉熵,MSE,稀疏类别交叉熵

    一 损失函数介绍 损失函数用于描述模型预测值与真实值的差距大小.一般有有两种常见的算法--均值平方差(MSE)和交叉熵.下面来分别介绍每个算法的具体内容. 1 均值平方差 均值平方差(Mean Squ ...

  9. 最大交叉熵matlab实现,交叉熵算法

    交叉熵损失函数_计算机软件及应用_IT/计算机_专业资料.1.从方差代价函数说起... 演化算法 [C], 王斌; 李元香 4.一种求解抛物型方程的 Monte Carlo 并行算法 [C], 刘芳芳 ...

最新文章

  1. 网站用户访问速度监测分析项目
  2. STM32F1笔记(八)时钟
  3. IntelliJ IDEA 如何用 真机 测试安卓(Android)App 实战移动端
  4. .net 特性 Attribute
  5. python实现查询mac号对应的OUI厂商信息
  6. [高光谱] (6w字巨详细) GitHub开源项目Hyperspectral-Classification的解析
  7. 这本书会是你在算法分析道路上最好的养料
  8. python 正则匹配电话与ip
  9. 小规模纳税人和一般纳税人的区别
  10. 论文的英文文献在哪找(除了知网)?
  11. zscore标准化步骤_几种常用数据标准化方法
  12. 模电实验报告:单级共射放大电路
  13. 局域网即时通讯Active Messenger 完美破解版本 最新版本破解
  14. 开源项目之:SharpDevelop
  15. html 组织结构 图表,HTML5实现的矢量卡片式组织结构图
  16. What? 少儿编程语言Scratch被禁!
  17. 1228--八目鳗烧烤店
  18. 计算机创造奇迹的英语作文,英语作文_可以创造奇迹的3D打印机 (有声)_沪江英语...
  19. 理想汽车2022届数据开发岗位笔试
  20. 自己动手写 printf函数

热门文章

  1. 制作APP?零编程积木式搭建,在应用公园就是真么简单
  2. 对应用有限制的含粪便废水的抽取设备建筑材料英国UKCA认证—EN 12050-3
  3. python任务计划 0x1_从任务调度器执行python脚本时出现0x1错误(Windows 10)
  4. flask配置https
  5. Java 在PDF中添加工具提示|ToolTip
  6. js 读取excel文件中的时间格式转换问题
  7. Activiti流程实例开始结束,接收任务活动
  8. 【译】Delta Lake 0.5.0介绍
  9. Python 计算变上限二重积分的数值模拟进阶
  10. application.properties