KL散度(Kullback–Leibler divergence)

统计学上,KL散度用来衡量一个概率分布Q对另一个概率分布P偏离的程度,记为 DKL(P||Q) . 在信息论的编码理论中,KL散度也称为相对熵(relative entropy)或信息增益(information gain). 在,用来度量使用 Q 的最优编码(而不是使用P的最优编码)来编码来自 P 的样本平均额外所需的比特数,即用概率分布Q来拟合真实分布 P 时产生的信息损耗

由香农信息论,给定一个字符集的概率分布,可以设计一种编码,使得表示该字符集组成的字符串平均需要的比特数最少. 假设这个字符集是X xX x 出现的概率为P(x),那么其最优编码所需要的比特数等于这和字符集的(entropy):

H(x)=xXP(x)logP(x)

假设在字符集 X 上的另一个分布Q(x) ,则使用 Q 来编码平均每个字符编码所多需要的比特数(即KL散度)为:
DKL(P||Q)=xXP(x)logQ(x)(xXP(x)logP(x))=xXP(x)logP(x)Q(x)

X 为连续型随机变量时,KL散度形式为:
DKL(P||Q)=p(x)logp(x)q(x)dx

其中 p(x),q(x) 为对应分布的密度函数。

直观上来看,KL散度是对两个概率分布“距离”的度量。但实际上,它并不是一个真正的距离:KL散度违反了三角形不等式和对称性 DKL(P||Q)DKL(Q||P)
事实上, DKL(P||Q)0 。由于对数函数是上凸函数,所以:

DKL(P||Q)=p(x)logp(x)q(x)dx=E[logp(x)q(x)]=E[logq(x)p(x)]logp(x)q(x)p(x)dx=logq(x)dx=0

当且仅当 p(x)=q(x) 时,等号成立。即两个分布相同时,KL散度为0。

你可能感兴趣的:(math,KL散度)