从相对熵的经计算公式:
DKL=(P∥Q)=i∑P(i)lnQ(i)P(i).
变形可以得到:
DKL(p∥q)=i=1∑np(xi)log(p(xi))−i=1∑np(xi)log(q(xi))=−H(p(x))+[−i=1∑np(xi)log(q(xi))]
其中前半部分H(p(x))就是q的熵的负数,而后半部分我们称之为交叉熵:
H(p,q)=−i=1∑np(xi)log(q(xi))
在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即DKL(y||ŷ )DKL(y||y^),由于KL散度中的前一部分−H(y)−H(y)不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。
【参考】
【来源】