交叉熵损失函数公式_机器学习-交叉熵与损失函数

一、信息是什么?

信息很抽象,看不见摸不着,却似乎又无处不在,一封邮件、一首歌、一则新闻、一本书、一张地图、一句话......

但信息究竟是什么?

朗文双解词典:

Information: Facts or details that tell you something about a situation, person, event, etc.

知乎大神:

1、从“你不知道”的状态变成“你知道”的状态,这个过程中传送的“东西”,就叫信息。

2、信息是发送者和解读者的相关knowledge base之间的diff。

3、让你搞清状况的东西。

但所有的以上答案,都可以用信息论之父香农的定义来概括:

信息是用来消除不确定的东西。

比如:

路标指示信息,可以消除岔路口方向的不确定性,帮助你选择正确的道路。

197d89356c158ff8510081a3d5a86012.png

一封家书,可以告知你家里的情况,消除你对一些不确定状况的顾虑,让你安心的学习、工作。

1217a5e5daec2ef56ddca5ec9ed8192f.png

天气预报可以帮你确定未来的天气,帮助你更好的决定下一步的安排。

2f73494504c08a74c2d2df25f8528a5d.png

二、信息的传递

信息传递的方式有很多中,比较古老的像周幽王烽火戏诸侯。那个时候,技术手段比较落后,而军情又十万火急,于是就想到了用烽火来进行传递。但由于烽火只有点燃和未点燃两种状态,所以能表达的内容十分有限。

d91454a8b8235ce295ffa9a0339d0cbd.png

后来有了电报,情况好很多。但由于发送接受需要编译码,操作复杂,效率比较低,也只能传输少量的信息。并且价格昂贵,通常是按字数收费。

e0a25f8f0e352228e9c5f3838a2904c1.png

所以电报的内容通常都很精炼。比如,你要发送:

“家里又急事儿,赶快回来一趟。”

为了省钱,结果可能就会变为:

“事急,速回。”

但有些情况,通过精简文字是行不通的。比如,你要发送一段诗:

“轻轻的我走了,

正如我轻轻的来;

我轻轻的招手,

作别西天的云彩。”

少一个字,诗的意境就会大打折扣。

但从诗的内容上来看,确实有很多重复的字,难道除了减字儿就没有其它辙了吗?

当然不是。

我们知道,电报是通过电报码来发送的,就是一个个的0和1的状态。分析一下,这段诗中我们一共用到了16个汉字。如果用二进制对其进行编码,需要:

6ef4b9bfdd5712e202d498b2aa90f318.png

个bit位。编码如下:

e9bd6fb962efe74917b17f5d7c6acdf0.png

全诗一共有26个字,这样我们就需要发送:

26×4 = 104

个bit位。

如果我们换一种编码方式,用少的位表示出现概率大的字,多的位表示出现概率低的字,也就是哈夫曼编码,看看结果如何。

首先统计诗中文字出现的概率:

02920852696b38f86c52840f8d41945a.png

然后构造哈夫曼树如下:

6b3cde985c9af01501574d6ae41ae0a8.png

编码结果:

dd780520d205b3b4f83eff58d8988c48.png

这样,我们需要发送的bit数就变为:

6×2+4×3+3×3+1×5×10+1×4×3 = 95

比先前的编码少9个bit。同样达到了精简内容的目的。

再后来有了电话、手机、互联网,这种限制越来越小。现在我们可以通过互联网很轻松的传递以T计的内容,在线观看高清电影。

ffa3bbacad4de757ad400d5e72eb2879.png

三、信息如何衡量?

在电报的发送中我们已经看到,找出一种衡量信息多少的方式非常重要。就像时间有秒,质量有克,距离有米等。那信息呢?既然信息是用来消除不确定的东西,如何衡量它的大小?也就是说如何知道在消除一个不确定事件的时候需要多少信息?

比如,要想知道明天太阳是否会照常升起,需要多少信息?

按以往的经验,太阳照常升起的概率几乎是1,所以几乎不需要猜测就能知道结果。

但如果是掷一枚硬币,想知道它是不是正面,需要多少信息?

硬币的结果只有两种,非正即反,概率都是1/2。所以只需要一次猜测就能知道结果。

假设实际结果为正面。

如果猜正面,结果正确,结束。如果猜反面,被告知结果错误,同样可以推测出来正确结果是正面。

所以只需猜测一次。

再比如,一道选择题有A、B、C、D四个选项,要猜出正确结果,又需要多少信息呢?

四个选项概率相等,都是1/4,假设正确答案为C。

我们先将选项分成两组:

第一组:A、B

第二组:C、D

第一次猜测:如果猜第一组,被告知错误,那么就知道答案在第二组。如果猜第二组,正确。

第二次猜测:如果猜C,得出结果,猜测结束。如果猜D,被告知错误,于是得出C为正确答案。

可以看出,需要猜测两次。

由以上例子可以看出,事件发生的概率越小,不确定性越大,消除不确定性需要的信息量就越大。所以信息量和概率有关系,并且是反相关。

回过头来看上面的例子,

太阳照常升起的概率为1:

ac6531eac337420a77149704b8136c91.png

硬币为正面的概率为​:

c78af5695ad369fd2b7980d3e080571e.png

答案为C的概率为​:

6004248e42fdb2eb28c2cc025ad01d46.png

将上面三个等式两边以2为底取对数,并添加负号,有:

536a8b4ab1d9a9d417b4548e8e0ddbf6.png

0、1、2正好对应我们获取正确答案的猜测次数。也就是消除不确定性需要的信息量。

进一步推广出去,香农把:

f58588f25d6245d3bc616efa699efcac.png

定义为信息量。对数的底为2只是其中的一种情况,此时信息量的单位为bit。

有了这个式子,就可以量化信息了。

四、什么是信息熵?

有了信息量为什么还要信息熵呢?信息熵又是个啥?

假设你是一个经验丰富的工程师,在维修一台电子设备,引发设备故障的原因有A、B、C、D四种。

如果四种原因的概率相同,都是1/4,根据之前信息量的计算公式,很容易就能算出来:

f2cbe23a00cfb1342b646ae7e88c7c9d.png

最多两次能排查出故障原因。

但如果引发故障原因的概率不等呢?比如,A的概率为1/2,B的概率是1/4,C、D的概率是1/8。

直觉告诉我们应该先排查A,然后是B,最后才是C、D。需要排查的次数是四种原因信息量的期望,为:

aa43c545403fa4c73ee4fa3d164e17f8.png

小于2。

等概率情况信息量的期望为:

6dc258da890e49c84fef83a05e2845fd.png

等于单个选项的信息量。

所以,有些情况,仅有信息量是不够的。还需要知道信息量的期望,这就是信息熵。

信息熵:平均信息量,信息量的期望。

五、什么是相对熵?

如何衡量两个随机变量概率分布的相似程度?

我们已经有了信息熵的概念,就是信息量的期望,也叫平均信息量。那能不能简单的就用信息熵来衡量呢?

显然不能。

比如,两个随机变量x和y的概率分布如下:

bbdbb9c1df78bd1b7757bf69c96c2529.png

二者的信息熵:

33a80ba945dba8ec8489587947f7dd42.png

是相等的,

185070c6b82b1d1f4614388309a574ef.png

但概率分布明显差异很大。所以,简单的用信息熵来衡量概率分布的相似程度是行不通的。

但是不是意味着信息熵就不能用了呢?

不是,只不过要变一变。

选用一个固定的概率分布来求信息熵:

450a51986f7f81e07de2e1dc74049756.png

或者

0c2788d2304b807856fea3f434658ec6.png

于是,便有:

7a96582153abe7083008370c86f30378.png

或者:

471b5da001bc466be4a9c55075ac300c.png

这样用来衡量概率分布的差异就没问题了。而:

1a6a45e3c020fd9420b0d11120177c2f.png

就称为p对q的相对熵。

总结起来:

相对熵就是:描述两个概率分布P和Q差异的一种方法。

六、损失函数与交叉熵

机器学习中,实际分布为p,预测分布为q。训练的过程就是调整参数使q不断逼近p的过程。调整的依据就是q与p的差。

如何衡量这个差呢?

就可以用相对熵:

0a896524e2ab8fa03f9f308b968945c8.png

但由于实际分布的熵:

620378d4bcceb68dd491d4fdd8dafdbd.png

固定不变。

所以可以省略简化,只优化:

6d0c65135889acbdf075a212a835d951.png

部分就可以了。

​H(p||q)又被称为交叉熵。交叉熵主要度量两个概率分布间的差异性信息。

(注:本文部分图片来自于网络,如有侵权请联系作者删除。)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值