KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy)。它衡量的是相同事件空间里的两个概率分布的差异情况。并不是一种距离度量方式,其物理意义是:在相同事件空间里,概率分布P(x)对应的每个事件,若用概率分布 Q(x)编码时,平均每个基本事件(符号)编码长度增加了多少比特。我们用D(P||Q)表示KL距离,计算公式如下:
(1)
D
(
P
∣
∣
Q
)
=
∑
x
∈
X
P
(
x
)
l
o
g
P
(
x
)
Q
(
x
)
D(P||Q)=\sum_{x\in X} P(x)log\frac{P(x)}{Q(x)} \tag{1}
D(P∣∣Q)=x∈X∑P(x)logQ(x)P(x)(1)
由公式(1)可以知道:
- 当P(x)=Q(x)时,D(P||Q)=0,即其相对熵为零。
- 当P(x)和Q(x)相似度越高时,KL距离越小
- D(P||Q)非负(非负性)
- 不满足对称性,即D(P||Q)≠D(Q||P)
- 不满足三角不等式
下面我们举例来解释一下:
以下列出了三个概率分布,已知真实事件的概率分布为f,如下表达式(2)它只有两种状态(0或1),剩下的两个分布是对f的拟合,如下表达式(3)和(4),求他们与真实分布f的差异。
(2)
f
(
0
)
=
1
2
,
f
(
1
)
=
1
2
f(0)=\frac{1}{2},f(1)=\frac{1}{2}\tag{2}
f(0)=21,f(1)=21(2)
(3)
f
1
∗
(
0
)
=
1
3
,
f
1
∗
(
1
)
=
2
3
f^*_1(0)=\frac{1}{3},f^*_1(1)=\frac{2}{3} \tag{3}
f1∗(0)=31,f1∗(1)=32(3)
(4)
f
2
∗
(
0
)
=
1
4
,
f
2
∗
(
1
)
=
3
4
f^*_2(0)=\frac{1}{4},f^*_2(1)=\frac{3}{4} \tag{4}
f2∗(0)=41,f2∗(1)=43(4)
通过计算我们可以得到:
(5)
D
(
f
∣
∣
f
1
∗
)
=
∑
x
∈
X
f
(
x
)
l
o
g
f
(
x
)
f
1
∗
(
x
)
=
f
(
0
)
l
o
g
f
(
0
)
f
1
∗
(
0
)
+
f
(
1
)
l
o
g
f
(
1
)
f
1
∗
(
1
)
=
1
2
l
o
g
1
2
1
3
+
1
2
l
o
g
1
2
2
3
=
1
2
l
o
g
9
8
\tag{5} D(f||f^*_1) = \sum_{x\in X} f(x)log\frac{f(x)}{f^*_1(x)} = f(0)log\frac{f(0)}{f^*_1(0)}+ f(1)log\frac{f(1)}{f^*_1(1)}\\ = \frac{1}{2}log\frac{\frac{1}{2}}{\frac{1}{3}}+ \frac{1}{2}log\frac{\frac{1}{2}}{\frac{2}{3}} = \frac{1}{2}log\frac{9}{8}
D(f∣∣f1∗)=x∈X∑f(x)logf1∗(x)f(x)=f(0)logf1∗(0)f(0)+f(1)logf1∗(1)f(1)=21log3121+21log3221=21log89(5)
(6)
D
(
f
∣
∣
f
2
∗
)
=
∑
x
∈
X
f
(
x
)
l
o
g
f
(
x
)
f
2
∗
(
x
)
=
f
(
0
)
l
o
g
f
(
0
)
f
2
∗
(
0
)
+
f
(
1
)
l
o
g
f
(
1
)
f
2
∗
(
1
)
=
1
2
l
o
g
1
2
1
4
+
1
2
l
o
g
1
2
3
4
=
1
2
l
o
g
4
3
\tag{6} D(f||f^*_2) = \sum_{x\in X} f(x)log\frac{f(x)}{f^*_2(x)} = f(0)log\frac{f(0)}{f^*_2(0)}+ f(1)log\frac{f(1)}{f^*_2(1)}\\ = \frac{1}{2}log\frac{\frac{1}{2}}{\frac{1}{4}}+ \frac{1}{2}log\frac{\frac{1}{2}}{\frac{3}{4}} = \frac{1}{2}log\frac{4}{3}
D(f∣∣f2∗)=x∈X∑f(x)logf2∗(x)f(x)=f(0)logf2∗(0)f(0)+f(1)logf2∗(1)f(1)=21log4121+21log4321=21log34(6)
由(5)和(6)的计算我们可以知道,较真实数据分布相比,我们拟合的分布平均编码长度增加了,同时第(3)种分布较第(4)种分布的KL距离更小,说明第(3)种分布更接近真实分布。
为了证明其不满足对称性,我们做如下计算:
(7)
D
(
f
2
∗
∣
∣
f
)
=
∑
x
∈
X
f
2
∗
(
x
)
l
o
g
f
2
∗
(
x
)
f
(
x
)
=
f
2
∗
(
0
)
l
o
g
f
2
∗
(
0
)
f
(
0
)
+
f
2
∗
(
1
)
l
o
g
f
2
∗
(
1
)
f
(
1
)
=
1
4
l
o
g
1
4
1
2
+
3
4
l
o
g
3
4
1
2
=
1
4
l
o
g
1
2
+
3
4
l
o
g
3
2
=
1
4
l
o
g
27
16
≠
1
2
l
o
g
4
3
\tag{7} D(f^*_2||f) = \sum_{x\in X} f^*_2(x)log\frac{f^*_2(x)}{f(x)} = f^*_2(0)log\frac{f^*_2(0)}{f(0)}+ f^*_2(1)log\frac{f^*_2(1)}{f(1)}\\ = \frac{1}{4}log\frac{\frac{1}{4}}{\frac{1}{2}}+ \frac{3}{4}log\frac{\frac{3}{4}}{\frac{1}{2}} = \frac{1}{4}log\frac{1}{2}+ \frac{3}{4}log\frac{3}{2} = \frac{1}{4}log\frac{27}{16}≠\frac{1}{2}log\frac{4}{3}
D(f2∗∣∣f)=x∈X∑f2∗(x)logf(x)f2∗(x)=f2∗(0)logf(0)f2∗(0)+f2∗(1)logf(1)f2∗(1)=41log2141+43log2143=41log21+43log23=41log1627̸=21log34(7)
由计算(7)可以知道,KL距离不满足对称性。
KL距离的几个用途:
-
衡量两个概率分布的差异。
-
衡量利用概率分布Q 拟合概率分布P 时的能量损耗,也就是说拟合以后丢失了多少的信息。
-
衡量两个概率分布的相似度,在运动捕捉里面可以衡量未添加标签的运动与已添加标签的运动,进而进行运动的分类。
参考博客:
https://blog.csdn.net/scw1023/article/details/59109922
本文详细介绍了KL距离的概念,它是衡量两个概率分布差异的工具,也称为Kullback-Leibler差异或相对熵。文章通过实例计算展示了如何使用KL距离评估分布间的差异,并指出其非对称性和非满足三角不等式的特性。
951

被折叠的 条评论
为什么被折叠?



