信息熵 交叉熵 相对熵 条件熵

来源:互联网 发布:韩剧软件 编辑:程序博客网 时间:2024/06/07 22:01

    • 信息熵
    • 交叉熵
    • 相对熵
    • 联合熵
    • 条件熵
    • 参考文献

根据香农公式,信息量等于log(1p)
交叉熵常作为机器学习中的损失函数;
条件熵作为最大熵模型的优化目标;

1. 信息熵

熵的本质是信息量的期望:

H(X)=xp(x)log(1p(x)=xp(x)log(p(x))

其中,p 是真实的分布;


2. 交叉熵

现在假设一个估计分布q,则交叉熵即为:

H(p,q)=xp(x)log(1q(x)

H(p,q)>=H(p),当p=q时,等式成立。

交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。

分析原因:

一组含有m个样本的数据集X={x(1),x(2),...,x(m)},样本之间独立,服从于生成分布pdata(x),现在我们学习一个模型pmodel(x,θ),通过最大似然函数估计θ

argmaxθimpmodel(y|xi,θ)

取对数:
argmaxθimlog(pmodel(y|xi,θ))
因为当我们重新缩放代价函数时 argmax 不会改变,我们可以除以 m 得到和训练数据经验分布 p^data 相关的期望作为准则:
argmaxθExp^datalog(pmodel(y|xi,θ))

通过KL散度计算两个分布之间的差异,最小化差异相当于最小化交叉熵(下结介绍)。


3. 相对熵

相对熵用来衡量两个分布之间的差异,又叫做KL散度;(重采样使用一个简单的q分布替代原始的p分布);

D(p||q)=H(p,q)H(p)=xp(x)log(p(x)q(x))

发现:最小化KL散度时,xp(x)log(p(x))是不会改变,后一项是交叉熵,因此最小化相对熵就是在最小化两个分布之间的交叉熵。

比如TD-IDF算法就可以理解为相对熵的应用:词频在整个语料库的分布与词频在具体文档中分布之间的差异性


4.联合熵

两个随机变量X,Y,联合分布为p(X=x,Y=y),则联合熵为:

H(X,Y)=x,yp(x,y)log(1p(x,y))=x,yp(x,y)log(p(x,y))


5.条件熵

两个随机变量的条件概率为:p(Y|X=x),在 X的前提下,Y的不确定程度即为条件熵(X发生的前提下,Y新带来熵);

H(Y|X)=xp(x)H(Y|X=x)=xp(x)yp(y|x)log(p(y|x))=x,yp(x,y)log(p(y|x))

在最大熵模型中,数据集<xi,yi>,模型的分布为p(x,y)
从数据集中可以计算出经验联合分布p^(x,y),以及X的边缘分布p^(x)
假定模型期望等于经验分布的期望,即:

Ep(f)=Ep^(f)

x,yp(x,y)f(x,y)=x,yp^(x,y)f(x,y)

x,yp^(x)p(y|x)f(x,y)=x,yp^(x,y)f(x,y)

最大P(Y|X)的条件熵:
maxH(P(Y|X))=maxx,yp(x,y)log(p(y|x)=maxx,yp^(x)p(y|x)log(p(y|x))s.t.Ep(f)=Ep^(f)yp(y|x)=1

参考文献

https://www.zhihu.com/question/41252833

原创粉丝点击