机器学习(1) 熵 entropy

熵:反应一个系统的有序程度,熵越高,有序程度越低

熵的本质是香农信息量 (log1p) 的期望。



  • 自信息

用于衡量单一事件发生时所包含的信息量多寡,记作 I(X)

I(x)=logP(x)

P(x) 越小,表示单一事件的发生概率越小,一旦发生,则包含的信息量越多,则 I(x) 越大。若 P(x)=1 ,则自信息量为0。

就像打辩论的时候讲一件众所周知的事情等于没讲一样,不能带来任何信息。



  • 信息熵

对于随机变量 X ,若 X ={ x1,x2,...,xn },其对应概率为 P(X=xi),i=1,2,...n

则随机变量 X 的熵定义为:

H(X)=E[I(X)]=i=1np(xi)logp(xi)

p(xi) 越大,则 H(x) 越小



  • 联合熵

假设 X,Y 的联合分布为 P(X,Y) ,则其信息熵为:

H(X,Y)=E[I(X,Y)]=x,yp(x,y)logp(x,y)



  • 条件熵

条件熵描述了在已知随机变量 X 的值的情况下关于随机变量 Y 的信息熵
H(Y|X=x) 表示在 X=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))=x,yp(x,y)log(p(x,y)p(x))=x,yp(x,y)log(p(x)p(x,y))



  • 条件熵与联合熵:

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



  • 互信息

互信息是指两个随机变量中一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。一般而言,信道中总是存在着噪声和干扰,信源发出消息 x ,通过信道后信宿只可能收到由于干扰作用引起的某种变形的 y 。信宿收到 y 后推测信源发出 x 的概率,这一过程可由后验概率 p(x|y) 来描述。相应地,信源发出 x 的概率 p(x) 称为先验概率。我们定义x的后验概率与先验概率比值的对数为 y x 的互信息量。
离散随机变量 X Y 的互信息定义为

I(X;Y)=x,yp(x,y)log(p(x,y)p(x)p(y))=x,yp(x,y)log(p(x,y))(x,yp(x,y)log(p(x))+x,yp(x,y)log(p(y)))=H(X)+H(Y)H(X,Y)=H(X,Y)H(Y|X)+H(X,Y)H(X|Y)H(X,Y)=H(X,Y)H(Y|X)H(X|Y)

I(X;Y)=0 ,当且仅当 X,Y 互为独立随机变量



  • 交叉熵

H,Q 是两个分布函数,则其交叉熵为:

H(P,Q)=P(x)log(Q(x))dx

现有关于样本集的两个概率分布 P Q ,其中 P 为真实分布, Q 为非真实分布。按照真实分布 P 来衡量识别一个样本所需要的编码长度的期望(即平均编码长度)为
H(P)=iP(i)log1P(i)

如果使用错误分布 Q 来表示来自真实分布 P 的平均编码长度,则应该为
H(P,Q)=iP(i)log1Q(i)

因为用 Q 来编码的样本来自分布 P ,所以期望 H(P,Q) 中概率是 P(i) H(P,Q) 我们称之为“交叉熵”。

比如含有4个字母(A,B,C,D)的数据集中,真实分布 P=(12,12,0,0) ,即A和B出现的概率均为 12 ,C和D出现的概率都为 0 。计算H(P)为1,即只需要1位编码即可识别A和B。如果使用分布 Q=(14,14,14,14) 来编码则得到 H(P,Q)=2 ,即需要2位编码来识别A和B

交叉熵越小,则说明P与Q表示的分布越接近



  • KL散度(相对熵)

表示两个函数或概率分布之间的差异性,差异越大则相对熵越高。当相对熵为0时,表示两者没有差异。

根据非真实分布 P 得到的平均编码长度 H(P,Q) 大于根据真实分布p得到的平均编码长度 H(P) 。事实上,根据Gibbs’ inequality可知, H(P,Q)>=H(P) 恒成立,当 Q 为真实分布 P 时取等号。我们将由 Q 得到的平均编码长度比由 P 得到的平均编码长度多出的bit数称为相对熵

KL(P||Q)=p(x)log(p(x)q(x))dx=H(P,Q)H(P)

Gibbs’ inequality:
P={p1,p2,...,pn} 为真实概率分布
Q={q1,q2,...,qn} 为非真实概率分布,则:
i=1npilog2pii=1npilog2qi,(pi=qi)

Proof:
logba=lnalnb,x>0,lnxx1i=1npilnpii=1npilnqiiI,iIpiln(qipi)iIpi(qipi1)=iIqi+iIpi0iIpilnqiiIpilnpii=1npilnqii=1npilnpi

参考:
https://www.zhihu.com/question/41252833/answer/108777563
https://en.wikipedia.org/wiki/Gibbs%27_inequality
http://blog.csdn.net/u012436149/article/details/54287435

你可能感兴趣的:(机器学习)