KL Divergence : 衡量两个分布的差异

2022-02-11  本文已影响0人  数科每日

在机器学习中,我们会和各种分布打交道, 如何比较模型输出的分布与真实分布的差距呢? 我们可以使用信息论中的 KL Divergence (Kullback–Leibler divergence) 。

简介

在统计学中, KL散度 (KL Divergence) D_{\mathrm{KL}}(P \| Q) 用来表示两个分布之间的距离, 也被成为 相对熵 (relative entropy) 。 注意,这里是统计距离, 它不符合我们常用的欧式距离的一些性质,比如:

D_{\mathrm{KL}}(P \| Q) = 0 意味着分布 P 和分布 Q 完全相等。

定义

KL Divergence

也可以写成为:

image.png
一个限制

注意, 这里对x 有一个要求, 当 Q(x) = 0 必须 P(x) = 0, 这主要为了解决 log(0) 没有定义的问题。当 P(0) =0 时 , D_{KL}(P||Q)=0 因为 :

\lim _{x \rightarrow 0^{+}} x \log (x)=0

连续分布

当 P 和 Q 是连续分布的时候, 公式变为:

KL 在连续分布上的形式

例子

假设, P 和 Q 分布如下:

分布

那么对应的 KL Divergence 为 :

KL Divergence

注意: D_{\mathrm{KL}}(P \| Q) \neq D_{\mathrm{KL}}(Q \| P)

解释

源于 D_{\mathrm{KL}}(P \| Q) 可以从不同的角度去解释:

机器学习

D_{\mathrm{KL}}(P \| Q) 被称为: 用P替代Q以后, 获得的信息增益 (information gain)。

信息论

D_{\mathrm{KL}}(P \| Q) 被称为P对Q的相对熵 (relative entropy)。

贝叶斯

D_{\mathrm{KL}}(P \| Q) 代表, 当一个人的信念从先验分布 Q 转变成 后验分布 P 时, 这个人获得的信息增益。 反过来说, 如果真实分布是 P, 而你用 Q 去拟合 , 那么你的信息损失就是 D_{\mathrm{KL}}(P \| Q)

约定俗成:

在实际中, 对P和Q , 有些常用的约定

在机器学习中, P 代表答案, Q 代表模型输出, 训练的过程, 就是让模型的 D_{\mathrm{KL}}(P \| Q) 减小的过程。

上一篇下一篇

猜你喜欢

热点阅读