您的位置:首页 > 运维架构

信息熵(entropy)、交叉熵(cross entropy)、条件熵、信息量增益、相对熵(relative entropy)

2019-05-20 15:45 459 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/kami0116/article/details/90313559

目录

信息量

交叉熵

条件熵

信息量增益

相对熵

信息量(Information Quantity)

已知事件E已发生,这一消息含有或提供了信息量。

依次掷两颗骰子。定义事件 :两个骰子的点数之和是2;事件 :两个骰子的点数之和是7。

现在要确定两个骰子的具体点数,请问那个时间能给我们带来更大的信息量?很明显,是事件 。因为,当事件 发生时,我们能明确地知道骰子是(1,1)。即,第一颗骰子的点数是1,第二颗的点数也是1。而当 发生时,要知道两颗点数的具体情况还有6种可能有待确定。再比如事件A:两个骰子的点数之和大于1;这个事件的发生没有带来任何信息,就是一句废话。

那么如何量化信息量呢?这里直接给出公式:

在两个骰子的例子中,可以说log的底数是6。要确定两个骰子的点数,就需要两个信息。第一个是几?第二个是几?但是,一般log的底数为2,因为我们都是用二进制来表述信息的。那么两个骰子的结果我们可以编号,(1,1)是0号,(1,2)是2号,....,(6,6)是35号。这些数字就可以用二进制编号了。确定两个塞子的点数需要5.17比特的信息。

例题:若估计在一次国际象棋比赛中谢军获得冠军的可能性为0.1(记为事件A),而在另一次国际象棋比赛中她得到冠军的可能性为0.9(记为事件B)。试分别计算当你得知她获得冠军时,从这两个事件中获得的信息量各为多少?

      I(A)=-log2 P(0.1)≈3.32(比特)

      I(B)=-log2 P(0.9)≈0.152(比特)

 

熵(entropy)

在信息论中,(entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵信源熵平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。(熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。)                来自wiki

计算公式:

熵用来描述一个整体的混乱程度。我们从整体中随机取出一个样本点,熵就是样本点平均能给我带来多少信息量。再拿两个骰子的例子,全集中有36个不同的、等可能的样本点。我们从这个36个样本点中随机取出一个,它能给我们带来多少的信息呢?答案是:

2 3 4 5 6 7 8 9 10 11 12
1/36 2/36 3/36 4/36 5/36 6/36 5/36 4/36 3/36 2/36 1/36 3.27
5.17 4.17 3.58 3.17 2.85 2.58 2.85 3.17 3.58 4.17 5.17

(ps:如果0概率事件发生了,这表明整个系统都是错误的。拿上面的例子来说,如果最后点数是13点,那就不是两个骰子的系统。这个事件的发生带来的信息量是无限的,或者说不可计算的。因为它直接否定了整个系统。)

熵,可以直观的理解成系统的混乱程度,或者可能性。熵越大,整体越混乱,样本可能性越多。熵越小,整体越有序,样本的可能性越少。比如一个社会的阶级分布熵越小,说明财富越集中,随便报出一个身份证,这个人的可能性就很少,几乎只能是穷人。如果熵越大,说明财富越分散。随便找出一个人,这个人的可能性就越多,可能是穷人,可能是中产阶级,也可能是富人。

 

换种说法,熵还可以理解为:系统平均能带来的信息量。也可以理解为:平均需要多少信息量,才能确定一个从该系统中取出的样本所触发的事件。我们把社会分成A、B、C、D四个阶级。

如果某个社会的阶级分化是这样的:

阶级 A B C D
概率 1/4 1/4 1/4 1/4

 

随机从这个社会中选出一个人,平均需要2个信息能问出这个人的阶级。

如果某个社会的阶级分化是这样的:

阶级 A B C D
概率 1/8 1/8 1/4 1/2

随机从这个社会中选出一个人,平均需要多少个信息才能问出这个人的阶级呢?

答案是:

交叉熵

在信息论中,基于相同事件测度的两个概率分布p和q的交叉熵是指,当基于一个“非自然”(相对于“真实”分布p而言)的概率分布q进行编码时,在事件集合中唯一标识一个事件所需要的平均比特数(bit)。 来自wiki

交叉熵描述的是:在以p为真实分布的情况下,q的平均信息量。

下面是关于明天Z市的天气预测。我们认为权威预测是明天天气的真实概率,而简易预测是

  小雨 大雨 冰雹
权威预测p 0.01 0.09 0.15 0.65 0.08 0.02
简易预测q 0.1 0.1 0.2 0.5 0.05 0.05
简易预测信息量 3.32 3.32 2.32 1.00 4.32 4.32

注意,这里跟信息量相乘的概率不是q而是p。原因很简单,因为我们认为p是真实分布。所以明天是晴天的真实概率是0.01。能从晴天这里得到的信息信息量平均只有0.0332,而不是0.332。

上面预测的交叉熵:

 = 0.01×3.32 + 0.09×3.32 + 0.15×2.32 + 0.65×1.00 + 0.08×4.32 + 0.02×4.32 = 1.762

 

在机器学习中,用来作为真实概率分布p的数据往往是这样的:

  小雨 大雨 冰雹
权威预测p 0 0 0 1 0 0
简易预测q 0.1 0.1 0.2 0.5 0.05 0.05
简易预测信息量 3.32 3.32 2.32 1.00 4.32 4.32

 = 0×3.32 + 0×3.32 + 0×2.32 + 1×1.00+ 0×4.32 + 0×4.32 = 1

处理的是昨天的数据。比如昨天在湿度90%,温度10摄氏度的条件下下雨了,不能代表X是这种情况下就必然会下雨。机器学习里这么做,是因为我们不止这一条数据。当满足湿度90%,温度10摄氏度的多条数据放在一起后,一平均,由这两个变量预测得到的概率就接近真实概率了。所以损失函数也是多个交叉熵的平均。

 

条件熵

在信息论中,条件熵描述了在已知第二个随机变量X的值的前提下,随机变量Y的信息熵还有多少。同其它的信息熵一样,条件熵也用Sh、nat、Hart等信息单位表示。基于 X条件的Y 的信息熵,用   表示。                        来自wiki

                

条件熵,是把本来只有Y分布的系统,按X再划分出n个子系统。求所有子系统的平均信息量。

是平均需要多少信息来确定Y的值,而 是在知道X值的情况下,还需要多少信息量来确定Y的值。在计算的时候,把系统按X分成n个子系统。再求所有子系统的平均信息量。

信息量增益

告诉我们X能减少多少信息,来确定Y的值。

 

相对熵

相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。
KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。        来自wiki

                      

                       

相对熵就是理论分布Q比真实分布P多的信息量。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: