熵,交叉熵,相对熵

机器学习中熵是基础中的基础,又是必不可少的。本文对自己已经学过的知识做一个简单的总结。

熵:熵在物理学中表示”一个系统内在的混乱程度“。比如一间房子如果没人打扫会越来越乱,课桌上的书会越来越乱等等。我们说宇宙终究会归于热寂,也是根据热力学第二定律,即作为一个“孤立”的系统,宇宙的会熵随着时间的流异而增加,由有序向无序,当宇宙的熵达到最大值时,宇宙中的其他有效能量已经全数转化为热能,所有物质温度达到热平衡。这种状态称为热寂。这样的宇宙中再也没有任何可以维持运动或是生命的能量存在。

信息熵:信息熵是香农为了量化信息的表示而提出的一个概念,我们机器学习中的熵也指的是信息熵。香农用信息熵的概念来描述信源的不确定度。这里引用一文搞懂熵(Entropy),交叉熵(Cross-Entropy) - 知乎中的话。

信息论中熵的概念首次被香农提出,目的是寻找一种高效/无损地编码信息的方法:以编码后数据的平均长度来衡量高效性,平均长度越小越高效;同时还需满足“无损”的条件,即编码后不能有原始信息的丢失。这样,香农提出了熵的定义:无损编码事件信息的最小平均编码长度。

那么熵的那些描述和解释(混乱程度,不确定性,惊奇程度,不可预测性,信息量等)代表了什么呢?

如果熵比较大(即平均编码长度较长),意味着这一信息有较多的可能状态,相应的每个状态的可能性比较低;因此每当来了一个新的信息,我们很难对其作出准确预测,即有着比较大的混乱程度/不确定性/不可预测性。

并且当一个罕见的信息到达时,比一个常见的信息有着更多的信息量,因为它排除了别的很多的可能性,告诉了我们一个确切的信息。在天气的例子中,Rainy发生的概率为12.5%,当接收到该信息时,我们减少了87.5%的不确定性(Fine,Cloudy,Snow);如果接收到Fine(50%)的消息,我们只减少了50%的不确定性。

信息熵的计算公式为:-\sum p(i)*log(p(i))

p(i)表示事件i的发生概率,这里需要注意,熵是对于一个概率分布来说的,不是对一个孤立事件来说的。

交叉熵:很多时候我们并不知道我们所要求事件的概率分布,我们还想知道该事件所包含的信息量,即想求熵,这时候我们该怎么办呢?那就估计一个熵吧,我们说了,熵是对概率分布来讲的,要估计熵,必须要知道概率分布,这时候我们通常用数量去估计概率分布。当我们采集了样本,估计了概率分布了,自然可以求得估计熵,-\sum q(i)logq(i)这时候如果我们想知道我们的估计与真实值的差距,该怎么办?这就引出了交叉熵这个概念。

crossentropy:-\sum p(i)logq(i).交叉熵总是大于等于熵,因为我们的估计永远只是接近真实值,熵是真实值最小平均编码长度,因此交叉熵永远不可能小于熵。

相对熵:又叫KL散度,同样是为了衡量两个估计的概率分布之间的差异,

相对熵=交叉熵-熵。因为真实事件的熵往往是一个常数,而在机器学习中我们通过训练出一个接近于真实事件的概率分布来进行分类或者预测任务,所以机器学习中我们只需要用交叉熵作为损失函数就好了,交叉熵越小,kl散度越小。

公式贴在下面:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值