库尔巴克·莱布勒------KL散度

  • 散度
  • 信息的编码
  • "编码"分布
  • 编码分布
  • KL散度

散度

这里的散度是用来描述分布之间的距离,并非高数中的散度对应的物理意义。

信息的编码

一串数字可以通过二进制编码或者十进制编码,最终以有限的位数进行表示,同样的小数也可以进行这一表示,于是这一编码的具体形式体现在其表示的位数上,显然这是一个对数表示,比如1000以内的数需要三位十进制 l o g 10 1000 = 3 log_{10}1000=3 log10​1000=3,1024内的数字可以通过10位二进制表示, l o g 2 1024 = 10 log_{2}1024=10 log2​1024=10。

对应到小数中,可以类比为:一个小数float,其对应的进制位数为 l o g ( f l o a t ) log(float) log(float)

"编码"分布

显然一个分布式由多个小数表示的,每一个概率 p ( x ) p(x) p(x)都是一个小数。于是表示一个分布所需要的位数为: ∑ p ( x ) ( l o g ( p ( x ) ) ) \sum p(x) (log(p(x))) ∑p(x)(log(p(x))),描述为小数出现的概率乘以其所需的编码。

显然这玩意是叫信息熵。小数的对数为负值,所以常常为 − ∑ p ( x ) ( l o g ( p ( x ) ) ) -\sum p(x) (log(p(x))) −∑p(x)(log(p(x)))

编码分布

上面是用编码来表示分布,现在是用编码后的分布去表示另一个分布。
显然这两个分布有相同的定义域,但是显然这两个分布不可能完全一致,于是对应在概率上的编码长度就会产生偏差,最简单的方式通过差值描述偏差 l o g ( p ( x ) ) − l o g ( q ( x ) ) log(p(x))-log(q(x)) log(p(x))−log(q(x))。

由于是使用 p p p去描述 q q q,于是最终差值的累加是以 p p p的概率为基准 − ∑ p ( x ) ( l o g ( p ( x ) ) − l o g ( q ( x ) ) ) -\sum p(x) (log(p(x))-log(q(x))) −∑p(x)(log(p(x))−log(q(x)))。

显然这不仅描述了编码上的差距,这也描述了分布之间的差距。

KL散度

两个分布之间的KL散度有如下形式:

∑ p ( x ) ( l o g ( p ( x ) ) − l o g ( q ( x ) ) ) \sum p(x) (log(p(x))-log(q(x))) ∑p(x)(log(p(x))−log(q(x)))

上面是离散的形式,连续概率则将求和变为积分:

∫ p ( x ) ( l o g ( p ( x ) ) − l o g ( q ( x ) ) ) \int p(x) (log(p(x))-log(q(x))) ∫p(x)(log(p(x))−log(q(x)))

库尔巴克·莱布勒------KL散度相关推荐

  1. 交叉熵损失函数、修正Huber损失、极大似然估计、负对数似然、似然与交叉熵、KL散度

    交叉熵损失函数.修正Huber损失.极大似然估计.负对数似然.似然与交叉熵.KL散度 目录

  2. K-L散度(相对熵)

    K-L散度(相对熵) KL散度(Kullback–Leibler divergence,KLD)也被称为相对熵 它表示2个函数或概率分布的差异性:差异越大则相对熵越大,差异越小则相对熵越小,特别地,若 ...

  3. tf.keras.losses.KLDivergence KL散度 损失函数 示例

    KL 散度 loss=正确值×log(正确值/预测值)loss = 正确值 \times log(正确值/预测值)loss=正确值×log(正确值/预测值) import tensorflow as ...

  4. 为什么交叉熵和KL散度在作为损失函数时是近似相等的

    来源:DeepHub IMBA 本文约900字,建议阅读5分钟 在本文中,我们将介绍熵.交叉熵和 Kullback-Leibler Divergence [2] 的概念,并了解如何将它们近似为相等. ...

  5. 相对熵/KL散度(Kullback–Leibler divergence,KLD)

    相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(in ...

  6. pytorch kl散度学习笔记

    KL散度,也叫做相对熵,计算公式如下: import torch.nn as nn import torch import torch.nn.functional as F if __name__ = ...

  7. kl散度学习笔记python实现

    KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...

  8. 巴克莱:对冲基金AI和大数据工作指南

    本文来自AI新媒体量子位(QbitAI) 机器学习.人工智能.大数据正在改变金融市场. 巴克莱(Barclays)银行最近调查了65名对冲基金经理,这些人掌管着6500亿美元的资产,然后形成了一个对冲 ...

  9. 【项目实战课】基于ncnn框架与KL散度的8bit对称模型量化与推理实战

    欢迎大家来到我们的项目实战课,本期内容是<基于ncnn框架与KL散度的8bit对称模型量化与推理实战>. 所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题, ...

最新文章

  1. 开源前后端分离在线考试系统
  2. 基于matlab的信号去噪,基于matlab的信号去噪研究.doc
  3. 2016百度编程题:钓鱼比赛
  4. 【302天】跃迁之路——程序员高效学习方法论探索系列(实验阶段60-2017.12.04)...
  5. 结构设计模式 - 装饰器设计模式
  6. JDBC技术总结(一)
  7. 关于android的零碎问题的整理
  8. nginx不缓存html页面耗性能,加速nginx性能: 开启gzip和缓存
  9. C语言的32个关键字(简单介绍加解析方便记忆)
  10. mysql管理工具-SQLyog管理工具
  11. 宋宝华:关于Ftrace的一个完整案例
  12. oracle汉字转拼音
  13. 有效沟通bic法则_善用BIC法则,负面回馈不怕引起反弹!
  14. 推荐 :数据可视化与信息可视化浅谈
  15. 使用JMeter测试你的EJB
  16. 西瓜视频中视频计划还有机会吗?
  17. 时间格式化问题@DateTimeFormat和@JsonFormat的区别
  18. 连接QuickBooks Online实现于IOS App数据同步功能的个人记录
  19. java什么是线程安全_什么是线程安全?
  20. 将撒娇进行到底的女人

热门文章

  1. Windows 10配置GPU环境
  2. 测试用例设计经典面试题
  3. cuda C++ cuFloatComplex/cufftComplex/复数 exp
  4. word-wrap长单词与URL地址自动换行
  5. 利用Chrome Edge浏览器调试AndroidWebView
  6. 网络visca控制协议_支持网络及串口onvif,visca、pelco-d/p协议多功能控制键盘采购型号...
  7. 如何给物体添加阴影效果
  8. 第二证券|支持多子女购房、提高公积金贷款额度、发放限时补贴
  9. ViewData与ViewBag的区别是什么
  10. k8s/Kubernetes集群安装