KL Divergence

作用:衡量 两个分布之间的距离
为什么不对称 :-> 计算两个分布之间的不同,从分布 A 的角度看分布 B 的相似程度
特点

  • 1.非负性::<-> $\mathrm{KL}(\mathrm{P} | \mathrm{Q}) \geq 0$
  • 2.非对称性 :<-> $K L(P | Q) \neq K L(Q | P)$
  • 3.当且仅当 $P=Q$ 时 :<-> $K L(P | Q)=0$
    一个分布相比于另外一个分布的信息损失。

$$D_{K L}(A | B)=\sum_{i} P_{A}\left(x_{i}\right) \log \left(\frac{P_{A}\left(x_{i}\right)}{P_{B}\left(x_{i}\right)}\right)=\sum_{i} P_{A}\left(x_{i}\right) \log \left(P_{A}\left(x_{i}\right)\right)-P_{A}\left(x_{i}\right) \log \left(P_{B}\left(x_{i}\right)\right)$$
A和B的交叉熵 = A与B的KL散度 - A的熵。

  • ${D_{K L}(A | B)=H(A, B)-H(A)}$
    机器学习模型学到的分布和真实数据的分布越接近越好,但是现实中只能让模型学到的分布和训练数据的分布尽量相同,即 KL 散度最小。

  • 熵 H(A) 是不依赖 B 的常数,固定 A,根据上面的公式最小化 KL 相当于最小化 H(A, B)。

  • 由于训练数据是固定的,H(A) 不变。

  • 如果 A 是固定的,关于 B 的优化 KL 散度等于优化交叉熵。

P 真实样本的分布,Q模型预测样本的分布,如果 Q 越接近 P,散度就越小。散度的值非负。

  • P 是未知分布,Q 是已知分布

  • $D(p | q)=\sum_{x} p(x) \log \frac{p(x)}{q(x)}=E_{p(x)}\left(\log \frac{p(x)}{q(x)}\right)$
    [[@百面机器学习]]

  • KL 距离不是真正的距离,不满足 三角形不等式交换律
    KL散度理解 - 知乎

  • 如何证明 KL 散度大于等于 0 #card

    • $\begin{aligned} \mathrm{KL}(P | Q) & =\int P(x) \ln \frac{P(x)}{Q(x)} d x \ & =-\int P(x) \ln \frac{Q(x)}{P(x)} d x \ & \geq-\int P(x)\left(\frac{Q(x)}{P(x)}-1\right) d x \ & =-\int Q(x)-P(x) d x \ & =0\end{aligned}$

    • 推导中第三行利用不等式 $ln(x) \le x-1$

    • 最后一行 $Q(x)$ 和 $P(x)$ 都是概率密度函数,所以积分值都等于1

  • 最小化 Kullback-Leibler 散度等价于最大化似然函数

作者

Ryen Xiang

发布于

2025-06-07

更新于

2025-06-07

许可协议


网络回响

评论