返回顶部

请叫我杨先生

导航

Pytorch 3.4.1 softmax回归 信息熵

信息熵

信息论之父C.E.Shannon 香农,在 1948 年发表的论文“通信的数学理论( A Mathematical Theory of Communication )”中指出,任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。

What's Communication Entropy ? 什么又信息熵?

Shannon 借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式。

通常,一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之不确定性就大。 不确定性和出现的概率成反比 两个独立符号所产生的不确定性应等于各自的不确定性之和 (假设我们用 \(f(P1)\) 表示\(P1\)的不确定性) 则: \(f(P1,P2) = f(P1) + f(P2)\) 那么符合这一性质的函数那只有对数函数,即 \(f(p) = \log\frac{1}{p} = -\log{p}\)

在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。若信源符号有n种取值:\(U1…Ui…Un\),对应概率为:\(P1…Pi…Pn\),且各种符号的出现彼此独立。这时,信源的平均不确定性应当为单个符号不确定性\(-\log P_i\)的统计平均值\((E)\),可称为信息熵,即

\[H(U) = E[ - \log p_i] = -\Sigma_{i = 1}^{n} p_i \log p_i \]

式中对数一般取2为底,单位为比特。但是,也可以取其它对数底,采用其它相应的单位,它们间可用换底公式换算。

最简单的担负好信息源仅由0、1两个元素,即二元信息源,其概率为 \(P\)\(Q = 1 - P\)

由图可见,离散信源的信息熵具有:

①非负性:即收到一个信源符号所获得的信息量应为正值,H(U)≥0

②对称性:即对称于P=0.5

③确定性:H(1,0)=0,即P=0或P=1已是确定状态,所得信息量为零

④极值性:因H(U)是P的上凸函数,且一阶导数在P=0.5时等于0,所以当P=0.5时,H(U)最大。

稍加证明:当以2为底的时候,\(H(0.5,0.5) = -0.5\log_2\frac{1}{2} - 0.5\log_2\frac{1}{2} = -0.5\log_2\frac{1}{4} = 0.5\log_2\frac{1}{4} = 1\) 单位是bit

当发射的0和1各占50%的时候,此时的信号最为混乱; 当出现0或者1的概率为100%的时候,信号中只有一个值,此时包涵的信息非常"纯净" ,固有此时的熵(Entropy) = 0 。

拿吴军举的例子来讲,32只球队共有32种夺冠的可能性,用多少信息量才能包括这32个结果?按照计算机的二进制(只有1和0)表示法,我们知道2^5=32 ,也就是需要5符号的组合结果就可以完全表示这32个变化,而这里的符号通常称之为比特。既然是这样,那么当一件事的结果越不确定时,也就是变化情况越多时,那么你若想涵盖所有结果,所需要的比特就要越多,也就是,你要付出的信息量越大,也即信息熵越大。当然,每个变化出现的概率不同,因而在香农的公式中才会用概率,所以信息熵算的是了解这件事所付出的平均信息量。比如这个例子里假设32只球队夺冠可能性相同,即Pi=1/32 ,那么按照香农公式计算:

\[Entropy(p_1,p_2,...,p_32) = -(p_1*\log_2 p_1 + p_2 * \log_2 p_2 + ... +p_{32} *\log_2 p_{32}) = 5 \]

其中,$p_1,p_2 ,... ,p_{32} $ 分别是这 32 个球队夺冠的概率。香农把它称为“信息熵” (Entropy),一般用符号 H 表示,单位是比特。

熵如何计算 ?

已知男女所占比率各为50%,所有人群中抽烟占40%,不抽烟占60%,而在抽烟人群中95%都是男性,不抽烟人群中80%是女性。如果我们已知一个人抽烟,那么我们可以很有信心的说该烟民为男性,但是我们如何去度量这种信心呢?因此,我们引入了熵,熵是用来度量该系统的不确定性,我们有多大的把握说出该烟民为男性。试想一下,当烟民中男女比例各占50%的时候,这是最不容易确定该烟民性别的情况,所以这个时候熵很高(信息很混乱)。
Hypothesis Ⅰ:当男女烟民各占50%时,熵的计算过程为(以2为底):

\[H(s 丨 X = a) = -0.5 *\log_{0.5} - 0.5\log_{0.5} = 1 \]

Hypothesis Ⅱ:我们令事件X不抽烟为a,抽烟为b,则\(X:\{a=No-smoking, b=smoking\}\)。 则不抽烟的人的熵为:(我们之前有说过,信息熵只与概率有关)

\[H(s 丨 X = a) = -0.8 *\log_ \frac {1}{2} {0.8} - 0.2\log_\frac{1}{2}{0.2} = 0.7219 \]

抽烟的人的熵为:

\[H(s 丨 X = b) = -0.95 *\log_ \frac {1}{2} {0.95} - 0.05\log_\frac{1}{2}{0.05} = 0.2864 \]

可以看到烟民中性别分布要比非烟民更加不均衡,在这种情况下如果我们知道ta抽烟,则我们对ta的性的判断更加准确。抽烟事件整体的熵为:

\[H(s 丨 X ) = 0.6 *H(s 丨 X=a)+ 0.4* H(s 丨 X = b) = 0.4523 \]

posted on 2021-12-24 17:30  YangShusen'  阅读(672)  评论(0)    收藏  举报