信息量, 信息熵, 交叉熵, KL散度

信息量, 信息熵, 交叉熵, KL散度信息量作者:李威威来源:简书原文:https://www.jianshu.com/p/2ea0406d0793信息量是通过概率来定义的:如果一件事情的概率很低,那么它的信息量就很大;反之,如果一件事情的概率很高,它的信息量就很低。信息量的度量就等于不确定性的多少,简而言之,概率小的事件信息量

大家好,欢迎来到IT知识分享网。

信息量

作者:李威威   来源:简书      原文:https://www.jianshu.com/p/2ea0406d0793   

信息量是通过概率来定义的:如果一件事情的概率很低,那么它的信息量就很大;反之,如果一件事情的概率很高,它的信息量就很低。信息量的度量就等于不确定性的多少,简而言之,概率小的事件信息量大,因此信息量可以定义如下:

信息量, 信息熵, 交叉熵, KL散度

信息量 = \log \frac{1}{p(x)} .

下面解释为什么要取倒数再去对数。

(1)先取倒数: \frac{1}{p(x)} 这件事表示:“信息量”和“概率”呈反比;

(2)在取对数:\log 取对数是为了将区间 [1,\infty] 映射到 [0, \infty]

 

再总结一下:

\because p(x) \in [0,1], \therefore \frac{1}{p(x)} \in [1, \infty], \therefore \log \frac{1}{p(x)} \in [0, \infty]

考虑一个离散的随机变量 xx,由上面两个例子可知,信息的量度应该依赖于概率分布 p(x),因此我们想要寻找一个函数 I(x),它是概率 p(x)的单调函数,表达了信息的内容。怎么寻找呢?如果我们有两个不相关的事件 x 和 y,那么观察两个事件同时发生时获得的信息量应该等于观察到事件各自发生时获得的信息之和,即:I(x,y)=I(x)+I(y)

 

其中负号是用来保证信息量是正数或者零。而 loglog 函数基的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特nats)。I(x)I(x) 也被称为随机变量 xx 的自信息 (self-information),描述的是随机变量的某个事件发生所带来的信息量。图像如图:

信息量, 信息熵, 交叉熵, KL散度

自信息

转自:信息量, 信息熵, 交叉熵, KL散度

自信息的含义包括两个方面:

1.自信息表示事件发生前,事件发生的不确定性。

2.自信息表示事件发生后,事件所包含的信息量,是提供给信宿的信息量,也是解除这种不确定性所需要的信息量。

互信息(信息增益)

转自:信息量, 信息熵, 交叉熵, KL散度

互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。

信息量, 信息熵, 交叉熵, KL散度

 

互信息计算公式如何推导:

原文:https://www.zhihu.com/question/35676611

信息量, 信息熵, 交叉熵, KL散度

 

全概率公式

 信息量, 信息熵, 交叉熵, KL散度 

互信息量I(xi;yj)在联合概率空间P(XY)中的统计平均值。 平均互信息I(X;Y)克服了互信息量I(xi;yj)的随机性,成为一个确定的量。

H(XY)—联合熵.表示输入随机变量X, 经信道传输到达信宿, 输出随机变量Y。即收,发双方通信后,整个系统仍然存在的不确定度.

I(X;Y) —通信前后整个系统不确定度减少量。在通信前把X和Y看成两个相互独立的随机变量, 整个系统的先验不确定度为X和Y的联合熵H(X)+H(Y); 通信后把信道两端出现X和Y看成是由信道的传递统计特性联系起来的, 具有一定统计关联关系的两个随机变量, 这时整个系统的后验不确定度由H(XY)描述。

信息熵

信息熵其实就是信息量的均值, 这里我们假设x的取值范围是{x1,x2,,xn}, 那么信息熵为 

信息量, 信息熵, 交叉熵, KL散度

显然当x的分布比较均匀时, 信息熵最大. 这跟物理学里面熵的概念比较吻合. 

信息量, 信息熵, 交叉熵, KL散度 

信息量, 信息熵, 交叉熵, KL散度

条件熵

条件熵 H(Y|X) 表示在已知随机变量 X 的条件下随机变量 H(Y|X) 定义为 X 给定条件下 信息量, 信息熵, 交叉熵, KL散度

条件熵H(X,Y) 减去单独的熵 H(X),即:

H(X,Y)“>H(Y|X)=H(X,Y)H(X),证明如下:

信息量, 信息熵, 交叉熵, KL散度

举个例子,比如环境温度是低还是高,和我穿短袖还是外套这两个事件可以组成联合概率分布 H(X,Y),因为两个事件加起来的信息量肯定是大于单一事件的信息量的。假设 H(X) 对应着今天环境温度的信息量,由于今天环境温度和今天我穿什么衣服这两个事件并不是独立分布的,所以在已知今天环境温度的情况下,我穿什么衣服的信息量或者说不确定性是被减少了。当已知 H(X)这个信息量的时候,H(X,Y) 剩下的信息量就是条件熵:

H(Y|X)=H(X,Y)H(X)

因此,可以这样理解,描述 X 和 Y 所需的信息是描述 X 自己所需的信息,加上给定  X的条件下具体化  Y 所需的额外信息

交叉熵 (cross-entropy)

交叉熵衡量了用概率分布p去估计概率分布q所包含的平均信息量, 也就是: 

信息量, 信息熵, 交叉熵, KL散度

从另一个角度看, 当p, q相等时, 交叉熵就等于信息熵, 此时交叉熵最小. 所以在机器学习中, 交叉熵被用来做loss去衡量分类结果与真值的相似程度.

数学证明交叉熵函数的原理

版权声明:本文为CSDN博主「sunrise_ccx」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_27061325/article/details/95040888

【本文讨论的问题】:

若已知n个已知的真实值为信息量, 信息熵, 交叉熵, KL散度,且

信息量, 信息熵, 交叉熵, KL散度

现在有相应的n个未知的预测值 信息量, 信息熵, 交叉熵, KL散度,且

 信息量, 信息熵, 交叉熵, KL散度

X, Y为定值。问这些未知的预测变量满足什么条件时,可以使得信息量, 信息熵, 交叉熵, KL散度达到最大?

【解答】:

利用拉格朗日乘数法求解。

构造函数L如下:

 信息量, 信息熵, 交叉熵, KL散度

对所有自变量求偏导,得

 信息量, 信息熵, 交叉熵, KL散度

 

 信息量, 信息熵, 交叉熵, KL散度

分别令偏导数等于0,有

 信息量, 信息熵, 交叉熵, KL散度

 

 信息量, 信息熵, 交叉熵, KL散度

 

 信息量, 信息熵, 交叉熵, KL散度

 

 信息量, 信息熵, 交叉熵, KL散度

这就说明,当预测值为真实值得某一固定比例时,可以使得E最大。

当X=Y时,,即当预测值等于真实值时,E最大,这就迫使预测和真实十分接近。

注:

【1】交叉熵函数能达到这个效果,还得感谢对数函数。

如果将E中得对数函数换成线性函数,那就不能达到这个效果了,只会是让最大的y_i对应的x_i取X,而其他所有x_j取0。这不是我们想要的。

【2】离散信息熵的最大值证明也是用拉格朗日乘数法就可以了。

 信息量, 信息熵, 交叉熵, KL散度

 

 信息量, 信息熵, 交叉熵, KL散度  

信息量, 信息熵, 交叉熵, KL散度时达到最大。

信息量, 信息熵, 交叉熵, KL散度 

在机器学习中,我们希望在训练数据上模型学到的分布 P(model)和真实数据的分布  P(real) 越接近越好,所以我们可以使其相对熵最小。但是我们没有真实数据的分布,所以只能希望模型学到的分布 P(model)和训练数据的分布 P(train) 尽量相同。假设训练数据是从总体中独立同分布采样的,那么我们可以通过最小化训练数据的经验误差来降低模型的泛化误差。即:

  1. 希望学到的模型的分布和真实分布一致,P(model)P(real)
  2. 但是真实分布不可知,假设训练数据是从真实数据中独立同分布采样的,P(train)P(real)
  3. 因此,我们希望学到的模型分布至少和训练数据的分布一致,P(train)P(model)

根据之前的描述,最小化训练数据上的分布  P(train)与最小化模型分布 P(model)的差异等价于最小化相对熵,即 DKL(P(train)||P(model))。此时, P(train)P(train) 就是DKL(p||q) 中的 p,即真实分布,P(model) 就是 q。又因为训练数据的分布 p 是给定的,所以求  DKL(p||q)等价于求 H(p,q)得证,交叉熵可以用来计算学习模型分布与训练分布之间的差异。

KL散度

相对熵,又称KL散度( Kullback–Leibler divergence),是描述两个概率分布P和Q差异的一种方法。它是非对称的,这意味着D(P||Q) ≠ D(Q||P)。特别的,在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布。有人将KL散度称为KL距离,但事实上,KL散度并不满足距离的概念,因为:(1)KL散度不是对称的;(2)KL散度不满足三角不等式。
 

KL散度/距离是衡量两个分布的距离: 

 信息量, 信息熵, 交叉熵, KL散度

设 
p(x)q(x)是 离散随机变量 XX 中取值的两个概率分布,则 p 对 q 的相对熵是:
 
信息量, 信息熵, 交叉熵, KL散度

Jensen不等式证明

 信息量, 信息熵, 交叉熵, KL散度

信息量, 信息熵, 交叉熵, KL散度

吉布斯不等式证明

信息量, 信息熵, 交叉熵, KL散度 

证明交叉熵等于信息熵与KL散度的和

 信息量, 信息熵, 交叉熵, KL散度

显然,当p=q 时,两者之间的相对熵DKL(p||q)=0 。上式最后的Hp(q)表示在p分布下,使用q进行编码需要的bit数,而H(p)表示对真实分布p所需要的最小编码bit数。

基于此,相对熵的意义就很明确了:DKL(p||q)表示在真实分布为p的前提下,使用q分布进行编码相对于使用真实分布p进行编码(即最优编码)所多出来的bit数。并且为了保证连续性,做如下约定:

信息量, 信息熵, 交叉熵, KL散度

简单分解可以知道

信息量, 信息熵, 交叉熵, KL散度

 即交叉熵等于信息熵与KL散度的和. 在机器学习中, 优化交叉熵与优化KL散度是一样的效果, 因为q是已知的真值的分布, 所以H(q)是定值.

信息量, 信息熵, 交叉熵, KL散度

H(X|Y) = H(X,Y) - H(Y) = H(X) - I(X,Y);  # 条件熵
I(X,Y) = H(X) - H(X|Y) = H(X) + H(Y) - I(X,Y) #互信息
H(X|Y) <= H(X):
  • H(X)表示X的不确定度;H(X|Y)表示给定Y的情况下,X的不确定度。
  • 如果X与Y完全独立,则二者相等(给不给Y对X能给出多少信息无关);
  • 而如果X与Y不是独立的,则给定Y之后会降低X的熵,即X的不确定性会降低。

参考地址:

信息量, 信息熵, 交叉熵, KL散度 

https://www.jianshu.com/p/2ea0406d0793

交叉熵–损失函数: 信息量, 信息熵, 交叉熵, KL散度

一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉:https://blog.csdn.net/tsyccnh/article/details/79163834

如何通俗的解释交叉熵与相对熵?:https://www.zhihu.com/question/41252833

深入理解交叉熵 / 对数损失:https://zhuanlan.zhihu.com/p/52100927

详解机器学习中的熵、条件熵、相对熵和交叉熵: 信息量, 信息熵, 交叉熵, KL散度 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32402.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信