KL散度的通俗易懂理解
一、第一种理解
相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。
KL散度是两个概率分布P和Q差别的非对称性的度量。
KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
根据shannon的信息论,给定一个字符集的概率分布,我们可以设计一种编码,使得表示该字符集组成的字符串平均需要的比特数最少。假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码平均需要的比特数等于这个字符集的熵: H(X)=∑x∈XP(x)log[1/P(x)]
在同样的字符集上,假设存在另一个概率分布Q(X)。如果用概率分布P(X)的最优编码(即字符x的编码长度等于log[1/P(x)]),来为符合分布Q(X)的字符编码,那么表示这些字符就会比理想情况多用一些比特数。KL-divergence就是用来衡量这种情况下平均每个字符多用的比特数,因此可以用来衡量两个分布的距离。即:
DKL(Q||P)=∑x∈XQ(x)[log(1/P(x))] - ∑x∈XQ(x)[log[1/Q(x)]]=∑x∈XQ(x)log[Q(x)/P(x)] 由于-log(u)是凸函数,因此有下面的不等式
DKL(Q||P) = -∑x∈XQ(x)log[P(x)/Q(x)] = E[-logP(x)/Q(x)] ≥ -logE[P(x)/Q(x)] = - log∑x∈XQ(x)P(x)/Q(x) = 0
即KL-divergence始终是大于等于0的。当且仅当两分布相同时,KL-divergence等于0。
===========================
举一个实际的例子吧:比如有四个类别,一个方法A得到四个类别的概率分别是0.1,0.2,0.3,0.4。另一种方法B(或者说是事实情况)是得到四个类别的概率分别是0.4,0.3,0.2,0.1,那么这两个分布的
KL-Distance(A,B)=0.1*log(0.1/0.4)+0.2*log(0.2/0.3)+0.3*log(0.3/0.2)+0.4*log(0.4/0.1) 这个里面有正的,有负的,可以证明KL-Distance()>=0.
从上面可以看出, KL散度是不对称的。即KL-Distance(A,B)!=KL-Distance(B,A)
KL散度是不对称的,当然,如果希望把它变对称,Ds(p1, p2) = [D(p1, p2) + D(p2, p1)] / 2.
二、第二种理解
今天开始来讲相对熵,我们知道信息熵反应了一个系统的有序化程度,一个系统越是有序,那么它的信息熵就越低,反之就越高。下面是熵的定义
如果一个随机变量X的可能取值为,对应的概率为,则随机变量X的熵定义为
有了信息熵的定义,接下来开始学习相对熵。
1. 相对熵的认识 相对熵又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度(即KL散度)等。设p(x)和q(x) 是X取值的两个概率概率分布,则p对q的相对熵为
在一定程度上,熵可以度量两个随机变量的距离。KL散度是两个概率分布P和Q差别的非对称性的度量。KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
2. 相对熵的性质 相对熵(KL散度)有两个主要的性质。如下
(1)尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即
(2)相对熵的值为非负值,即
在证明之前,需要认识一个重要的不等式,叫做吉布斯不等式。内容如下
3. 相对熵的应用 相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增 大时,它们的相对熵也会增大。所以相对熵(KL散度)可以用于比较文本的相似度,先统计出词的频率,然后计算 KL散度就行了。另外,在多指标系统评估中,指标权重分配是一个重点和难点,通过相对熵可以处理。
三、用在CF中
第一,KLD需要概率(脸颊和1),但是用评分。
第二,后面两项的作用。
转自:http://www.cnblogs.com/hxsyl/p/4910218.html
KL散度的通俗易懂理解相关推荐
- 关于KL散度的一些理解
前言 在阅读相关文献时,看到了关于交叉熵和相对熵的概念,交叉熵比较熟悉了,一般用在多分类损失的衡量,但是相对熵见得比较少,故查阅了一些资料,以供自己日后复习查阅. 正文 在概率论或信息论中,KL散度( ...
- VAE系列之KL散度推导和理解
储备知识 多维高斯公式的表达和推导 一维正态分布都为大家所熟知: N(x;μ,σ2)=12πσ2exp(−(x−μ)22σ2)N(x;\mu,\sigma^2) = \frac{1}{\sqrt{2\ ...
- 一点对 KL 散度的理解
在深度学习中经常用到的一个概念是 KL散度.之前对KL散度进行过一次理解,但后来随着利用次数的减少,开始忘却其具体的定义与物理意义,仅在印象中记得是"描述两个分布的相似度的度量". ...
- kl散度的理解_以曲率的视角理解自然梯度优化
一个故事 我要讲一个故事:一个你几乎肯定听过的故事,但它的侧重点与你习以为常关注的不同. 所有现代深度学习模型都使用梯度下降进行训练. 在梯度下降的每个步骤中,您的参数值从某个起始点开始,然后将它们移 ...
- 如何理解K-L散度(相对熵)
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵.在概率学和统计学上,我们经常会使用一种更简单的.近似的分布来替代观察数据或 ...
- “交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”
[本文内容是对下面视频的整理和修正] "交叉熵"如何做损失函数?打包理解"信息量"."比特"."熵"."KL散 ...
- 信息熵、交叉熵、KL散度公式的简单理解
整理:我不爱机器学习 1 信息量 信息量是对信息的度量,就跟时间的度量是秒一样,考虑一个离散的随机变量 x 的时候,当观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢? 例如听到太阳从东方升 ...
- 熵、KL散度、交叉熵公式及通俗理解
熵 根据香农信息论中对于熵的定义,给定一个字符集,假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码(哈夫曼编码)平均需要的比特数等于这个字符集的熵. 如果字符集中字符概率越趋于平均, ...
- K-L散度(相对熵)的理解
信息量III 消息中有意义的内容成为信息.信息量函数:I=−lnpiI=-lnp_iI=−lnpi其中,pip_ipi是事件xix_ixi的发生概率. 信息熵HHH 它是用来对信息度量,描述信息 ...
最新文章
- 对象特性-构造函数和析构函数
- 《JAVA与模式》之合成模式
- Redis 中的过期元素是如何被处理的?「视频版」——面试突击 002 期
- 3W | 跟着小小学会这些 Java 工程师面试题,月薪至少 3 W
- EMNLP2021 论文预讲会,邀你一起共赏自然语言处理学术盛宴(日程全公开)
- Android ListView + ArrayAdapter、SimpleAdapter、BaseAdapter实现列表
- 分布式存储中HDFS与Ceph两者的区别是什么,各有什么优势?
- 我用 Python 抓取了 7000 多本电子书
- 浅谈Spring中Bean的生命周期
- Nexus3 功能介绍
- 电脑出现您的计算机配置似乎正确的,Win10提示你的计算机配置似乎是正确的怎么解决?...
- 手机通过蓝牙与电脑共享网络
- 机器学习流程是什么?简述机器学习流程!
- 实验一:数据结构之顺序表例程 简易电话薄
- 地塞米松/多柔比星/胡桃醌/丹皮酚-PLGA聚乳酸-羟基乙酸纳米粒
- 探探提醒对方账号异常_我告诉你探探中对方账号异常怎么回事
- HTML 设置背景图片自适应
- AngularJS 基础入门-姜威-专题视频课程
- Windows安全机制——UAC(用户权限控制)
- 定位尺寸的严重错误在哪里?