熵、信息量、信息熵、交叉熵-我的小结

1、理解熵

一、首先看到这个词会产疑问,熵是什么?谁定义的?用来干什么的?为何机器学习会用到熵?
有了这些疑问后慢慢的开始探索~
复制代码

熵,热力学中表征物质状态的参量之一,用符号S表示,其物理意义是体系混乱程度的度量。 克劳修斯(T.Clausius) 于1854年提出熵(entropie)的概念, 我国物理学家胡刚复教授于1923年根据热温商之意首次把entropie译为“熵”。A.Einstein曾把熵理论在科学中的地位概述为“熵理论对于整个科学来讲是第一法则”。机器学习


为了理解熵,必须讲一点物理学。函数

19世纪,物理学家开始认识到,世界的动力是能量,而且提出"能量守恒定律",即能量的总和是不变的。可是,有一个现象让他们很困惑。学习

(上图中,单摆在两侧的最高点,势能最大,动能为零;在中间的低点,动能最大,势能为零,能量始终守恒。)

物理学家发现,能量没法百分百地转换。好比,蒸汽机使用的是热能,将其转换为推进机器的机械能。这个过程当中,老是有一些热能损耗掉,没法彻底转变为机械能。spa

(上图中,能量 E 的转换,老是会致使能量损耗 ∆E。).net

一开始,物理学家觉得是技术水平不高致使的,但后来发现,技术再进步,也没法将能量损耗降到零。他们就将那些在能量转换过程当中浪费掉的、没法再利用的能量称为熵。3d

后来,这个概念被总结成了"热力学第二定律":能量转换老是会产生熵,若是是封闭系统,全部能量最终都会变成熵。code

熵既然是能量,为何没法利用?它又是怎么产生的?为何全部能量最后都会变成熵?
复制代码

物理学家有不少种解释,有一种我以为最容易懂:能量转换的时候,大部分能量会转换成预先设定的状态,好比热能变成机械能、电能变成光能。可是,就像细胞突变那样,还有一部分能量会生成新的状态。这部分能量就是熵,因为状态不一样,因此很难利用,除非外部注入新的能量,专门处理熵。cdn

(上图,能量转换过程当中,创造出许多新状态。)对象

总之,能量转换会创造出新的状态,熵就是进入这些状态的能量。blog

如今请你们思考:状态多意味着什么?
复制代码

状态多,就是可能性多,表示比较混乱;状态少,就是可能性少,相对来讲就比较有秩序。所以,上面结论的另外一种表达是:能量转换会让系统的混乱度增长,熵就是系统的混乱度。

(上图中,熵低则混乱度低,熵高则混乱度高。)

转换的能量越大,创造出来的新状态就会越多,所以高能量系统不如低能量系统稳定,由于前者的熵较大。并且,凡是运动的系统都会有能量转换,热力学第二定律就是在说,全部封闭系统最终都会趋向混乱度最大的状态,除非外部注入能量。

(上图中,冰块是分子的有序排列,吸取能量后,变成液体水,分子排列变得无序。)

熵让我理解了一件事,若是不施加外力影响,事物永远向着更混乱的状态发展。好比,房间若是没人打扫,只会愈来愈乱,不可能愈来愈干净。
复制代码

(上图中,若是不花费能量打扫,房间老是愈来愈乱。)

熵的解释是混乱度的度量单位,一个系统的混乱度越高它的熵就越高
复制代码

2、理解信息量

咱们知道了熵的概念最先起源于物理学,用于度量一个热力学系统的无序程度。在信息论里面,熵是对不肯定性的测量。

这里有又产生了疑问,熵怎么就合信息论产生了关系?
复制代码

信息是咱们一直在谈论的东西,但信息这个概念自己依然比较抽象。在百度百科中的定义:信息,泛指人类社会传播的一切内容,指音讯、消息、通讯系统传输和处理的对象。

一、信息量和事件发生的几率相关,事件发生的几率越低,传递的信息量越大;
二、信息量应当是非负的,必然发生的事件的信息量为零;
三、两个事件的信息量能够相加,而且两个独立事件的联合信息量应该是他们各自信息量的和;
复制代码

用数学表达以下:

3、理解信息熵

但信息可不能够被量化,怎样量化?答案固然是有的,那就是“信息熵”。早在1948年,香农(Shannon)在他著名的《通讯的数学原理》论文中指出:“信息是用来消除随机不肯定性的东西”,并提出了“信息熵”的概念(借用了热力学中熵的概念),来解决信息的度量问题。

好了,这里就产生了信息熵!那么怎么解释呢?那信息熵如何计算呢?
复制代码

举个吴军在《数学之美》中同样的例子,假设世界杯决赛圈32强已经产生,那么随机变量“2018年俄罗斯世界杯足球赛32强中,谁是世界杯冠军?”的信息量是多少呢?

根据香农(Shannon)给出的信息熵公式,对于任意一个随机变量X,它的信息熵定义以下,单位为比特(bit):

把最前面的负号放到最后,便成了:

上面两个熵的公式,不管用哪一个都行,并且二者等价,一个意思。
复制代码

那么上述随机变量(谁得到冠军)的信息量是:

其中,p1,p2,…,p32分别是这32强球队夺冠的几率。 吴军的书中给出了几个结论:一是32强球队夺冠几率相同时,H=5;二是夺冠几率不一样时,H<5;三是H不可能大于5。 对于第一个结论:结果是很显然的,夺冠几率相同,即每一个球队夺冠几率都是1/32,因此H=-((1/32)·log(1/32)+(1/32)·log(1/32)+…+(1/32)·log(1/32))=-log(1/32)=log(32)=5(bit)

对于第二个结论和第三个结论:使用拉格朗日乘子法进行证实,详见《求约束条件下极值的拉格朗日乘子法》。这其实是说系统中各类随机性的几率越均等,信息熵越大,反之越小。

从香农给出的数学公式上能够看出,信息熵实际上是一个随机变量信息量的数学指望。
复制代码

平常生活中,咱们常常说某人说话言简意赅,信息量却很大,某些人滔滔不绝,可是废话连篇,没啥信息量;这个电视剧情节太拖沓,一集都快演完了也没演啥内容。这里的信息量/内容与信息熵有什么关系呢?

不少人把这些东西与信息熵混为一谈,得出“说话信息量越大,信息熵越高”“语言越言简意赅,信息熵越高;语言越冗余堆积,信息熵越低。”等等结论。

不是说这些说法错了,而是容易引发误导。我的认为,这里平常语境的信息量与其说是信息量,不如说是信息质量和信息传递效率问题,有没有干货,有没有观点,有没有思想,而且在必定的文字长度/播放时间内,能不能有效的表达出来,这个实际上是人的能力问题,和信息熵没啥关系好不!

4、联合熵、条件熵、交叉熵

联合熵:两个随机变量X,Y的联合分布,能够造成联合熵Joint Entropy,用H(X,Y)表示。

条件熵:在随机变量X发生的前提下,随机变量Y发生所新带来的熵定义为Y的条件熵,用H(Y|X)表示,用来衡量在已知随机变量X的条件下随机变量Y的不肯定性。
复制代码

且有此式子成立:H(Y|X) =H(X,Y) – H(X),整个式子表示(X,Y)发生所包含的熵减去X单独发生包含的熵。至于怎么得来的请看推导:

简单解释下上面的推导过程。整个式子共6行,其中

第二行推到第三行的依据是边缘分布p(x)等于联合分布p(x,y)的和;
第三行推到第四行的依据是把公因子logp(x)乘进去,而后把x,y写在一块儿;
第四行推到第五行的依据是:由于两个sigma都有p(x,y),故提取公因子p(x,y)放到外边,而后把里边的-(logp(x,y)-logp(x))写成- log(p(x,y)/p(x)) ;
第五行推到第六行的依据是:条件几率的定义p(x,y) = p(x) * p(y|x),故p(x,y) / p(x) = p(y|x)。
复制代码

相对熵:又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度等。设p(x)、q(x)是X中取值的两个几率分布,则p对q的相对熵是:
复制代码

在必定程度上,相对熵能够度量两个随机变量的“距离”,且有D(p||q) ≠D(q||p)。另外,值得一提的是,D(p||q)是必然大于等于0的。

附录:联合熵、条件熵、交叉熵、互信息


#交叉熵例子

这是公式定义,x、y都是表示几率分布(注:也有不少文章喜欢用p、q来表示),这个东西能干吗呢?

假设x是正确的几率分布,而y是咱们预测出来的几率分布,这个公式算出来的结果,表示y与正确答案x之间的错误程度(即:y错得有多离谱),结果值越小,表示y越准确,与x越接近。

好比:

x的几率分布为:{1/4 ,1/4,1/4,1/4},如今咱们经过机器学习,预测出来二组值:

y1的几率分布为 {1/4 , 1/2 , 1/8 , 1/8}

y2的几率分布为 {1/4 , 1/4 , 1/8 , 3/8}

从直觉上看,y2分布中,前2项都100%预测对了,而y1只有第1项100%对,因此y2感受更准确,看看公式算下来,是否是符合直觉:

对比结果,H(x,y1)算出来的值为9/4,而H(x,y2)的值略小于9/4,根据刚才的解释,交叉熵越小,表示这二个分布越接近,因此机器学习中,常常拿交叉熵来作为损失函数(loss function)。

相关文章
相关标签/搜索