KL divergence(KL 散度)详解

本文用一种浅显易懂的方式说明KL散度。
参考资料

KL散度本质上是比较两个分布的相似程度。

现在给出2个简单的离散分布,称为分布1和分布2.

分布1有3个样本,

其中A的概率为50%, B的概率为40%,C的概率为10%

分布2也有3个样本:

其中A的概率为50%,B的概率为10%,C的概率为40%。

现在想比较分布1和分布2的相似程度。

直观看上去分布1和分布2中样本A的概率是一样的,仅仅B和C的概率换了一下。

分布应该是相似的,但是如何量化来看呢。

可以这样做,用分布1的各个样本的概率和分布2样本概率做比值,相加再求平均。

现假设分布1的概率分布为P,分布2的概率分布为Q,

那么P(A) = 0.5, P(B)=0.4, P( C) = 0.1

Q(A) = 0.5, Q(B) = 0.1, Q( C) = 0.4,

各样本概率做比值之后为:

P(A)/Q(A) + P(B)/Q(B) + P( C)/Q( C) = 1+4+1/4

再对3个样本取平均: (1+4+1/4) / 3 = 1.75

这就是我们想要的分布1和分布2的相似度。

不过有一个问题,

可以看到P(B)和Q(B), P( C)和Q( C)仅仅概率做了交换,它们的相似度大小应该是一样的(仅仅方向不一样),

也就是说P(B)/Q(B), P( C)/Q( C)的绝对值应该是一样的,符号不一样。

但是现在,哪个分子大哪个结果就大,这是不应该的,

想要这样一个函数来解决这个问题,

f(4) = y

f(1/4) = -y,

这里的4为P(B)/Q(B), 1/4为P( C)/Q( C),

经过f(x)后得到的应该是同样的相似度大小,只是方向不一样,一个是变大的方向,一个是变小的方向,用负号表示方向的不同。

那么什么样的函数能满足f(x)呢,

可以取几个值画一下,你会发现,这个f(x)就是log(x)。

那么现在把刚才的相似度修改一下,

把简单的P(x)/Q(x)换成log(P(x) / Q(x)).

于是变为: ∑ 1 n l o g P ( x ) Q ( x ) / n \sum_{1}^{n} log\frac{P(x)}{Q(x)} / n 1∑nlogQ(x)P(x)/n

对样本取平均值表示每个样本的weight都是1/n,

不要取这么平均,把weight改为P(x),

那么就得到 ∑ 1 n P ( x ) l o g P ( x ) Q ( x ) \sum_{1}^{n} P(x) log\frac{P(x)}{Q(x)} 1∑nP(x)logQ(x)P(x)

这就是我们熟悉的KL散度,它比较的是分布P和分布Q的相似度。

"||"右边的Q表示是reference分布。

K L ( P ∣ ∣ Q ) = ∑ 1 n P ( x ) l o g P ( x ) Q ( x ) KL(P||Q) = \sum_{1}^{n} P(x) log\frac{P(x)}{Q(x)} KL(P∣∣Q)=1∑nP(x)logQ(x)P(x)

相关推荐
gorgeous(๑>؂<๑)5 分钟前
【中国科学院光电研究所-张建林组-AAAI26】追踪不稳定目标:基于外观引导的运动建模在无人机拍摄视频中实现稳健的多目标跟踪
人工智能·机器学习·计算机视觉·目标跟踪·无人机
美狐美颜sdk12 分钟前
企业级直播美颜SDK与动态贴纸SDK开发技术方案拆解与落地实践
android·人工智能·计算机视觉·第三方美颜sdk·人脸美型sdk
不如语冰13 分钟前
AI大模型入门1.1-python基础-数据结构
数据结构·人工智能·pytorch·python·cnn
oscar99923 分钟前
机器学习实战:多项式回归建模——从模拟数据到模型评估
人工智能·机器学习·回归
五羟基己醛27 分钟前
【半小时入门深度学习】从零开始的Pytorch入门指南
人工智能·深度学习
喜欢吃豆27 分钟前
企业级 AI 系统分层存储架构深度研究报告
人工智能·架构·大模型·2025博客之星
北京地铁1号线29 分钟前
BERT(Bidirectional Encoder Representations from Transformers)架构详解
人工智能·深度学习·bert
低调小一30 分钟前
Kotlin 2025–2026 客户端开发路线:语言升级 × 跨端落地 × AI Agent 入门
开发语言·人工智能·kotlin
ThinkPet44 分钟前
【AI】大模型知识入门扫盲以及SpringAi快速入门
java·人工智能·ai·大模型·rag·springai·mcp
汽车仪器仪表相关领域1 小时前
双组分精准快检,汽修年检利器:MEXA-324M汽车尾气测量仪项目实战全解
大数据·人工智能·功能测试·测试工具·算法·机器学习·压力测试