KL散度(Kullback-Leibler divergence,简称KLD),在讯息系统中称为相对熵(relative entropy),在连续时间序列中称为随机性(randomness),在统计模型推断中称为讯息增益(information gain)。也称讯息散度(information divergence)。
KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的分布来编码服从P的分布的样本所需的额外的平均比特数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布、估计的模型分布、或P的近似分布。
在机器学习中,P往往用来表示样本的真实分布,比如[1,0,0]表示当前样本属于第一类。Q用来表示模型所预测的分布,比如[0.7,0.2,0.1]
直观的理解就是如果用P来描述样本,那么就非常完美。而用Q来描述样本,虽然可以大致描述,但是不是那么的完美,信息量不足,需要额外的一些“信息增量”才能达到和P一样完美的描述。如果我们的Q通过反复训练,也能完美的描述样本,那么就不再需要额外的“信息增量”,Q等价于P。
相对熵越小,表示P和Q的分布越接近。
对于离散随机变量,其概率分布P 和 Q的KL散度可按下式定义为
DKL(P∥Q)=−i∑nP(i)lnP(i)Q(i).
等价于
DKL=(P∥Q)=i∑P(i)lnQ(i)P(i).
即按概率P求得的P和Q的对数商的平均值。KL散度仅当概率P和Q各自总和均为1,且对于任何i皆满足$ P(i)>0及P(i)>0$,才有定义。式中出现0ln0的情况,其值按0处理。
对于连续随机变量,其概率分布P和Q可按积分方式定义为:
DKL(P∥Q)=∫−∞∞p(x)lnq(x)p(x)dx,
其中p和q分别表示分布P和Q的密度。
更一般的,若P和Q为集合X的概率测度,且P关于Q绝对连续,则从P到Q的KL散度定义为
DKL(P∥Q)=∫XlndQdPdP,
其中,假定右侧的表达形式存在,则dPdQ为Q关于P的R–N导数。
相应的,若P关于Q绝对连续,则
DKL(P∥Q)=∫XlndQdPdP=∫XdQdPlndQdPdQ,
即为P关于Q的相对熵。
相对熵的值为非负数:
DKL(P∥Q)≥0,
由吉布斯不等式可知,当且仅当P=Q时DKL(P∥Q)为零。
尽管从直觉上KL散度是个度量或距离函数, 但是它实际上并不是一个真正的度量或距离。因为KL散度不具有对称性:从分布P到Q的距离通常并不等于从Q到P的距离。
DKL(P∥Q)=DKL(Q∥P)
I(m)=DKL(δim∥{pi}),
I(X;Y)=DKL(P(X,Y)∥P(X)P(Y))=EX{DKL(P(Y∣X)∥P(Y))}=EY{DKL(P(X∣Y)∥P(X))}
H(X)=(i)Ex{I(x)}=(ii)logN−DKL(P(X)∥PU(X))
H(X∣Y)=logN−DKL(P(X,Y)∥PU(X)P(Y))=(i)logN−DKL(P(X,Y)∥P(X)P(Y))−DKL(P(X)∥PU(X))=H(X)−I(X;Y)=(ii)logN−EY{DKL(P(X∣Y)∥PU(X))}
H(p,q)=Ep[−logq]=H(p)+DKL(p∥q).
【参考】
-
相对熵
-
一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉
-
Kullback, S.; Leibler, R.A. On Information and Sufficiency. Annals of Mathematical Statistics. 1951, 22 (1): 79–86. MR 39968. doi:10.1214/aoms/1177729694.
-
Kullback, S.; Leibler, R.A. On information and sufficiency. Annals of Mathematical Statistics. 1951, 22 (1): 79–86. MR 39968. doi:10.1214/aoms/1177729694.
-
C. Bishop (2006). Pattern Recognition and Machine Learning. p. 55.