美文网首页
KL Divergence : 衡量两个分布的差异

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

作者: 数科每日 | 来源:发表于2022-02-11 02:01 被阅读0次

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

    简介

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

    • 不满足对称性: D_{\mathrm{KL}}(P \| Q) \neq D_{\mathrm{KL}}(Q \| P)
    • 不满足三角形法则: D_{\mathrm{KL}}(P \| Q) \neq D_{\mathrm{KL}}(P \| V) + D_{\mathrm{KL}}(V \| Q)

    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 往往代表 模型预测的分布,理论分布

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

    相关文章

      网友评论

          本文标题:KL Divergence : 衡量两个分布的差异

          本文链接:https://www.haomeiwen.com/subject/zkrjfrtx.html