zoukankan      html  css  js  c++  java
  • 信息和熵

    信息和熵

    © 飞翔的猪o

    说明:本文是作者在看了weixin公众号【超智能体】录制的学习视频后的总结,有需要请移步公众号【超智能体】,利益无关,良心推荐。大多数教材都将信息和熵混为一谈,统称为信息熵,这其实是不恰当的,因而有了这篇文章的诞生。

    定义熵和信息

    定义熵之前,首先说明什么是宏观态和微观态。

    具体的一件事情为宏观态,而这件事情有多种可能情况发生,每种可能情况叫微观态

    比如:抛掷硬币这件事,称作宏观态,而正面朝上和反面朝上作为两种可能的情况,都是微观态。

    熵:当一件事情有多种可能情况时,这件事情对某人而言究竟是那种情况发生的不确定性叫做

    信息:信息是能够消除某人对某件事情的不确定的事物。信息和能量、质量一样,是实实在在存在的事物,是可量化的。

    因此可以说,获取信息就是消除熵,熵和信息数量相等,但意义相反。因此,度量信息的时候,实际上我们真正求的是的量,即某件事情(宏观态)的不确定性的大小。

    至于熵(信息)怎么度量,后面讲。

    消除熵?

    信息是来消除熵(不确定性)的。为了好理解,现在熵后面我都加(不确定性)。获得多少信息,就消除了多少熵(不确定性),这些消除不确定性的信息分为三种类型:

    • 1.调整某一微观态的概率
    • 2.排除某一可能的微观态的干扰
    • 3.直接确定实际情况(百分之百确定是该微观态发生),即直接确定某一微观态

    上面三条的确不好理解,下面举例解释。

    小明正在做一选择题,有ABCD四个选项,正确答案是C。小明完全不会这道题,那么小明对于四个选项(微观态)的不确定性最大,即熵最大。小明选择任一选项的概率都是25%。为消除不确定性,小明需要知道一些信息:

    • 如小红告诉小明,C选项正确的可能是50%,那么小明就有更大的可能会考虑C选项,不确定性也就减少了,在这个过程中,小红告诉了小明信息,小明得到了这些信息,并消除了对等数量的不确定性。这对应着上面的第一种类型。
    • 若小红告诉小明,A选项绝对不对,那么小明只要再剩余的BCD选项中考虑,此时小明选出正确答案的概率是1/3,大于25%,不确定性也减少了。小明排除了A这一微观态的干扰,减少了不确定性。
    • 若小红直接告诉小明,C是正确答案。那么小明可以迅速知道,A选项正确的概率是100%,完全没有了不确定性,这是因为小红告诉了小明所需的全部信息(就本事件而言),这对应于上面的第三种类型。

    所以现在应该理解了:获取信息=消除熵(不确定性)。

    假信息?

    如果小红告诉小明答案是A,这显然是错的,那这是不是“假信息”呢?

    在上面的定义下,其实并没有“假信息”这种说法。小红告诉小明答案是A,根本就不是信息,或者说:信息量是0,因为小明听到得到这句话后,并没有减少不确定性,小明依旧完全没有获得能够帮助他得到该事件究竟哪种情况发生的任何信息。

    “小红告诉小明答案是A”,如果这不是信息,那这是什么呢?

    数据,或者说是噪音。所谓噪音,是指干扰某人获得信息的事物,而数据信息噪音的混合体,需要用知识将其分离。

    概率 VS 熵?

    那么概率和熵又有什么区别呢?

    概率是某件事情(宏观态)的某个可能情况(微观态)发生的确定性。

    是某人对某件事情到底哪种情况发生的不确定性。

    两者是有本质不同的。下面举例说明。

    如我们说,抛硬币正面朝上的概率是50%,是说,抛一枚硬币,正面朝上这个可能情况(微观态)发生的确定性是50%,或者通俗的说:我们有50%的把握认为正面朝上。

    指的是,我们对“抛硬币”这一事件(宏观态),究竟是正面朝上还是反面朝上的不确定性是多少。消除这个不确定性,需要信息,那么,信息如何度量?

    信息的度量和熵的计算

    在说明度量信息之前,必须明确信息的几个性质。

    • 媒介无关
    • 相对个体
    • 相对事件

    第一点很容易理解,小红可以用语言告诉小明正确答案是C(媒介是声波),也可以写在纸上(媒介是纸),两种情况下小明都能够准确的接收到该信息,与媒介无关。

    第二点指的是,信息的数量是相对个体而言的。小刚本来就知道正确答案是C,那么他对这道题就没有不确定性,当他听到小红的话“正确答案是C”,对小刚来说信息量是0。而对于小明,信息量却不是0。

    第三点指的是,对不同事件,信息的数量是不同的。这点也很容易理解,假如这道题只有AB两个选项,小明就会有50%的可能性选中,那么小明对这道题的不确定性就相对小一些。

    但必须明确,信息虽然是相对的,信息却是自然界实实在在存在的,不随人的主观意识而改变,即使对小刚来说信息量为0,信息也是实际存在的,这和能感受到的质量等物理量是有很大区别的。

    因而,可以这样定义信息:信息描述的是一个观察者确定一个宏观态是哪种微观态时所需的物理量。下面正式说明信息的度量。

    前面提到,信息和质量一样,是自然界实实在在存在的物理量,那么我们想想质量是怎么度量的?(即kg是怎么定义的)。

    我们现在说1kg,最初也没有kg的概念,而是选择了一个参照物体,定义它的质量为1kg,之后说其他物体的质量,就是多少个参照物体,比如说某个物体8kg,就是说该物体的质量相当于8个参照物体,说某个物体m kg,就是说该物体相当于m个参照物体,这个m实际上是这么算的:

    拿一天平,左边放m个参照物体,右边放被测物体,左边为(m*1kg),为乘法,此时天平恰好平衡。所以已知被测物体的质量,要知道他相当于多少个参照物体(即度量),只要采取乘法的逆运算-除法,被测物体质量除以参照物体的质量(1kg),就是该物体的质量的一个度量。

    而信息的度量也是类似的。

    我们知道,信息是用来某事情消除不确定性的,即和熵的数量相等。那么,信息即为某件事物的不确定性的大小。我们是否也可以找一件参照事件,定义某事件的不确定性为“多少个”该参照事件不确定性?

    答案是肯定的。我们选取参照事件为抛掷硬币,那么毫无疑问有两种微观态,等概率为50%,我们定义该参考事件的不确定性(即信息量)为1bit,其他事件的不确定性的度量都相对于该参考事件。

    但是这可和质量不一样,不是简单地倍数关系。且看:

    抛掷1个硬币有2种微观态,信息量为1bit。

    抛掷2个硬币有4种微观态,信息量为2bit。

    抛掷3个硬币有8种微观态,信息量为3bit。

    抛掷4个硬币有16种微观态,信息量为4bit。

    可见,若某个事件有16种微观态,那么他的不确定性,即信息量为4bit。这是怎么算的呢?抛掷硬币数与微观态显然是指数关系,而若已知微观态数,相当于抛掷了多少个硬币(即相当于多少个参考事件的不确定性)是指数运算的逆运算--即对数运算。所以,已知m种微观态,且m种微观态等可能发生,那么不确定性,即信息量计算为信息量(I=log_2m),单位是bit。

    需要指出的是,上面选择参照事件是抛硬币,完全可以选择其他事件,那么求对数的底就会相应变化。

    还有一个问题,现实生活中并不是所有事件的微观态都是等可能发生的,比如完全存在下面这种事件:

    事件A有4种微观态abcd,发生的概率分别为(;;;a:1/6;b:1/6;c:1/6;d:1/2)。那么事件A的不确定性(即熵,即信息量大小)该如何计算呢?

    答案是,分别计算四种微观态的信息量,再加权平均,即各自乘以自己的概率求和:

    (I(A)=P(a)*I(a)+P(b)*I(b)+P(c)*I(c)+P(d)*I(d))

    那么显然剩下的问题是:(I(a))如何计算?显然不能再用公式(I=log_2a)。因为微观态(a)作为一个事件,我们是不知道更多细节的。

    我们知道,概率(p = 1/100)相当于某事件有100种微观态,每种微观态的可能性都是1%。那么显然,概率(p)的倒数(1/p)就是等可能微观态的数量。那么很显然,微观态(a)作为事件的信息量就是(I(a)=log_2(1/P(a)))

    从而,计算事件A的信息量变成了:

    (I(A)=P(a)*log_2(1/P(a))+P(b)*log_2(1/P(b))+P(c)*log_2(1/P(c))+P(d)*log_2(1/P(d)))

    更一般的,对于事件(宏观态)A,有m种微观态,其中第i种微观态的可能性是(P(i)),那么消除他的不确定性所需的信息量,也就是熵的大小是:(sum_{i=1}^{m}{P(i)*log(1/P(i))});

    需要说明的是,式子中,(log(1/P(i)))称作自信息

    由此,我们推导出了熵的计算公式:

    (Entropy(A) =sum_{i=1}^{A}{P(i)*log(1/P(i))})

    根据数学知识可知:

    (Entropy(A)=E(log(1/P(i)))),即熵的大小为自信息的期望。

    上面的论述是香农理论的基础,也奠定了我们今天的通信基础,但香农完全从数学的角度推导出,我不信有天才,可我实在想不出什么别的词来形容他。

  • 相关阅读:
    java面试准备之基础排序——冒泡与选择排序
    PL/SQL 存储过程
    浅析Java中CountDownLatch用法
    tmux分屏幕
    two's complement
    angularJs中$controller的使用
    nodejs pipe实现大文件拷贝
    不错的网站
    echarts文档对照
    nodejs 项目的session验证
  • 原文地址:https://www.cnblogs.com/duye/p/10498508.html
Copyright © 2011-2022 走看看