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的更多相关文章

  1. 熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)

    1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练模型的时候就不停地调整参数使得我们预测出来的概率和真是的概率更加接近. 这篇文章我们关注在我们的模型假设这些类 ...

  2. [转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)

    https://www.cnblogs.com/silent-stranger/p/7987708.html 1.介绍: 当我们开发一个分类模型的时候,我们的目标是把输入映射到预测的概率上,当我们训练 ...

  3. python 3计算KL散度(KL Divergence)

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

  4. [学习笔记] Uplift Decision Tree With KL Divergence

    Uplift Decision Tree With KL Divergence Intro Uplift model 我没找到一个合适的翻译,这方法主要应用是,探究用户在给予一定激励之后的表现,也就是 ...

  5. [Bayes] KL Divergence & Evidence Lower Bound

    L lower是什么? L lower, 既然大于,那么多出来的这部分是什么?如下推导: 得出了KL的概念,同时也自然地引出了latent variable q.

  6. paper 23 :Kullback–Leibler divergence KL散度(2)

    Kullback–Leibler divergence KL散度 In probability theory and information theory, the Kullback–Leibler ...

  7. PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...

  8. Kl 证明 凸函数

    回到随机变量传输问题,假设传输中我们不知道具体 分布情况(unknown),我们用一个已知的分布 ,来模拟它,那么在这种情况下如果我们利用 尽可能高效的编码,那么我们平均需要多少额外的信息量来描述x呢 ...

  9. 【机器学习基础】熵、KL散度、交叉熵

    熵(entropy).KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)在机器学习的很多地方会用到.比如在决策树模型使用信息增益来选择 ...

随机推荐

  1. 潭州课堂25班:Ph201805201 django 项目 第三十课 linux 系统迁移 (课堂笔记)

    进入虚拟环境, 冷冻 把安装环境放到这个文档中 pip freeze >> requirements.txt 在另一台机器中 pip install -r requirements.txt ...

  2. HQL实用技术

    HQL是Hibernate Query Language的缩写,提供更加丰富灵活.更为强大的查询能力:HQL更接近SQL语句查询语法. HQL基础查询  1.获取部分列 多列 /** * 获取部分列 ...

  3. 轻松掌握Redux-Action使用方法

    轻松掌握Redux-Action使用方法 Redux-Action主要有两个方法,createAction和createAction,只要掌握了这两个方法就会了redux-action的使用. cre ...

  4. HTML(三)

    html图像.绝对路径和相对路径 html图像 <img>标签可以在网页上插入一张图片,它是独立使用的标签,通过“src”属性定义图片的地址,通过“alt”属性定义图片加载失败时显示的文字 ...

  5. Android RxJava

    GitHut 地址: https://github.com/ReactiveX/RxAndroid build.gradle: compile 'io.reactivex:rxandroid:1.2. ...

  6. 狡猾的商人 [HNOI2005] [一题双解]

    Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3...n-1,n), .当 ...

  7. JS 函数表达式

    定义函数的方式有两种, 一种是函数声明,一种就是函数表达式了 函数声明最常见了, sayHi(); // 函数声明会发生提升 function sayHi () { alert('Hi') } 函数表 ...

  8. RAID各种级别详细介绍

    独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(RAID, Redundant Array of Inexpensive ...

  9. javascript中的常用表单事件用法

    下面介绍几种javascript中常用的表单事件: 一,onsubmit:表单中的确认按钮被点击时发生的事件,如下案例. 案例解析:弹出表单中提交的内容 <form name="tes ...

  10. JAVA自学笔记22

    JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...