概念
相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。
在机器学习中,P往往用来表示样本的真实分布,Q用来表示模型所预测的分布,那么KL散度就可以计算两个分布的差异,也就是Loss损失值。
DKL(p∣∣q)=i=1∑np(xi)log(q(xi)p(xi))
从KL散度公式中可以看到Q的分布越接近P(Q分布越拟合P),那么散度值越小,即损失值越小。
因为对数函数是凸函数,所以KL散度的值为非负数。
有时会将KL散度称为KL距离,但它并不满足距离的性质:
- KL散度不是对称的;
- KL散度不满足三角不等式。
计算 KL 散度的示例
让我们通过一个具体的例子来计算 KL 散度。
假设 P 和 Q 是两个一维正态分布:
- P∼N(μP,σP2)
- Q∼N(μQ,σQ2)
KL 散度的计算公式为:
DKL(P∥Q)=∫−∞∞p(x)logq(x)p(x)dx
对于正态分布,这个积分有解析解:
DKL(P∥Q)=logσPσQ+2σQ2σP2+(μP−μQ)2−21