KL divergence
Kullback-Leibler divergence
形式:
|
|
性质:
非负
P=Q时,D[P||Q]=0
不对称性:D(P||Q)≠D(Q||P)
自信息:符合分布 P 的某一事件 x 出现,传达这条信息所需的最少信息长度为自信息,表达为
熵:从分布 P 中随机抽选一个事件,传达这条信息所需的最优平均信息长度为香农熵,表达为
交叉熵:用分布 P 的最佳信息传递方式来传达分布 Q 中随机抽选的一个事件,所需的平均信息长度为交叉熵,表达为
KL 散度:用分布 P 的最佳信息传递方式来传达分布 Q,比用分布 Q 自己的最佳信息传递方式来传达分布 Q,平均多耗费的信息长度为 KL 散度,表达为 D_p(Q) 或 D_KL(Q||P),KL 散度衡量了两个分布之间的差异。
KL散度的前一项是选择项,它会对两个分布的差异性进行选择

当一个分布很复杂,如上图的P(Z),我们用一个简单的分布如高斯分布Q(Z)去拟合的时候,我们更愿意把Q放在前面,这样至少能拟合P中的一部分。

VAE推导:可以看出,从原始的基于最大化数据分布的直观理解进行推导(第一行)和直接写出ELBO(最后一行)的结果是一样的(第七行)。但直接写成ELBO的形式,在优化上并不直观,但写成第七行的形式,通过设计encoder和decoder网络,可以比较直接地进行优化。VAE可以说是一个variational inference和deep learning一个非常巧妙的结合。除了VAE,我印象里理论和实践结合的比较好的就是LDA了。

KL divergence的更多相关文章
- 熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练模型的时候就不停地调整参数使得我们预测出来的概率和真是的概率更加接近. 这篇文章我们关注在我们的模型假设这些类 ...
- [转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
https://www.cnblogs.com/silent-stranger/p/7987708.html 1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练 ...
- python 3计算KL散度(KL Divergence)
KL DivergenceKL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rela ...
- [学习笔记] Uplift Decision Tree With KL Divergence
Uplift Decision Tree With KL Divergence Intro Uplift model 我没找到一个合适的翻译,这方法主要应用是,探究用户在给予一定激励之后的表现,也就是 ...
- [Bayes] KL Divergence & Evidence Lower Bound
L lower是什么? L lower, 既然大于,那么多出来的这部分是什么?如下推导: 得出了KL的概念,同时也自然地引出了latent variable q.
- paper 23 :Kullback–Leibler divergence KL散度(2)
Kullback–Leibler divergence KL散度 In probability theory and information theory, the Kullback–Leibler ...
- PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...
- Kl 证明 凸函数
回到随机变量传输问题,假设传输中我们不知道具体 分布情况(unknown),我们用一个已知的分布 ,来模拟它,那么在这种情况下如果我们利用 尽可能高效的编码,那么我们平均需要多少额外的信息量来描述x呢 ...
- 【机器学习基础】熵、KL散度、交叉熵
熵(entropy).KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)在机器学习的很多地方会用到.比如在决策树模型使用信息增益来选择 ...
随机推荐
- VirtWire 向客服发ticket
1 首先需要登录自己的账户 2 点击网页的Open Ticket 3 选择要发送何种类型的ticket 4 写自己的问题,包括一个合适的主题,选择你发ticket是针对哪个vps(一个账户下可以ord ...
- [CC-MCO16306]Fluffy and Alternating Subsequence
[CC-MCO16306]Fluffy and Alternating Subsequence 题目大意: 给定一个\(1\sim n(n\le3\times10^5)\)的排列\(a\). 对于一个 ...
- C语言基础四(敲打键盘、寻找资料,循环语句)请一个个字读,助于您的学会机率
循环语句无非几种,常用的就有if()else()结构类型的,while(){}类型的,do(){}while(1);类型,switch()类型,for()类型. 而这章就将前面的所有知识全部汇总下运用 ...
- Django——User-Profile
Profile作用:User内置的字段不够完善,导致创建的用户信息单一,Profile就是为了对User进行扩展,即丰富用户信息 在models中创建Profile类,添加字段user与User形成O ...
- python实现23种设计模式
本文源码寄方于github:https://github.com/w392807287/Design_pattern_of_python 参考文献: <大话设计模式>——吴强 <Py ...
- JavaScript面向对象的三大特性
1.JavaScript面向对象的三大特性 JavaScript的三大特性:封装性.继承性.多态性. 2.JavaScript实现封装特性 在一些静态类型的语言如java中,本身语法就提供了这些功能. ...
- python-循环小练习
作业:登录程序,最多循环输入三次,账号密码校验输入为空的情况: 知识点总结 1.while和for循环的区别是,1个需要定义计数器,1个不需要定义计数器: 2.break正常循环结束后会用到,意思是不 ...
- 【枚举】珠心算测验[c++]
题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术.珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及. 某学校的珠心算老师采用一种快速考察珠心算加 ...
- py3 pymysql
虽然大家可能在python2.x中用习惯了mysqldb,但是在python3.x中已经不支持那个组件了. 取而代之的是: import pymysql 所以,大家pip起来吧.另外,mysql官方出 ...
- javagc日志详解
https://blog.csdn.net/aliveTime https://plumbr.io/blog/garbage-collection/understanding-garbage-coll ...