信息论的由来:
是应用数学的分支,主要研究的是对一个信号能够提供的信息多少进行量化,最初用于研究在一个含有噪声的信道上用离散的字母表来发送消息,指导最优的通信编码。
一个信息论的基本想法:一个不太可能发生的事件发生了要比一个非常可能的事件发生提供更多的信息,也就是‘异常’事件发生的背后拥有我们更想知道的东西。
信息熵
自信息:
一个事件所包含的信息
信息熵:
随机变量或整个系统的不确定性,熵越大,随机变量或系统的不确定性就越大,及所描述的是有关事件X的所有可能结果的自信息期望值:
其中,n代表事件x的所有n种可能的取值,Pi代表了事件x为i时的概率。
信息熵的意义:
熵的作用:计算损失(Loss function)用于调整梯度递减的步长
本次熵(损失)比上次熵(损失)大,说明步长太大了。
用于决策树熵越大,说明特征(feature)的划分数据能力越强。
联合熵
用于度量二维随机变量的不确定性
对于随机变量(X,Y)的联合分布为,则联合熵为
条件熵
X给定条件下Y的条件概率分布的熵对X的数学期望(平均不确定)
几种熵的相互关系和结果推导
相对熵
相对熵又称为KL三度,信息三度,信息增益。
作用:主要用来衡量两个分布的相似度,假设连续随机变量x的真实概率分布为p(x),模型得到的近似分布为q(x),例如针对分布p,q则相对熵为:
互信息
用来衡量两个相同的一维分布变量之间的独立性
I (X,Y) 是衡量联合分布p(x,y)和p(x)p(y)分布之间的关系,即他们之间的相关系数
互信息
设两个随机变量(X, Y)的联合分布为p(x,y),边际分布分别为p(x), p(y),则互信息 I (X,Y) :
从公式中可以看出互信息是满足对称性的,其在特性选择、分布的距离评估中应用非常广泛
互信息在信息论和机器学习中非常重要,其可以评价两个分布之间的距离,这主要归因于其对称性,假设互信息不具备对称性,那么就不能作为距离度量,例如相对熵,由于不满足对称性,故通常说相对熵是评价分布的相似程度,而不会说距离。互信息的定义为:一个随机变量由于已知另一个随机变量而减少的不确定性,或者说从贝叶斯角度考虑,由于新的观测数据y到来而导致x分布的不确定性下降程度。
信息熵,条件熵,互信息的互相关系:
信息增益
假设系统原有的熵为H(Y),后来引入了特征T,在固定特征T的情况下,系统的混乱度减小,熵减小为 H(Y|T),那么特征 T给系统带来的信息增益为:
需要注意的是:在数值上,信息增益和互信息完全相同,但意义不一样,需要区分,当我们说互信息时候,两个随机变量的地位是相同的,可以认为是纯数学工具,不考虑物理意义,当我们说信息增益时候,是把一个变量看成是减少另一个变量不确定度的手段。
信息增益常用作决策树ID3算法在进行特征切割时使用的划分准则
信息是我们一直在谈论的东西,但信息这个概念本身依然比较抽象。信息可不可以被量化,怎样量化?答案当然是有的,那就是“信息熵”。早在1948年,香农(Shannon)在他著名的《通信的数学原理》论文中指出:“信息是用来消除随机不确定性的东西”,并提出了“信息熵”的概念(借用了热力学中熵的概念),来解决信息的度量问题。
信息熵是消除不确定性所需信息量的度量,也即未知事件可能含有的信息量
举个例子,假设我们没有看世界杯的比赛,但是想知道哪支球队会是冠军,只能去问已经看过比赛的观众,但是我们只能猜测某支球队是或不是冠军,然后观众用对或不对来回答,我们想要猜测次数尽可能少,所用的方法就是二分法。
假如有 16 支球队,分别编号,先问是否在 1-8 之间,如果是就继续问是否在 1-4 之间,以此类推,直到最后判断出冠军球队是哪只。如果球队数量是 16,我们需要问 4 次来得到最后的答案。那么世界冠军这条消息的信息量就是 4。在计算机中,这条信息的信息量就是 4 比特,如果一共是 32 支球队参赛,那么世界冠军的信息量就是 5 比特,可以看到信息量跟可能情况的对数 log (以 2 为底)有关。
但是以往经验表示,如果世界杯有 32 支球队参赛,有些球队实力很强,拿到冠军的可能性更大,而有些队伍拿冠军的概率就很小。我们在之前用二分法计算的时候其实是看做每个球队夺冠的概率都相等,因此我们从最可能夺冠的几支球队中猜测冠军球队,实际需要的信息量是小于我们之前方法计算的信息量的。
准确的信息量应该是: H = -(p1 * logp1 + p2 * logp2 + … + p32 * logp32),其中 p1, …, p32 分别是这 32 支球队夺冠的概率。我们再回头验算一下,当每支球队夺冠概率相等都是 1/32 的时候,H = -(32 * 1/32 * log1/32) = 5,根据最大熵原理,每个事件概率相同时,这件事最不确定,熵也最大。
自信息
自信息是熵的基础,理解它对后续理解各种熵非常有用。自信息表示某一事件发生时所带来的信息量的多少,当事件发生的概率越大,则自信息越小,或者可以这样理解:某一事件发生的概率非常小,但是实际上却发生了(观察结果),则此时的自信息非常大;某一事件发生的概率非常大,并且实际上也发生了,则此时的自信息较小。以全班的考试成绩为例,通常我们知道整个班成绩是符合高斯分布的,通过一次考试,发现每个人成绩都是相同的,则在学校看来这是一个爆炸性新闻,因为这是一个极低的事件,但是却发生了,不符合常规,下一步应该就是调查了吧。再说一个生活中的例子,如果有人告诉我们一件相当不可能发生的事件发生了,那么我们收到的信息量要多于我们被告知某个很可能发生的事件发生时收到的信息,此时自信息就比较大了。
总结:
自信息是衡量随机变量中的某个事件发生时所带来的信息量的多少,越是不可能发生的事情发生了,那么自信息就越大;
信息熵是衡量随机变量分布的混乱程度,是随机分布各事件发生的自信息的期望值,随机分布越宽广,则熵越大,越混乱;
信息熵推广到多维领域,则可得到联合信息熵;
在某些先验条件下,自然引出条件熵,其表示在X给定条件下,Y的条件概率分布熵对X的数学期望,没有啥特别的含义,是一个非常自然的概念;
前面的熵都是针对一个随机变量的,而交叉熵、相对熵和互信息可以衡量两个随机变量之间的关系,三者作用几乎相同,只是应用范围和领域不同。交叉熵一般用在神经网络和逻辑回归中作为损失函数,相对熵一般用在生成模型中用于评估生成的分布和真实分布的差距,而互信息是纯数学的概念,作为一种评估两个分布之间相似性的数学工具,其三者的关系是:最大化似然函数,等价于最小化负对数似然,等价于最小化交叉熵,等价于最小化KL散度,互信息相对于相对熵区别就是互信息满足对称性;作为熵的典型机器学习算法-决策树,广泛应用了熵进行特征划分,常用的有信息增益、信息增益率和基尼系数。