KL散度非负性证明
1 KL散度
KL散度(Kullback–Leibler divergence) 定义如下:
$D_{K L}=\sum\limits_{i=1}^{n} P\left(x_{i}\right) \times \log \left(\frac{P\left(x_{i}\right)}{Q\left(x_{i}\right)}\right)$
目标:证明上式非负。
2 凸函数与凹函数
连续函数 $f(x)$ 的定义域为 $I$ ,如果对 $I$ 内任意两个实数 $x_{1}$ , $x_{2}$ 及任意实数 $\lambda \in(0,1)$ ,都有
$f\left(\lambda x_{1}+(1-\lambda) x_{2}\right) \leq \lambda f\left(x_{1}\right)+(1-\lambda) f\left(x_{2}\right) \quad \quad \quad (1)$
则称 $f(x)$ 为 $I $ 上的凸函数(下凸)。
若有
$f\left(\lambda x_{1}+(1-\lambda) x_{2}\right) \geq \lambda f\left(x_{1}\right)+(1-\lambda) f\left(x_{2}\right) \quad \quad \quad (2)$
则称 $f(x)$ 为 $I$ 上的凹函数(上凹)。
举例:
$log(x)$ 是凹函数,反之$-log(x)$ 是凸函数。
3 加权Jensen不等式
若 $f(x)$ 是区间 $[a, b]$ 上的凸函数,则对任意的实数 $x_{1}, x_{2}, \cdots, x_{n} \in[a, b] $,对所有非负实数 $a_{1}, a_{2}, \cdots a_{n} \geq 0$ , 且 $a_{1}+a_{2}+\cdots+a_{n}=1 $ ,则下列不等式成立。
$f\left(a_{1} x_{1}+a_{2} x_{2}+\cdots+a_{n} x_{n}\right) \leq a_{1} f\left(x_{1}\right)+a_{2} f\left(x_{2}\right)+\cdots+a_{n} f\left(x_{n}\right)$
4 证明KL散度非负性
KL散度(Kullback–Leibler divergence) 定义如下:
$D_{K L}=\sum\limits_{i=1}^{n} P\left(x_{i}\right) \times \log \left(\frac{P\left(x_{i}\right)}{Q\left(x_{i}\right)}\right)$
其中:
$\sum \limits_{i=1}^{n} P\left(x_{i}\right)=1$
由于 $\log (x)$ 是凹函数,$-\log (x)$ 是凸函数,因此将 KL散度定义式先变形再应用加权Jensen不等式,得:
$\begin{array}{l}D_{K L}&=\sum\limits_{i=1}^{n} P\left(x_{i}\right) \times \log \left(\frac{P\left(x_{i}\right)}{Q\left(x_{i}\right)}\right)\\ &=\sum\limits_{i=1}^{n} P\left(x_{i}\right) \times\left(-\log \left(\frac{Q\left(x_{i}\right)}{P\left(x_{i}\right)}\right)\right) \\&\geq-\log \left(\sum\limits_{i=1}^{n} P\left(x_{i}\right) \times \frac{Q\left(x_{i}\right)}{P\left(x_{i}\right)}\right)\\&=-\log \left(\sum\limits_{i=1}^{n} Q\left(x_{i}\right)\right)\end{array}$
Tips:Jensen不等式中的 $x_i$ 在这里相当于 $\frac{P\left(x_{i}\right)}{Q\left(x_{i}\right)}$; $f $ 相当于 $-\log()$ ;$a_i$ 相当于 $P\left(x_{i}\right)$ 。
由于 $Q\left(x_{i}\right)$ 是一个概率分布,因此和 $P\left(x_{i}\right)$ 一样满足下面的式子 $\sum\limits _{i=1}^{n} Q\left(x_{i}\right)=1$
因此可以得到
$D_{K L} \geq-\log (1)=0$
到此KL散度非负性得证。
KL散度非负性证明的更多相关文章
- 机器学习、深度学习中的信息熵、相对熵(KL散度)、交叉熵、条件熵
信息熵 信息量和信息熵的概念最早是出现在通信理论中的,其概念最早是由信息论鼻祖香农在其经典著作<A Mathematical Theory of Communication>中提出的.如今 ...
- 【原】浅谈KL散度(相对熵)在用户画像中的应用
最近做用户画像,用到了KL散度,发现效果还是不错的,现跟大家分享一下,为了文章的易读性,不具体讲公式的计算,主要讲应用,不过公式也不复杂,具体可以看链接. 首先先介绍一下KL散度是啥.KL散度全称Ku ...
- KL散度与JS散度
1.KL散度 KL散度( Kullback–Leibler divergence)是描述两个概率分布P和Q差异的一种测度.对于两个概率分布P.Q,二者越相似,KL散度越小. KL散度的性质:P表示真实 ...
- 【机器学习基础】熵、KL散度、交叉熵
熵(entropy).KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)在机器学习的很多地方会用到.比如在决策树模型使用信息增益来选择 ...
- 从香农熵到手推KL散度
信息论与信息熵是 AI 或机器学习中非常重要的概念,我们经常需要使用它的关键思想来描述概率分布或者量化概率分布之间的相似性.在本文中,我们从最基本的自信息和信息熵到交叉熵讨论了信息论的基础,再由最大似 ...
- 信息论相关概念:熵 交叉熵 KL散度 JS散度
目录 机器学习基础--信息论相关概念总结以及理解 1. 信息量(熵) 2. KL散度 3. 交叉熵 4. JS散度 机器学习基础--信息论相关概念总结以及理解 摘要: 熵(entropy).KL 散度 ...
- PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...
- 浅谈KL散度
一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence) ...
- ELBO 与 KL散度
浅谈KL散度 一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information dive ...
随机推荐
- 【九度OJ】题目1474:矩阵幂 解题报告
[九度OJ]题目1474:矩阵幂 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1474 题目描述: 给定一个n*n的矩阵,求该矩阵的 ...
- Java不可变类与final类
概念 Java的不可变类是指八个基础类型的包装类和String,他们的数据成员是不可变的.使用加法等操作时,其实是创建了一个新的对象. Java的final类是对类用关键字final进行修饰,说明该类 ...
- Java生成随机数的4种方式
Random Random 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数.Random 使用的随机算法为 linear congruential pseudorandom ...
- TCP KeepAlive机制理解与实践小结
0 前言 本文将主要通过抓包并查看报文的方式学习TCP KeepAlive机制,以此加深理解. 1 TCP KeepAlive机制简介 TCP长连接下,客户端和服务器若长时间无数据交互情况下,若一方出 ...
- Python学习笔记:利用pd.get_dummies实现哑变量编码
一.理论介绍 虚拟变量(dummy variable)也叫哑变量,是一种将多分类变量转换为二分变量的一种形式. 如果多分类变量有k个类别,则可以转化为k-1个二分变量. 需要有一个参照的类别. 在非线 ...
- 大厂必问的Spring面试题
准备了一个月的八股文,经历了二十几场秋招面试之后,发现Spring很受面试官青睐.最近有空将Spring常见的面试题总结了一下,希望对大家有所帮助. 文章目录: Spring的优点 Spring 用到 ...
- CSS基础 华为渐变色产品列表 综合实战
华为网页链接:https://www.huawei.com/cn/?ic_medium=direct&ic_source=surlent html代码部分: <div class=&qu ...
- 使用uiautomatorviewer,查看app页面元素,进行元素定位
环境搭建: 安装adt,安装成功后,就可以在adt路径下的tools文件夹中找到uiautomatorviewer.bat 用来做什么? uiautomatorviewer.bat是用来扫描和分析An ...
- Pytest_常用执行参数详解(3)
前面讲了测试用例的执行方式,也认识了 -v -s 这些参数,那么还有没有其它参数呢?答案肯定是有的,我们可以通过 pytest -h来查看所有可用参数. 从图中可以看出,pytest的参数有很多,但 ...
- Appium安装部署
一.安装JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JD ...