你真的懂熵了吗(含交叉熵)

1.熵(Entropy)

1.1 熵的多种说法

不同的人、不同的领域对熵都做出了不同的解释:混乱程度,不确定性,惊奇程度,不可预测性,信息量等等。

1.2 首次提出

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

1.3 直接计算熵

我们知道1個2进制的每两个01序列可以表示两个数,比如男0女1。也就是每N个01序列可以表示2的N次方的数。假设一个信息事件有8种可能的状态,且各状态等可能性,即可能性都是12.5%=1/8。我们需要多少位来编码8个值呢?1位可以编码2个值(0或1),2位可以编码2×2=4个值(00,01,10,11),则8个值需要3位,2×2×2=8(000,001,010,011,100,101,110,111)。
我们不能减少任何1位,因为那样会造成歧义,同样我们也不要多于3位来编码8个可能的值。归纳来看,对于具有N种等可能性状态的信息,每种状态的可能性P = 1/N,编码该信息所需的最小编码长度为:
1/N*log以2为底的8的累加
以此类图得到不等概率的公式:
在这里插入图片描述

2.交叉熵(Cross-Entropy)

2.1 交叉熵的由来

重要的事情再说一遍:“熵是服从某一特定概率分布事件的理论最小平均编码长度”,只要我们知道了任何事件的概率分布,我们就可以计算它的熵;那如果我们不知道事件的概率分布,又想计算熵,该怎么做呢?那我们来对熵做一个估计吧,熵的估计的过程自然而然的引出了交叉熵。

2.2 熵的估计受到的影响

计算期望的概率分布是Q,与真实的概率分布P不同。
计算最小编码长度的概率是 -logQ,与真实的最小编码长度 -logP 不同。
也就是对于期望,我们使用真实概率分布P来计算;对于编码长度,我们使用假设的概率分布Q来计算,因为它是预估用于编码信息的。因为熵是理论上的平均最小编码长度,所以交叉熵只可能大于等于熵。换句话说,如果我们的估计是完美的,即Q=P,那么有H(P,Q) = H§,否则,H(P,Q) > H§。

2.3 交叉熵损失函数

熟悉机器学习的人都知道分类模型中会使用交叉熵作损失函数,也一定对吴恩达的机器学习视频中猫分类器使用的二分类交叉熵印象深刻。但是老师一般都是一笔带过,你真的懂了吗?
假设一个动物照片的数据集中有5种动物,且每张照片中只有一只动物,每张照片的标签都是one-hot编码。第一张照片是狗的概率为100%,是其他的动物的概率是0;第二张照片是狐狸的概率是100%,是其他动物的概率是0,其余照片同理;因此可以计算下,每张照片的熵都为0。换句话说,以one-hot编码作为标签的每张照片都有100%的确定度,不像别的描述概率的方式:狗的概率为90%,猫的概率为10%。

公式

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值