KL散度公式详解

2023-05-16

目录

文章目录

    • Jensen's inequality
    • 讲解KL散度(又名relative entropy)
    • mutual information

Jensen’s inequality

  • f ( ∫ x p ( x ) d x ) ⩽ ∫ f ( x ) p ( x ) d x f(\int\mathrm{x}p(x)dx)\leqslant\int\mathbb{f}(x)p(x)dx f(xp(x)dx)f(x)p(x)dx,根据 f ( E ( x ) ) ⩽ E ( f ( x ) ) f(E(x))\leqslant\mathbb{E}(f(x)) f(E(x))E(f(x))Jensen’s inequality推。
  • K L ( p ∥ q ) = − ∫ p ( x ) ln ⁡ { q ( x ) p ( x ) } d x ⩾ − ln ⁡ ∫ q ( x ) d x = 0 \mathrm{KL}(p \| q)=-\int p(\mathbf{x}) \ln \left\{\frac{q(\mathbf{x})}{p(\mathbf{x})}\right\} \mathrm{d} \mathbf{x} \geqslant-\ln \int q(\mathbf{x}) \mathrm{d} \mathbf{x}=0 KL(pq)=p(x)ln{p(x)q(x)}dxlnq(x)dx=0,只有当 p ( x ) p(x) p(x), q ( x ) q(x) q(x)相等时等号成立。

讲解KL散度(又名relative entropy)

  • 定义 K L ( p ∥ q ) = − ∫ p ( x ) ln ⁡ { q ( x ) p ( x ) } d x \mathrm{KL}(p \| q)=-\int p(\mathbf{x}) \ln \left\{\frac{q(\mathbf{x})}{p(\mathbf{x})}\right\} \mathrm{d} \mathbf{x} KL(pq)=p(x)ln{p(x)q(x)}dx
  • − l n x -lnx lnx是严格的凸函数,由Jensen’s inequality有 K L ( p ∥ q ) = − ∫ p ( x ) ln ⁡ { q ( x ) p ( x ) } d x ⩾ − ln ⁡ ∫ q ( x ) d x = 0 \mathrm{KL}(p \| q)=-\int p(\mathbf{x}) \ln \left\{\frac{q(\mathbf{x})}{p(\mathbf{x})}\right\} \mathrm{d} \mathbf{x} \geqslant-\ln \int q(\mathbf{x}) \mathrm{d} \mathbf{x}=0 KL(pq)=p(x)ln{p(x)q(x)}dxlnq(x)dx=0
  • 在实际应用中 K L ( p ∥ q ) ≃ ∑ n = 1 N { − ln ⁡ q ( x n ∣ θ ) + ln ⁡ p ( x n ) } \mathrm{KL}(p \| q) \simeq \sum_{n=1}^{N}\left\{-\ln q\left(\mathbf{x}_{n} | \boldsymbol{\theta}\right)+\ln p\left(\mathbf{x}_{n}\right)\right\} KL(pq)n=1N{lnq(xnθ)+lnp(xn)}
    • 注释:对于前面KL定义可知用的样本点服从 p ( x ) p(x) p(x),故原来积分可等于上式,例如 E ( x ) = ∫ x f ( x ) d x ≃ 1 N ∑ f ( x i ) E(x)=\int\mathrm{x}f(x)dx\simeq\frac{1}{N}\sum\mathrm{f}(x_{i}) E(x)=xf(x)dxN1f(xi),重要性采样等方法都用到这个方法。

mutual information

1.如果数据集变量x与y不独立,就考虑 p ( x ) p ( y ) p(x)p(y) p(x)p(y)去近似,就可得到mutual information:

I [ x , y ] ≡ K L ( p ( x , y ) ∥ p ( x ) p ( y ) ) = − ∬ p ( x , y ) ln ⁡ ( p ( x ) p ( y ) p ( x , y ) ) d x d y \begin{aligned} \mathrm{I}[\mathbf{x}, \mathbf{y}] & \equiv \mathrm{KL}(p(\mathbf{x},\mathbf{y})\|p(\mathbf{x})p(\mathbf{y})) \\ &=-\iint p(\mathbf{x}, \mathbf{y})\ln\left(\frac{p(\mathbf{x}) p(\mathbf{y})}{p(\mathbf{x}, \mathbf{y})}\right) \mathrm{d} \mathbf{x} \mathrm{d} \mathbf{y} \end{aligned} I[x,y]KL(p(x,y)p(x)p(y))=p(x,y)ln(p(x,y)p(x)p(y))dxdy

2.利用概率的和法则和乘积法则,可以得出互信息与条件熵的关系:

I [ x , y ] = H [ x ] − H [ x ∣ y ] = H [ y ] − H [ y ∣ x ] \mathrm{I}[\mathbf{x}, \mathbf{y}]=\mathrm{H}[\mathbf{x}]-\mathrm{H}[\mathbf{x} | \mathbf{y}]=\mathrm{H}[\mathbf{y}]-\mathrm{H}[\mathbf{y} | \mathbf{x}] I[x,y]=H[x]H[xy]=H[y]H[yx]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KL散度公式详解 的相关文章

随机推荐

  • 【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(3-多核环境下的调度)”】

    目录 1 不同核心上分别调度2 tick中断3 关于抢占4 关于同优级的任务按时间片调度5 空闲任务6 调度程序暂停7 启动和终止8 禁用中断9 总结 Vanilla FreeRTOS调度器是具有时间切片的固定优先级抢占调度器 xff0c
  • 【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(4-多核下的临界区)”】

    目录 关于临界区API的更改临界区API的工作过程使用临界区的限制和注意事项 关于临界区API的更改 Vanilla FreeRTOS通过禁用中断来实现临界区域 xff0c 这可以防止抢占式上下文切换和在临界区域提供ISR xff08 中断
  • 【嵌入式环境下linux内核及驱动学习笔记-(8-内核 I/O)-信号驱动】

    目录 3 信号驱动的异步通知3 1 linux异步通知编程3 1 1 什么是信号3 1 2 信号的工作流程 3 2 应用层3 2 1 信号接收 signal函数3 2 2 应用层 fcntl 函数3 2 3 应用层信号驱动机制步骤 3 3
  • TensorFlow、Python、CUDA版本对应及下载链接

    关于版本对应 xff0c 官网很详细了 xff1a https tensorflow google cn install source 偷个懒 xff0c 我就把截图放这里吧 xff1a 1 Windows xff1a 2 Linux 和
  • 表格驱动编程在代码中的应用

    1 毕业设计中的使用 第一次使用表格驱动编程 xff0c 是在大学毕业设计的时候 做一个LL 1 的词法分析程序 xff0c 需要读取终结符 非终结符 以及推导公式 程序会根据以上信息生成FIRST集合和LAST集合 xff0c 然后根据递
  • 【嵌入式环境下linux内核及驱动学习笔记-(9-内核定时器)】

    目录 1 时钟tick中断等概念2 延时机制2 1 短延时 xff08 忙等待类 非阻塞害 xff09 2 1 1 ndelay 忙等待延迟多少纳秒2 1 2 udelay 忙等待延迟多少微秒2 1 3 mdelay 忙等待延迟多少毫秒 2
  • 【嵌入式环境下linux内核及驱动学习笔记-(10-内核内存管理)】

    目录 1 linux内核管理内存1 1 页1 2 区1 2 1 了解x86系统的内核地址映射区 xff1a 1 2 2 了解32位ARM系统的内核地址映射区 xff1a 2 内存存取2 1 kmalloc2 1 1 kfree2 1 2 k
  • 力扣刷题常用的c++库函数

    文章目录 1 xff0c max和min1 max函数2 xff0c min函数 2 xff0c sort函数sort 函数和lambda表达式 3 xff0c reverse 函数1 reverse函数可以反转一个字符串2 反转字符数组3
  • STM32学习(4)串口实验

    串口设置的一般步骤可以总结为如下几个步骤 xff1a 串口时钟使能 xff0c GPIO 时钟使能串口复位GPIO 端口模式设置串口参数初始化开启中断并且初始化 NVIC xff08 如果需要开启中断才需要这个步骤 xff09 使能串口编写
  • 【Docker】 入门与实战学习(Docker图形化工具和Docker Compose)

    文章目录 前言Docker图形化工具1 查看portainer镜像2 portainer镜像下载3 启动dockerui容器4 浏览器访问5 单机版Docker xff0c 直接选择Local xff0c 点击连接6 使用即可 Docker
  • 第三天_DOM

    第三天 Web APIs 学习目标 xff1a 能够使用removeChild 方法删除节点 能够完成动态生成表格案例 能够使用传统方式和监听方式给元素注册事件 能够说出事件流执行的三个阶段 能够在事件处理函数中获取事件对象 能够使用事件对
  • MySQL知识点整理汇总

    文章目录 前言一 数据库与SQL1 数据库与数据库管理系统2 关系数据库3 MySQL语句的种类4 MySQL语句的基本书写规则 二 MySQL语句的两大顺序1 MySQL 语句的书写顺序2 MySQL 语句的执行顺序 三 表的创建 删除与
  • 麦克科马克

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • ROS-创建工作空间与功能包

    这里写目录标题 一 工作空间的组成与结构二 创建工作空间三 创建功能包四 设置环境变量五 功能包的package xml文件和CMakeLists txt文件 一 工作空间的组成与结构 工作空间的组成 xff1a src用于存放功能包源码
  • 「NeurIPS 2020」基于局部子图的图元学习

    点击蓝字 xff0c 设为星标 NeurIPS 2020 的接收论文 Graph Meta Learning via Local Subgraphs xff0c G META 是第一个使用局部子图来进行元学习的模型 Graph Meta L
  • Keras:Input()函数

    目录 1 Keras Input 函数 2 函数定义 xff1a 3 参数解释 4 例子 1 Keras Input 函数 作用 xff1a 初始化深度学习网络输入层的tensor 返回值 xff1a 一个tensor 2 函数定义 xff
  • JDBC入门笔记

    目录 1 xff0c JDBC概述 1 1 JDBC概念 2 xff0c JDBC快速入门 Java操作数据库的流程 2 1 编写代码步骤 3 JDBC API详解 3 1 DriverManager 3 2 Connection 3 2
  • 对抗样本入门详解

    文章目录 对抗样本基本原理对抗样本的发生对抗样本防御难在哪里对抗训练隐藏梯度defensive distillation 对抗样本的生成对抗样本生成方法介绍利用GAN生成对抗样本利用FGSM生成对抗样本代码复现 xff08 基于mnist
  • white/black-box attack(黑盒白盒攻击基础)

    基本概念 攻击方法分类标准 xff1a 假正性攻击 false positive 与伪负性攻击 false negative 假正性攻击 xff1a 原本是错误的但被被攻击模型识别为正例的攻击 eg 一张人类不可识别的图像 xff0c 被D
  • KL散度公式详解

    目录 文章目录 Jensen 39 s inequality讲解KL散度 xff08 又名relative entropy xff09 mutual information Jensen s inequality f x