1.前言

信息论(Information Theory)是数学、物理、计算机科学等多个学科的交叉领域。信息论是由香农最早提出,主要研究的是信息的量化、存储和通信等方法。
信息指的是一组消息的集合。在机器学习领域,信息论也有着大量的应用,比如特征抽取、统计推断、自然语言处理等[1]^{\left[ 1 \right]}[1]

2.熵

熵(Entropy)最早是物理学的概念,在信息论中,熵是用来衡量一个随机事件的不确定性。

2.1自信息和熵

自信息表示一个随机事件所包含的信息量。一个随机事件发生的概率越高,其自信息越低。如果一个事件必然发生,其自信息为0.
对于一个随机变量XXX概率分布为p(x)p(x)p(x)自信息的定义为:I(x)=−log⁡p(x) I\left( x \right) =-\log p\left( x \right) I(x)=logp(x)
当地为2的时候,自信息的单位为bit。
对于分布为p(x)p(x)p(x)的随机变量XXX,其自信息的数学期望,基熵H(x)H(x)H(x)定义为:H(X)=EX[I(x)] H\left( X \right) =\mathbb{E}_X\left[ I\left( x \right) \right] H(X)=EX[I(x)]
      =EX[−log⁡p(x)] \ \ \ \ \ \ =\mathbb{E}_X\left[ -\log p\left( x \right) \right]       =EX[logp(x)]
      =−∑x∈Xp(x)log⁡p(x) \ \ \ \ \ \ =-\sum_{x∈X}{p\left( x \right) \log p\left( x \right)}       =xXp(x)logp(x)
p(x)=0p(x)=0p(x)=0时我们定义0log0=00log0=00log0=0,这与极限一致。熵越高,则随机变量的信息量越多;熵越低,则随机变量的信息量越少。如果变量XXX当且仅当在xxxp(x)=1p(x)=1p(x)=1则熵为0。对于一个确定的信息,其熵为0,信息量也为0.如果其概率分布为一个均匀分布,则熵最大。

2.2熵编码

信息论研究的内容之一是如何用最少的编码表示传递信息。给定一串要传输的文本信息,其中字母信息xxx出现的概率为p(x)p(x)p(x),其最佳的编码长度为−log⁡2p(x)-\log _2p\left( x \right)log2p(x),整段文本的平均编码长度为
−∑xp(x)log⁡2p(x)-\sum_x{p\left( x \right) \log _2p\left( x \right)}xp(x)log2p(x)即底为2的熵。
在对分布p(x)p(x)p(x)的符号进行编码时,熵H(p)H(p)H(p)也是理论上最优平均编码长度,这种编码被称作熵编码(Emtropy Encoding)。

3.交叉熵

交叉熵(Cross Entropy)是按照概率分布qqq的最优编码对真实分布为ppp的信息进行编码的长度,定义为H(p,q)=Ex[−log⁡q(x)] H\left( p,q \right) =\mathbb{E}_x\left[ -\log q\left( x \right) \right] H(p,q)=Ex[logq(x)]
        =−∑xp(x)log⁡q(x) \ \ \ \ \ \ \ \ =-\sum_x{p\left( x \right) \log q\left( x \right)}         =xp(x)logq(x)
在给定ppp的情况下,如果qqqppp越接近,交叉熵越小;如果qqqppp越远,交叉熵就越大。

3.1交叉熵损失函数

比如对于三分类问题,一个样本的标签向量为y=[0,0,1]Ty=\left[ 0,0,1 \right] ^Ty=[0,0,1]T
,模型预测的标签分布为f(x:θ)=[0.3,0.3,0.4]Tf\left( x:\theta \right) =\left[ 0.3,0.3,0.4 \right] ^Tf(x:θ)=[0.3,0.3,0.4]T则它们的交叉熵为−(0×log(0.3)+0×log(0.3)+1×log(0.4)=−log(0.4)-(0×log(0.3)+0×log(0.3)+1×log(0.4)=-log(0.4)(0×log(0.3)+0×log(0.3)+1×log(0.4)=log(0.4)
因为y为one-hot向量,公式可以化简为L(y,f(x;θ))=−log⁡fy(x;θ) \mathcal{L}\left( \boldsymbol{y,}f\left( \boldsymbol{x;}\theta \right) \right) =-\log f_{\boldsymbol{y}}\left( \boldsymbol{x;}\theta \right) L(y,f(x;θ))=logfy(x;θ)
其中fy(x;θ)f_{\boldsymbol{y}}\left( \boldsymbol{x;}\theta \right)fy(x;θ)可以看作真实类别yyy的似然函数。因此交叉熵损失函数也就是负对数似然函数(NegativeLog−Likelihood)(Negative Log-Likelihood)NegativeLogLikelihood
最大似然估计的目的:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。利用试验结果得到某个参数值能够使样本出现的概率为最大则为极大似然估计。
似然函数:联合概率密度函数P(D∣θ)P(D|\theta)P(Dθ)称为相对于{x1,x2,⋅⋅⋅⋅,xN}\left\{ x_{1,}x_2,····,x_N \right\}{x1,x2,,xN}θ\thetaθ的似然函数。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐