KL散度用来衡量两个概率分布之间的差异的量化方法,在机器学习领域,KL散度经常被用来评估模型预测结果与真实结果相似程度。可以通过计算两个概率分布之间的交叉熵得到。在实际应用中,通常被用来优化模型参数、比较不同模型的性能以及进行数据聚类。
KL散度并不是对称的,既:KL(P/Q)与 KL(Q/P)的值可能不同。因此,在使用KL散度进行量化时,需要选择一个作为基准分布的概率分布。
Probability: 取值0~1, p(x)或者q(x),
Information: 对p(x)取对数,加上负号取得正值。I(p) = -: 概率p(x)越高,包含的信息小,因为事件越来越确定。相反,概率越低,包含的信息越多,因为事件具有很大的不确定性。
(Shannon)Entropy: p(x)对I(p)的平均, 熵衡量的是分布的无序性;所有可能发生事件所带来的信息量的期望
Cross-Entropy: p(x)对I(q)的平均
KL divergence(Relative entropy/Information gain): 又叫相对熵( = 交叉熵 - shannon熵;非对称:KL(P/Q) KL(Q/P),亦不满足三角不等式,故不是距离;
计算实例: