1. 信息量.
某事件
p(x)包含的信息量:
I(p)=logp(x)1=−logp(x)(1)
2. 熵 Entropy.
假设事件
X共有
n种可能,发生
xi的概率为
p(xi),那么事件
X的熵定义为:
H(X)=Ex∼p(x)[I(p(x))]=i=1∑np(xi)I(p(xi))=−i=1∑np(xi)logp(xi)(2)
3. 条件熵 Conditional Entropy.
H(Y∣X)=i=1∑np(xi)H(Y∣X=xi)=−i=1∑np(xi)j=1∑mp(yj∣xi)logp(yj∣xi)=−i,j∑p(xi,yj)logp(xi)p(xi,yj)(3)
4. 联合熵 Joint Entropy.
H(X,Y)=−i,j∑p(xi,yj)logp(xi,yj)(4)
当两个事件独立的时候:
H(X,Y)=−i,j∑p(xi,yj)logp(xi,yj)=−i,j∑p(xi,yj)[logp(xi)+logp(xi)]=H(X)+H(Y)(5)
5. 互信息 Mutual Information.
I(X,Y)=i,j∑p(xi,yj)logp(xi,yj)p(xi)p(yj)=I(Y,X)(6)
6. 相互关系
A. 条件熵+互信息=熵
H(X)=H(Y∣X)+I(X,Y)(7)
B. 熵 + 条件熵 = 联合熵
H(X∣Y)+H(Y∣X)+I(X,Y)=H(Y∣X)+H(X)=H(X,Y)(8)
7. 差异度量
信息熵可以衡量已知一个事件后另一个事件中未知的信息量,未知的信息量越少则两个事件重合度越高,从而,信息熵可以拓展到度量两个分布的距离/差异。
A. 交叉熵 Cross Entropy
CE(X,Y)=Ex∼P(x)[I(q)]=i=1∑np(x)I(q(x))=−i=1∑np(x)logq(x)(9)
交叉熵的**“交叉”体现在用真实分布概率
p(x)加权预测分布的信息量
I(q)**:
B. KL散度 Kullback-Leibler Divergence(相对熵Relative Entropy)
相对熵的关键在于相对,相对体现在真实分布与预测分布的概率之比
q(xj)p(xi),以真实分布概率加权
DKL(p∣∣q)=i=1∑np(xi)logq(xi)p(xi)
DKL(p∣∣q)=i=1∑np(xi)logq(xi)p(xi)=−i=1∑np(xi)logp(xi)q(xi)=−i=1∑np(xi)logq(xi)−(−i=1∑np(xi)logp(xi))=CE(P,Q)−H(P)(10)
也即:KL散度 = 交叉熵 - 熵
在实际应用场景中,真实分布是确定的,故 H§ 是常数,所以 KL 散度与交叉熵仅相差一个常数,从而,在分类任务中,评估预测分布与真实分布的差异可以用交叉熵损失度量。这就是有监督多分类任务一般用交叉熵损失而不用 KL 散度作为目标函数优化的原因。
由
logq(xi)p(xi)可知,当预测分布q与真实分布p完全一致时, KL散度为0,预测越逼近真实分布则 KL 散度越小。
又由加权系数
p(xi)可知,KL散度着重在真实分布中概率大的地方让预测逼近,极端情况下
p(xi)=0处预测分布与真实分布的差异大小不予考虑。如上图例,着重让预测q在两峰逼近p,而忽略谷点。
a. 两个高斯分布的KL散度
DKL(N(x;μx,Σx)∣∣N(y;μy,Σy))=21[log∣Σx∣∣Σy∣−d+tr(Σy−1Σx)+(μy−μx)TΣy−1(μy−μx)](11)
C. KL散度和互信息的关系
DKL(p∣∣q)=i=1∑np(xi)logq(xi)p(xi)(12)
I(X,Y)=i,j∑p(xi,yj)logp(xi,yj)p(xi)p(yj)=I(Y,X)(13)
p=p(x,y),
q=p(x)p(y)时,两个一样。
D. JS散度 Jensen-Shannon Divergence
DJS(p∣∣q)=21DKL(p∣∣2p+q)+21DKL(q∣∣2p+q)(14)
评论(0)