詹森 - 香农散度


  1. 定义
  2. JS divergence(Jensen - Shannon divergence)即詹森 - 香农散度,是一种衡量两个概率分布之间相似性的度量方法。它基于信息论中的KL散度(Kullback - Leibler divergence)构建。对于两个概率分布(P)和(Q),首先定义(M=\frac{1}{2}(P + Q)),那么JS散度的计算公式为(JSD(P||Q)= \frac{1}{2}KL(P||M)+\frac{1}{2}KL(Q||M)),其中(KL)散度(KL(A||B)=\sum_{x}A(x)\log\frac{A(x)}{B(x)})(在离散情况下)。本质上,JS散度是对KL散度非对称性的一种改进,它的值域是([0,\log 2]),当且仅当(P = Q)时,(JSD(P||Q) = 0)。
  3. 在机器学习中的应用
  4. 生成对抗网络(GAN)
    • 在GAN中,生成器(Generator)试图生成与真实数据分布相似的数据,判别器(Discriminator)则要区分生成数据和真实数据。JS散度被用来衡量生成器生成的数据分布(P_G)和真实数据分布(P_{data})之间的差异。训练的目标是最小化这个散度,使得生成器生成的样本越来越接近真实样本。例如,在图像生成任务中,通过不断调整生成器的参数,降低(P_G)和(P_{data})之间的JS散度,最终生成逼真的图像。
  5. 模型比较和选择
    • 当有多个机器学习模型(例如不同架构的神经网络)对同一数据集进行概率预测时,JS散度可以用来比较这些模型预测结果的分布差异。假设有模型(A)和模型(B)对一个分类任务进行概率预测,通过计算它们预测结果的JS散度,可以判断两个模型在预测分布上的相似性,从而帮助选择更合适的模型或者对模型进行融合。
  6. 与其他散度的比较
  7. 与KL散度的比较
    • KL散度(KL(P||Q))衡量的是当用概率分布(Q)来近似概率分布(P)时所损失的信息量,它具有不对称性,即(KL(P||Q)\neq KL(Q||P))。而JS散度是对称的,这使得它在一些需要考虑双向差异的场景中更合适。例如,在比较两个具有相似地位的概率分布(如两个不同但相关的数据源的分布)时,JS散度能提供更公平的相似性度量。
    • KL散度在(P(x))不为零而(Q(x))为零时会出现无穷大的情况,JS散度通过取平均的方式避免了这种情况,使得它在处理实际数据时更加稳健。
  8. 与其他相似性度量的比较
    • 与欧式距离等度量方法相比,JS散度是基于概率分布的信息论度量。欧式距离主要衡量的是样本空间中的几何距离,而JS散度关注的是概率分布的差异。例如,对于两个高斯分布,欧式距离可能只考虑它们的均值和方差在空间中的距离,而JS散度会深入到概率密度函数的层面,考虑它们在整个定义域内的分布差异。