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散度非负性证明的更多相关文章

  1. 机器学习、深度学习中的信息熵、相对熵(KL散度)、交叉熵、条件熵

    信息熵 信息量和信息熵的概念最早是出现在通信理论中的,其概念最早是由信息论鼻祖香农在其经典著作<A Mathematical Theory of Communication>中提出的.如今 ...

  2. 【原】浅谈KL散度(相对熵)在用户画像中的应用

    最近做用户画像,用到了KL散度,发现效果还是不错的,现跟大家分享一下,为了文章的易读性,不具体讲公式的计算,主要讲应用,不过公式也不复杂,具体可以看链接. 首先先介绍一下KL散度是啥.KL散度全称Ku ...

  3. KL散度与JS散度

    1.KL散度 KL散度( Kullback–Leibler divergence)是描述两个概率分布P和Q差异的一种测度.对于两个概率分布P.Q,二者越相似,KL散度越小. KL散度的性质:P表示真实 ...

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

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

  5. 从香农熵到手推KL散度

    信息论与信息熵是 AI 或机器学习中非常重要的概念,我们经常需要使用它的关键思想来描述概率分布或者量化概率分布之间的相似性.在本文中,我们从最基本的自信息和信息熵到交叉熵讨论了信息论的基础,再由最大似 ...

  6. 信息论相关概念:熵 交叉熵 KL散度 JS散度

    目录 机器学习基础--信息论相关概念总结以及理解 1. 信息量(熵) 2. KL散度 3. 交叉熵 4. JS散度 机器学习基础--信息论相关概念总结以及理解 摘要: 熵(entropy).KL 散度 ...

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

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

  8. 浅谈KL散度

    一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence) ...

  9. ELBO 与 KL散度

    浅谈KL散度 一.第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information dive ...

随机推荐

  1. 【LeetCode】234. Palindrome Linked List 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  2. (4329)Ping pong

    思路:树状数组. 考虑第i个人当裁判,那么只要计算出在他之前比他小的乘在他之后比他大的与在他之前比他大的乘在他之后比他小的,那么用两个树状数组维护一下就行了.复杂的(n*log(n)) 1 #incl ...

  3. 从零搭建react hooks项目(github有源代码)

    前言 首先这是一个react17的项目,包含项目中常用的路由.状态管理.less及全局变量配置.UI等等一系列的功能,开箱即用,是为了以后启动项目方便,特地做的基础框架,在这里分享出来. 这里写一下背 ...

  4. 「算法笔记」Splay

    一.简介 Splay(伸展树)是平衡树中的一种.它通过不断将某个节点旋转到根节点的位置,使整棵树仍满足 BST 的性质,并且保持平衡而不至于退化为链. 频繁访问的节点会被移动到离根节点较近的位置,进而 ...

  5. Xcode Error returned in reply: Connection invalid

    当电脑上有Xcode两个版本是使用其中的某一个的Simulator时出现了这样的报错 在Preference->Location->Command Line Tool 选择 Xcode 9 ...

  6. java-git 暂存

    在接到需求以后,直接在master上开发了,到提交的时候才想起来忘记新建版本分支了,直接提交到master会影响到其他人. 这时候就想着将本地编辑的代码,没有提交的代码暂存起来,然后新建一个新分支,再 ...

  7. <数据结构>XDOJ332.二叉排序树的判定

    问题与解答 问题描述 给定一个二叉树,判断其是否是一个有效的二叉排序树. 假设一个二叉排序树具有如下特征: 结点的左子树只包含小于当前结点的树. 结点的右子树只包含大于当前结点的树. 所有左子树和右子 ...

  8. mysql语句2-单表查询

    mysql 查询以及多表查询 以下所有表格样例都采用下边这个表格 mysql> select * from benet; +------+------+----------+ | id   | ...

  9. python中多模块导入的注意点

    导入模块常见的方式有  import xxx ,from xxx import yyy  或者 from xxx import yyy as a(为导入包(方法)取别名主要用于防止包名与模块中的变量重 ...

  10. HBase文档学习顺序

    1.<HBase基础概念知识学习> https://www.toutiao.com/i6774215329498268164/ 2.<VM安装CentOS6.5> https: ...