信息熵(下)

2023-12-29 07:30
文章标签 信息熵

本文主要是介绍信息熵(下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

翻译:http://colah.github.io/posts/2015-09-Visual-Information/
如有侵权,请联系我~
小白学习笔记,欢迎大神批评指正~

计算熵

长度为L的信息代价为1/(2^L),根据这个公式可以反算出来信息最好的长度选择L:

早些时候,我们讨论了利用最可能的编码的平均信息长度的限制,叫做p的熵H(p).

人们通常所说的熵,其实主要是下面这种情形,其实与上面的表达是等价的。

需要进行交流的平均信息量描述了系统的不确定性,并且给出一种量化信息的方式。若我已经确信知道要发生什么,那我就没必要发送所有的信息,若有两件事情以相同的概率发生,我仅需要一位表示,对于一件事情,如果越确定会发生,则可以用较短的信息去表示。

输出的不确定性越大,我需要学习的就越多。

交叉熵

有一天,Tom谈恋爱了,他的女朋友叫Amy,Amy不那么喜欢狗,她更喜欢猫多一些,他们俩的词频出现的概率如下,可以发现,他们喜欢的动物都是相同的,只是Tom喜欢狗多些,Amy喜欢猫多一些:

Amy也开始用Tom的编码方式给我写信,但是结果可想而知,Tom的编码方式适合于他自己的概率分布,当然不适用于Amy.当要表达同一件事时候,Tom的平均编码长度为1.75位时,Amy的要2.25位。

我们可以定义公式如下:

等式左边可以定义为交叉熵,如果一件事情,用一个概率分布进行最优编码,用另一个分布来进行交流时,编码的平均长度称为交叉熵。

然后我就跟Amy约定,她用自己的编码方式,这样她给我发的消息就会短一些。但是,有时候调皮的Tom会用Amy的编码格式给我写信。这就尴尬的存在四种可能性,他们可能都各自用各自的编码,也可能用他人的编码:

  • Tom用自己的编码(H(p) = 1.75位)
  • Amy使用Tom的编码( = 2.25位)
  • Amy用自己的编码(H(q) = 1.75位)
  • Tom使用Amy的编码( = 2.375位)

下面的图中,每个子图都表示四种可能性之一,同一个人的情形是上下两个图的对比,同一个编码方式,是左右两个图的对比。

交叉熵不是对称的

交叉熵表达了两个概率分布差异性有多大。两概率分布的差异性越大,交叉熵要比单独一个概率的熵要大的越多,若两个概率分布相同,则熵与交叉熵的差异也会变成0

我们称差异为相对熵(**K**ullback-**L**eibler divergence),P关于q的相对熵:

熵与多变量

天气的例子再拿出啦:

将上面图示的部分,拉直表示为右边的图,可以发现是等价的。

X和Y的联合熵,可以定义为:

与前面的熵的定义是一样的,就是用两个变量代替了一个变量。将上面的图进行三维表示,如下:

将晴天和雨天分开表示:

如果已知天气状况,由于天气已经对应该穿的衣服有一定的猜测,那么我就可以更加容易的选择所穿的衣服。如果天气晴朗,我就选择晴朗的最优编码,如果下雨,我用下雨的最优的编码,这两种情况,我都会比不知道天气更容易的判断我要穿什么。将两种情况放在一起,如下图所示:

上面这种情况叫做条件熵,公式化可以表示为:

互信息

通过上面的例子,我们可以发现,已知一个变量意味着,我们可以使用更少的信息来对另外的变量进行交流。

假想信息量为一个长条,若两个事情之间有共享的信息,这些长条就重叠,表示如下:

如图可以发现,所需的交流信息量分别在联合熵,边缘熵,条件熵三者递减。

上面的图可能不够直观,可以通过长条的形式来表示,条件熵H(X|Y)指的是已知Y的情况下,如果俩人交流X,需要发送的信息量,即不在Y里面的X。下图中H(X,Y) >= H(X) >= H(X|Y)更显而易见些。

而且,也可以看出H(X,Y) = H(Y) + H(X|Y)

定义互信息I(X,Y),如下:

信息差是指:变量间不共享的信息,定义如下:

若已知一个变量,完全可以判断出另外的一个变量,那么信息差就为0,若二者更加相互独立,则信息差会增加。

相对熵可以给出相同变量或变量集合的两个不同分布之间的距离,相对,信息差给出两个联合分布变量之间的距离。关于各种熵的解释,上图很清晰。

分数位

考虑一件事发生,可能有两种情况a,b,概率:a有71%的可能性发生,b有29%的可能性发生。

最优的编码:用0.5位表示a,用1.7倍表示b,如果你一次发送一个单词,好像不太可能,你不得不把它变成整数.但考虑如果一次发送几个信息:如果两件事情相互独立,分布相同,正常编码的话需要两位。但是更好的方法:

如果按照上面所说的分数位的编码格式,可以得到上面图示的概率分布表示,理想的分数位编码如下图:

如果对码字长度取整,得到下面的情形:

可以算出平均的编码长度为1.8.当事件的数目不断增加,每个码字的位数将会接近熵。

*http://https://en.wikipedia.org/wiki/Huffman_coding对分数位编码处理不是那么好,需要采取一些额外的策略
https://en.wikipedia.org/wiki/Arithmetic_coding可以渐进最优的处理分数位编码*

总结

量子理论可以用熵描述,许多统计力学和热力学的结果也可以用假设关于未知事物的最大熵来得到,赌博与相对熵有关。

信息理论给我们许多度量表达不确定性的方式:两个置信集合之间的差异,一个问题的答案与另一个问题之间关联性有多大,概率有多么弥散,概率分布之间的距离,两个变量之间的独立性有多强…

这篇关于信息熵(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/548783

相关文章

信息熵|atttion矩阵的注意力熵

显著图可以看作是模型的注意力图,它标识了模型对输入图像某些区域的关注程度。我们使用 blob 区域(连通的显著区域)来检测模型关注的部分,然后计算这些区域的概率分布,再通过熵来衡量这些区域的“信息量”或“分散度”。 举个简单的例子: Step 1: 假设有一个 4x4 的注意力图 x: x = [[0.1, 0.2, 0.4, 0.1],[0.1, 0.5, 0.3, 0.2],[0.7,

用基于信息熵的topsis方法实现学生成绩的综合排名

TOPSIS方法排序的基本思路是首先定义决策问题的正理想解(即最好的)和负理想解(即最坏的),然后把实际可行解(样本)和正理想解与负理想解作比较。通过计算实际可行解与正理想解和负理想解的加权欧氏距离,得出实际可行解与正理想解的接近程度,以此作为排序的依据。若某个可行解(样本)最靠近理想解,同时又最远离负理想解,则此解排序最靠前。 通常,当排序时有多个指标需要考虑时,常用“专家打分法”来确定各个指

熵的相关概念及相互关系(信息熵,条件熵,相对熵,交叉熵,最大似然估计)

熵:系统混乱程度的度量,系统越混乱,熵越大。 信息熵:信息量的大小的度量,用于描述随机变量的不确定度。事件的不确定性越大,则信息量越大,信息熵越大。定义如下: 条件熵:表示在已知随机变量X的条件下随机变量Y的不确定性。定义如下: 另外,,说明描述X和Y所需的信息(H(X,Y) ࿰

编程实现基于信息熵/基尼指数划分选择的决策树算法

编程实现基于信息熵/基尼指数划分选择的决策树算法 手动建立一个csv文件 #csv的内容为Idx,color,root,knocks,texture,navel,touch,density,sugar_ratio,label1,dark_green,curl_up,little_heavily,distinct,sinking,hard_smooth,0.697,0.46,12,b

信息熵,交叉熵,相对熵,KL散度

熵,信息熵在机器学习和深度学习中是十分重要的。那么,信息熵到底是什么呢?   首先,信息熵是描述的一个事情的不确定性。比如:我说,太阳从东方升起。那么这个事件发生的概率几乎为1,那么这个事情的反应的信息量就会很小。如果我说,太阳从西方升起。那么这就反应的信息量就很大了,这有可能是因为地球的自转变成了自东向西,或者地球脱离轨道去到了别的地方,那么这就可能导致白天变成黑夜,热带雨林将

信息熵与信息增益的概念

关于熵的概念: 熵是一个信息论中很抽象的概念,从熵定义的角度来看,熵表示一组信息中,所有随机变量出现的期望,他的计算公是: Entropy(S):H(x)=∑p(xi)*log1/(p(xi)) (i=1,2,..n)=-∑p(xi)*log(p(xi)) (i=1,2,..n)其中log的底数是2. 公式的理解是:p(i)表示第i个变量出现的概率,则1/p(i)表示若p(i)发生的样本容量

机器学习-利用信息熵来学习如果分辨好西瓜

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。 我们通常用Entropy(信息熵来度量划分的凌乱程度)。 Ent(D)越小,则信息熵的复杂程度越低,D的纯度(一

信息量,信息熵,纯度

如果看不懂博文,请阅读《信息论基础》一看便懂。 链接:https://pan.baidu.com/s/1T7rS4owM2nU_DP6rthqUPA  提取码:zu9s  (1)消息 消息是实体,信息是抽象的。可以从消息中获取信息。消息的表现形式可以是:语言,符号,文字,图片 (2)信息 信息是抽象的,消息是信息的载体。 举例:如果把某个人说的话看成是消息的话,那他话中传递的意思就是信

熵、信息熵、交叉熵、相对熵、条件熵、互信息、条件熵的贝叶斯规则

熵 每条消息都含有信息。“信息熵”是“熵”的别名,用来衡量消息的不确定程度。 宽泛来讲,即消息所传达的信息的模糊程度,消息越模糊,其熵越高。 形象的说,熵是从 根据模糊消息—>得到精确信息 所需要花费的最小代价。 熵=信息量(的期望)=不确定性的多少。熵值是信息量的一个度量。 某种意义上说,熵就是最优策略。 《数学之美》中这样描述: 变量的不确定性越高,熵也就越大,要把它搞清楚,所

二元信息熵 python实现、绘图

import matplotlib.pyplot as pltfrom math import logimport numpy as np#计算二元信息熵def entropy(props, base=2):sum = 0for prop in props:sum += prop * log(prop, base)return sum * -1#构造数据x = np.arange(0.0