Jensen不等式、数值积分的变分界、KL散度
Jensen不等式: Jensen’s inequality
变分界:Variational bounding
KL散度:KL-divergence
Jesen不等式
如果fff是凸函数,则对于随机变量X,下列不等式成立
E[f(X)]≥f(E[X])(1)\mathbb E[f(X)] \geq f \left ( \mathbb E [X]\right) \tag{1}E[f(X)]≥f(E[X])(1)当f=C时取等号,C是一个常数。
变分界
(1)基于Jensen不等式的变分界
我们考虑数值积分I=∫xf(x)dxI=\int_x f(x) dxI=∫xf(x)dx的变分界。引入一个随机函数q(x)q(x)q(x):
I=∫xq(x)f(x)q(x)dx(2)I = \int_x q(x) \frac{ f(x) }{ q(x) } dx \tag{2} I=∫xq(x)q(x)f(x)dx(2)
利用log凹函数的性质,代入Jensen不等式:
log∫xq(x)g(x)dx≥∫xq(x)logg(x)dxif∫xq(x)dx=1(3)\begin{aligned} \log \int_x q(x) g(x) dx &\geq \int_x q(x) \log g(x) dx \\ \text{if} \int_x q(x) dx &= 1 \end{aligned} \tag{3} log∫xq(x)g(x)dxif∫xq(x)dx≥∫xq(x)logg(x)dx=1(3)
将式(3)代入到式(2)中,
I≥exp(∫xq(x)logf(x)q(x)dx)(4)I \geq \exp \left( \int_x q(x) \log \frac{f(x)}{q(x)} dx \right ) \tag{4} I≥exp(∫xq(x)logq(x)f(x)dx)(4)
注意,式(4)要求f(x)f(x)f(x)是正的。我们可以随意地选取q(x)q(x)q(x)来找到最紧的界(最大化式(4)右边的项)。恰好,这与最小化KL散度是一致的:
D(q∣∣f)=∫xq(x)logq(x)f(x)dx(5)D(q||f) = \int_x q(x) \log \frac{q(x)}{f(x)} dx \tag{5} D(q∣∣f)=∫xq(x)logf(x)q(x)dx(5)
关于KL散度更多的介绍参看其他KL散度链接。
我们证明KL散度的非负性:
D(q∣∣f)=∫xq(x)logq(x)f(x)dx=Eq(x)[logq(x)f(x)]=−Eq(x)[logf(x)q(x)]≥log∫xq(x)f(x)q(x)dx=0(6)\begin{aligned} D(q||f) &= \int_x q(x) \log \frac{q(x)}{f(x)} dx \\ &= \mathbb E_{q(x)} \left [ \log \frac{q(x)}{f(x)} \right ] \\ &= - \mathbb E_{q(x)} \left [ \log \frac{f(x)}{q(x)} \right ] \\ & \geq \log \int_x q(x) \frac{f(x)}{q(x)} dx = 0 \end{aligned} \tag{6} D(q∣∣f)=∫xq(x)logf(x)q(x)dx=Eq(x)[logf(x)q(x)]=−Eq(x)[logq(x)f(x)]≥log∫xq(x)q(x)f(x)dx=0(6)
(2)通过被积函数的界来找到变分界(less accurate)
首先找到被积函数f(x)f(x)f(x)的一个界:
f(x)≥g(x)for all xI≥∫xg(x)dx(7)\begin{aligned} f(x) & \geq g(x) \text{ for all } x \\ I & \geq \int_x g(x) dx \end{aligned} \tag{7} f(x)I≥g(x) for all x≥∫xg(x)dx(7)
与(1)所述的变分界有所不同,方法(2)可以被用于高斯混合分布。另外,该方法既可以被显示地利用,也可以被隐式地利用(变分贝叶斯)。我们介绍其中隐式的方法。
隐式方法会引入隐变量(hidden variable)来定义界,我们把f(x)f(x)f(x)写为:
f(x)=∫yh(x,y)dy(8)\begin{aligned} f(x) = \int_y h(x,y) dy \end{aligned} \tag{8} f(x)=∫yh(x,y)dy(8)
利用Jensen界,我们可以得到
I=∫x,yh(x,y)dydx≥exp(∫x,yq(x,y)logh(x,y)q(x,y)dxdy)(9)\begin{aligned} I &= \int_{x,y} h(x,y) dy dx \\ & \geq \exp \left ( \int_{x,y} q(x,y) \log \frac{h(x,y)}{q(x,y)} dx dy \right ) \end{aligned} \tag{9} I=∫x,yh(x,y)dydx≥exp(∫x,yq(x,y)logq(x,y)h(x,y)dxdy)(9)
我们对q(x,y)q(x,y)q(x,y)加一个约束,假设它能够被分解为独立的形式:
q(x,y)=qx(x)⋅qy(y)(10)q(x,y) = q_x(x) \cdot q_y(y) \tag{10} q(x,y)=qx(x)⋅qy(y)(10)
qx(x)q_x(x)qx(x)和qy(y)q_y(y)qy(y)进一步迭代优化,来得到最大化界的解。
为了验证式(9)跟式(7)是等价的,我们这样分析,给定任意的qy(y)q_y(y)qy(y),可以解出最优的$q_x(x)
qx(x)=g(x)∫xg(x)dxwhere g(x)=exp(∫yqy(y)logh(x,y)qy(y)dy)(11)\begin{aligned} q_x(x) &= \frac{g(x)}{ \int_x g(x) dx } \\ \text{where } g(x) &= \exp \left ( \int_y q_y(y) \log \frac{ h(x,y) }{ q_y(y) } dy \right) \end{aligned} \tag{11} qx(x)where g(x)=∫xg(x)dxg(x)=exp(∫yqy(y)logqy(y)h(x,y)dy)(11)
然后我们用上式替换h(x)h(x)h(x),可以得到,
I≥∫xg(x)dx(12)I \geq \int_x g(x) dx \tag{12} I≥∫xg(x)dx(12)
Jensen不等式、数值积分的变分界、KL散度相关推荐
- kl散度度量分布_解读KL散度:从定义到优化方法
Kullback-Leibler 散度是计算机科学领域内的一个重要概念.数据科学家 Will Kurt 通过一篇博客文章对这一概念进行了介绍,机器之心技术分析师在此基础上进行了解读和扩充.本文为该解读 ...
- Jenson不等式及其在EM估计与KL散度中的应用
1. Jenson不等式 Jenson不等式定义:如果f(x)f(x)f(x)是凸函数,则有E[f(x)]≥f(E[x])E[f(x)] \geq f(E[x])E[f(x)]≥f(E[x])成立 ...
- kl散度学习笔记python实现
KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...
- KL散度的通俗易懂理解
一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergenc ...
- kl散度与js散度_数据集相似度度量之KLamp;JS散度
一.KL散度 1.什么是KL散度 KL散度又叫相对熵,是描述两个概率分布差异的一种方法,有人将KL散度称为KL距离,但实际上它不满足距离概念中的两个条件,a.对称性,即D(P||Q)=D(Q||P); ...
- KL散度的含义与性质
在概率论或信息论中,KL散度( Kullback–Leibler divergence),又称相对熵(relative entropy),是描述两个概率分布P和Q差异的一种方法.它是非对称的,这意味着 ...
- 人工智能学习笔记——KL散度
身为一个菜鸡,我经常在数据处理过程中,遇到比较两个样本是否符合同一分布,以及两个模型之间是否相似之类的问题.也是在这个过程中,我才逐渐知道有个东西叫KL散度(divergence),在这里记录一下. ...
- 信息熵、相对熵(KL散度)、交叉熵、条件熵、互信息、联合熵
信息熵 信息量和信息熵的概念最早是出现在通信理论中的,其概念最早是由信息论鼻祖香农在其经典著作<A Mathematical Theory of Communication>中提出的.如今 ...
- 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称
信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...
最新文章
- Spark函数:cogroup
- linux命令的基本操作
- python 接雨水
- Linux下Tomcat的启动、关闭
- 【数据竞赛】高质量数据科学竞赛平台汇总
- redis中的五种基本的数据结构
- Centos安装Xen总结
- asp.net MVC提高开发速度(创建项目模板)
- C++Primer学习笔记:第7章 类
- c语言项开发班级登入系统,c语言--班级管理系统
- 计算机网络学习笔记(8. 报文交换与分组交换②)
- 函数、函数参数、变量、深拷贝、随机数
- ubuntu卸载vmware player
- 已知三点坐标,求圆心坐标 (外接圆)python实现
- sqlserver连接池及查看连接数相关
- 关于寒武纪今天首发的云端智能芯片,你应该知道这些
- Unity UV基于中心点旋转/缩放/位移 Shader
- 车牌定位系统matlab,基于Matlab的车牌定位系统的研究与设计论文
- 杭电通信841考研考研经验交流及资料分享
- STATA 生存分析cox 等比例风险假设