KL散度

KL散度(Kullback-Leibler divergence,简称 KLD),又称相对熵(Relative Entropy)或信息散度。在信息论中,Kullback-Leibler(KL)散度是用于衡量两个概率分布之间的差异性的。在分类问题中,我们有两个不同的概率分布:第一个分布对应着我们真实的类别标签,在这个分布中,所有的概率质量都集中在正确的类别上(其他类别上为 0);第二个分布对应着我们的模型的预测,这个分布由模型输出的原始分数经过softmax函数转换后得到。

1. 核心概念

  • 度量差异:KL散度的主要作用是量化一个概率分布𝑄(通常是模型的预测分布或近似分布)与另一个参考概率分布𝑃(通常是真实数据分布或目标分布)有多大的不同。
  • 信息损失:从信息论的角度来看,KL散度表示当我们使用近似分布 𝑄 来代替真实分布 𝑃 时,平均会损失多少信息或产生多少额外的“意外性”(surprisal)。
  • 非对称性:KL散度不是一个真正的“距离”度量,因为它不满足数学上的对称性,即𝐷𝐾𝐿(𝑃||𝑄)≠𝐷𝐾𝐿(𝑄||𝑃)

31E0650E2D6C3B92022DD4E15C3CF1F1

2. 主要特点

  • 非负性:KL散度的值恒大于等于 0。只有当两个分布𝑃𝑄完全相同时,KL散度才等于 0。
  • 取值范围:取值范围为[0,+∞)。值越大,表示两个分布的差异越大。
应用场景
KL散度在机器学习和数据科学中有广泛的应用:
  • 模型评估:用于评估模型预测的分布与实际数据分布的接近程度。
  • 变分自编码器(VAE):在 VAE 中,KL散度被用作正则化项,衡量潜变量的分布先验分布(通常是标准正态分布)之间的差异。
  • 强化学习:用于策略优化的算法中,确保新策略不会与旧策略偏离太远。
  • 异常检测:通过比较数据点与正常数据分布的KL散度来识别异常值。
  • 特征工程:用于衡量不同特征与目标变量之间的信息增益。

将交叉熵损失理解为两个概率分布之间的 KL 散度,也可以帮助我们理解数据噪声的问题。很多数据集都是部分标记的或者带有噪声(即标签有时候是错误的),如果我们以某种方式将这些未标记的部分也分配上标签,或者将错误的标签看作是从某个概率分布中取样得到的,那么我们依然可以使用最小化 KL 散度的思想(在这种情况下,真实分布已经不再将所有的概率质量都集中在单个标签上了)。

参考资料:

1. 《信息论》

2. Picking Loss Functions - A comparison between MSE, Cross Entropy, and Hinge Loss

3.信息论之联合熵、边缘熵、条件熵、交叉熵

posted @ 2025-11-05 16:28  PKICA  阅读(69)  评论(0)    收藏  举报