KL散度的简单理解
什么是KL散度§
KL散度,也叫作相对熵,全称是Kullback-Leibler divergence,是由Kullback和Leibler在1951年提出的。
KL散度用于衡量两个概率分布之间的相似程度,如对于随机变量Q的概率分布,相对于随机变量P的概率分布的KL散度定义为:
DKL(P∣∣Q)=H(P,Q)−H(P)
其中H(P)表示随机变量P的熵,离散形式为H(P)=−∑ip(i)logp(i),类似的H(P,Q)=−∑ip(i)logq(i),p(i)为P的概率分布,q(i)为Q的概率分布。(其实也就是交叉熵公式)计算过程有:
DKL(P∣∣Q)=H(P,Q)−H(P) =−i∑p(i)logq(i)−(−i∑p(i)logp(i)) =i∑p(i)logq(i)p(i)
上面的是离散形式,相对的,还有连续形式:
DKL(P∣∣Q)=∫p(x)logq(x)p(x)dx
KL散度的两个特点§
1. 非对称性§
对于概率分布p和概率分布q而言,DKL(P∣∣Q)=DKL(Q∣∣P),其中DKL(P∣∣Q)指的是Q相当于P的KL散度。
为了解决KL散度非对称性的问题,因此,有提出JS散度,它的定义如下:
DJS=2DKL(P∣∣M)+DKL(Q∣∣M)
其中M=2P+Q,是两个概率分布的平均值。
2. 非负性§
当P和Q分布是一样时,此时DKL等于0,当分布不同时,可以证明DKL是大于0的。
因为logx≤x−1,
所以,
−DKL=−i∑p(i)logq(i)p(i)= i∑p(i)logp(i)q(i)≤ i∑p(i)(p(i)q(i)−1)=0
即有,DKL≥0。
评论