相关文章推荐
帅气的山羊  ·  基于相对熵和K-means的形状相似差分隐私 ...·  2 年前    · 
帅气的山羊  ·  详解机器学习中的熵、条件熵、相对熵、交叉熵- ...·  2 年前    · 
帅气的山羊  ·  基于相对熵方法的长寿债券定价研究·  2 年前    · 
帅气的山羊  ·  信息熵,交叉熵和相对熵- ...·  2 年前    · 
帅气的山羊  ·  如何理解K-L散度(相对熵) - ...·  2 年前    · 
小百科  ›  详解机器学习中的熵、条件熵、相对熵、交叉熵开发者社区 ...
信息熵 相对熵 随机变量 信息熵 机器学习
帅气的山羊
2 年前
作者头像
石晓文
0 篇文章

详解机器学习中的熵、条件熵、相对熵、交叉熵

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 小小挖掘机 > 详解机器学习中的熵、条件熵、相对熵、交叉熵

详解机器学习中的熵、条件熵、相对熵、交叉熵

作者头像
石晓文
发布 于 2019-10-24 11:14:55
1.5K 0
发布 于 2019-10-24 11:14:55
举报

目录

  • 信息熵
  • 条件熵
  • 相对熵
  • 交叉熵
  • 总结

一 信息熵 (information entropy)

熵 (entropy) 这一词最初来源于热力学。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。本文只讨论信息熵。首先,我们先来理解一下信息这个概念。信息是一个很抽象的概念,百度百科将它定义为:指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。那信息可以被量化么?可以的!香农提出的“信息熵”概念解决了这一问题。

一条信息的信息量大小和它的 不确定性 有直接的关系。我们需要搞清楚一件非常非常不确定的事,或者是我们一无所知的事,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们就不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为, 信息量的度量就等于不确定性的多少 。比如,有人说广东下雪了。对于这句话,我们是十分不确定的。因为广东几十年来下雪的次数寥寥无几。为了搞清楚,我们就要去看天气预报,新闻,询问在广东的朋友,而这就需要大量的信息,信息熵很高。再比如,中国男足进军2022年卡塔尔世界杯决赛圈。对于这句话,因为确定性很高,几乎不需要引入信息,信息熵很低。

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

因为两个事件是独立不相关的,因此 p(x,y)=p(x)p(y)。根据这两个关系,很容易看出 I(x) 一定 与 p(x) 的 对数有关 (因为对数的运算法则是 loga(mn)=logam+logan因此,我们有I(x)=−logp(x)。 其中负号是用来保证信息量是正数或者零 。 而 log函数基的选择是任意的 (信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特 nats )。I(x)也被称为随机变量 x的 自信息 ( self-information ), 描述的是随机变量的某个事件发生所带来的信息量 。图像如图:

最后,我们正式引出信息熵。现在假设一个发送者想传送一个随机变量的值给接收者。那么在这个过程中,他们传输的平均信息量可以通过求 I(x)=−logp(x)关于概率分布 p(x) 的期望得到,即:

H(X) 就被称为随机变量 x的 熵 , 它是表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望 。从公式可得, 随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大 ,且 0≤H(X)≤logn。稍后证明。将一维随机变量分布推广到多维随机变量分布,则其 联合熵 ( Joint entropy ) 为:

(注意 :熵只依赖于随机变量的分布,与随机变量取值无关,所以也可以将 X的熵记作 H(p);令0log0=0(因为某个取值概率可能为0))

那么这些定义有着什么样的性质呢?考虑一个随机变量 x。这个随机变量有4种可能的状态,每个状态都是等可能的。为了把 x 的值传给接收者,我们需要传输2比特的消息。H(X)=−4×(1/4)log2(1/4)=2 bits。现在考虑一个具有4种可能的状态 {a,b,c,d} 的随机变量,每个状态各自的概率为 (1/2,1/4,1/8,1/8)。这种情形下的熵为:

我们可以看到, 非均匀分布比均匀分布的熵要小 。现在让我们考虑如何把变量状态的类别传递给接收者。与之前一样,我们可以使用一个2比特的数字来完成这件事情。然而,我们可以利用非均匀分布这个特点, 使用更短的编码来描述更可能的事件,使用更长的编码来描述不太可能的事件 。我们希望这样做能够得到一个更短的平均编码长度。我们可以使用下面的编码串(哈夫曼编码):0、10、110、111来表示状态 {a,b,c,d}。传输的编码的平均长度就是:

这个值与上方的随机变量的熵相等。熵和最短编码长度的这种关系是一种普遍的情形。Shannon 编码定理表明 熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度) 。因此,信息熵可以应用在数据压缩方面。可参考这篇文章讲的很详细了,我就不赘述了。 (http://www.ruanyifeng.com/blog/2014/09/information-entropy.html)

证明 0≤H(X)≤logn 利用拉格朗日乘子法证明: 因为 p(1)+p(2)+⋯+p(n)=1 目标函数:f(p(1),p(2),…,p(n))=−(p(1)logp(1)+p(2)logp(2)+⋯+p(n)logp(n)) 约束条件: g(p(1),p(2),…,p(n),λ)=p(1)+p(2)+⋯+p(n)−1=0 1) 定义拉格朗日函数: L(p(1),p(2),…,p(n),λ)=−(p(1)logp(1)+p(2)logp(2)+⋯+p(n)logp(n))+λ(p(1)+p(2)+⋯+p(n)−1) 2) L(p(1),p(2),…,p(n),λ)分别对 p(1),p(2),p(n),λ求偏导数,令偏导数为 0: λ−log(e⋅p(1))=0 λ−log(e⋅p(2))=0

 
推荐文章
帅气的山羊  ·  基于相对熵和K-means的形状相似差分隐私轨迹保护机制
2 年前
帅气的山羊  ·  详解机器学习中的熵、条件熵、相对熵、交叉熵-腾讯云开发者社区 ...
2 年前
帅气的山羊  ·  基于相对熵方法的长寿债券定价研究
2 年前
帅气的山羊  ·  信息熵,交叉熵和相对熵- PilgrimHui - 博客园
2 年前
帅气的山羊  ·  如何理解K-L散度(相对熵) - Aspirinrin - 简书
2 年前
Link管理   ·   Sov5搜索   ·   小百科
小百科 - 百科知识指南