熵和信息增益 -- for netual network


我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。……直到1948年,Shannon在他著名的论文“通信的数学原理”中提出了“信息熵”的概念,才解决了信息的度量问题,并且量化出信息的作用。

信息熵 – 表示随机变量的不确定性。

首先,我们可以记住的是,信息熵一般使用符号H来表示,单位是比特。接下来,看一个书中给出的例子:

里面有橙、紫、蓝及青四种颜色的小球任意个,各颜色小球的占比不清楚,现在我从中拿出一个小球,你猜我手中的小球是什么颜色?

在这种情况下,小明什么信息都不知道,只能认为四种颜色的小球出现的概率是一样的。所以,按照他的策略,1/4概率是橙色球,小明需要猜两次,1/4是紫色球,小明需要猜两次,其余的小球类似,所以小明预期的猜球次数为:
这里写图片描述

H = 1/4 * 2 + 1/4 * 2 + 1/4 * 2 + 1/4 * 2 = 2

再看下面一种情况:

箱子里面有小球任意个,但其中1/2是橙色球,1/4是紫色球,1/8是蓝色球及1/8是青色球。我从中拿出一个球,你猜我手中的球是什么颜色的??

这里写图片描述

在这种情况下,小明知道了每种颜色小球的比例,比如橙色占比二分之一,如果我猜橙色,很有可能第一次就猜中了。所以,根据策略,1/2的概率是橙色球,小明需要猜一次,1/4的概率是紫色球,小明需要猜两次,1/8的概率是蓝色球,小明需要猜三次,1/8的概率是青色球,小明需要猜三次,所以小明预期的猜题次数为:

H = 1/2 * 1 + 1/4 * 2 + 1/8 * 3 + 1/8 * 3= 1.75

第一题的信息熵为2,第二题的信息熵为1.75,也就是信息熵如下:

H(X) = -∑P(x)logP(x)

题目1中,小明对整个系统一无所知,只能假设所有的情况出现的概率都是均等的,此时的熵是最大的。
题目2中,小明知道了橙色小球出现的概率是1/2及其他小球各自出现的概率,说明小明对这个系统有一定的了解,所以系统的不确定性自然会降低,所以熵小于2。
变量X的不确定性越大,信息熵也就越大。也就是说,如果要把这件事搞清楚,所需要知道的信息量就越多。换句话说,信息熵就是信息的不确定性。

条件熵 – 在一个条件下,随机变量的不确定性

我在知乎上看到一个很好的栗子:
通俗地讲,X(明天下雨)是一个随机变量,X的熵可以算出来, Y(明天阴天)也是随机变量,在阴天情况下下雨的信息熵我们如果也知道的话(此处需要知道其联合概率分布或是通过数据估计)即是条件熵。

两者相减就是信息增益!原来明天下雨例如信息熵是2,条件熵是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!

所以在特征选择的时候常常用信息增益,如果IG(信息增益大)的话那么这个特征对于分类来说很关键~~ 决策树就是这样来找特征的!

言归正传,一个事物内部会存在随机性 ,也就是不确定性(信息熵),假定为U,而消除这个不确定性的唯一的办法就是引入相关的信息I,并且引入的信息I要大于U才可以。如果I < U,则这些加入的信息只能消除一部分不确定性,不能完全消除不确定性:

U’ = U - I

如果要证明为什么这些相关的信息可以消除信息的不确定性,为此要引入一个新的概念,条件熵。

上文中讲到了信息熵,在知道某个随机变量X和它的随机分布后,就可以计算得到它的信息熵。

假设我们现在还知道另一个随机变量Y的情况,包括它和X一起出现的概率,也就是X和Y的联合概率分布;以及在Y取值的前提下,X的概率分布,也就是条件概率分布。则可以定义在Y的条件下的条件熵为:

H(X|Y) = -∑P(x,y)logP(x|y)

以上的条件熵可以理解为,在知道了某些信息Y之后,X的信息熵是多少。H(X) >= H(X|Y),因为在知道了一些Y的信息之后,X的信息熵比只知道X的情况下下降了。也就是说与X相关的信息Y,消除了信息X的不确定性。正如本节第一句话所言,相关的信息可以消除信息的不确定性。

互信息(信息增益):熵 - 条件熵

Shannon在信息论中提出了互信息的概念作为两个随机事件相关性的量化度量。

互信息就是表示两个随机事件的相关性。

它有一个看上去不知所云的表达式I(X;Y) = ∑P(x,y)log(p(x,y)/(P(x)P(y)))

上边这个公式看看就好,接下来要理解的是:

I(X;Y) = H(X) - H(X|Y)

所谓的互信息,就是信息熵与条件熵相减。通俗来说,信息熵是要了解事件X所要知道的信息量(也就是X的不确定性),减去在知道了Y之后仍然不确定的事,就得到了知道Y后可以确定的关于X的信息,也就是X与Y的相关性。

当X与Y完全相关时,I(X;Y) 为1;当他们完全不相关时,I(X;Y) 为0。其余情况取值在0和1之间。

交叉熵(相对熵)

前面已经介绍了信息熵和互信息,它们是信息论的基础,而信息论则在自然语言处理中扮演着指导性的角色。
交叉熵也用来衡量相关性,但和变量的互信息不同,它用来衡量两个取值为正数的函数的相似性。

互信息:X与Y的相关性,两者是否有关系,有多少关系。
交叉熵,X与Y的相似性,它们两个是否相同。

交叉熵的定义如下:

KL(f(x)||g(x)) = ∑f(x)·log(f(x)/g(x))

同时,存在以下三条结论:

对于两个完全相同的函数,它们的交叉熵等于0.

交叉熵越大,两个函数差异越大;交叉熵越小,两个函数差异越小。

对于概率分布或概率密度函数,如果取值均大于0,交叉熵可以度量两个随机分布的差异性。

交叉熵可在神经网络(机器学习)中作为损失函数(softmarks + entropy),p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。

参考:
CyberRep: https://www.zhihu.com/question/41252833

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值