理解交叉熵(Cross Entropy)

交叉熵(Cross Entropy)

线性回归问题中,常常使用MSE(Mean Squared Error)作为loss函数
而在分类问题中常常使用交叉熵作为loss函数。

在搜索“交叉熵”这个概念后,看到需要了解一些其他的名词。

信息量:

衡量信息量的大小就是看这个信息消除不确定性的程度。
在一些比较确定的事情上,信息量就为0.譬如说“煤是黑的”,概率P(x)=1,那么-log(P(x))=0
而再比如说“小明有10个小孩”,这句话信息量就比较大。假设小明有10个小孩的概率P(x)=0.1,那么信息量I(x)=-log(P(x))=-log(0.1)=3.3219

信息量的大小与信息发生的概率成反比。
概率越大,信息量越小。概率越小,信息量越大。

设某一事件发生的概率为P(x),其信息量表示为
在这里插入图片描述(其中I(x)表示信息量,这里log表示以e为底的自然对数。)
在这里插入图片描述

信息熵(熵)

用来表示所有信息量的期望。
期望是试验中每次可能结果的概率乘以其结果的总和

拿上面的例子继续说,譬如说“小明有10个小孩”这件事的概率有0.1。
这件事的结果取值只取两种可能(0:有、1:没有
那么在得到求证之前,这件事情有多大的不确定度呢?可能会说“十有八九没这么多孩子
用数学怎么来具体度量这个不确定度?就需要用到“期望”。对所有可能结果带来的额外信息量求取均值(期望)
所以信息熵可以表示为:(这里的X是个离散型随机变量)
在这里插入图片描述
对于0-1分布的问题,由于其结果只用两种情况,是或不是。计算熵的公式可以简化如下:
在这里插入图片描述

相对熵(KL散度、KL距离)

是两个随机分布间距离的度量。
如果对于同一个随机变量X有两个单独的概率分布P(x)和Q(x),则我们可以使用KL散度来衡量这两个概率分布之间的差异。
在这里插入图片描述

在机器学习中,常常使用P(x)来表示样本的真实分布Q(x)来表示模型所预测的分布
比如在一个三分类任务中(例如,猫狗马分类器)。x1、x2、x3分别代表猫,狗,马,例如一张猫的图片真实分布P(X)=[1,0,0], 预测分布Q(X)=[0.7,0.2,0.1],
计算KL散度:
在这里插入图片描述
KL散度越小,表示P(x)与Q(x)的分布更加接近,可以通过反复训练Q(x),来使Q(x)的分布逼近P(x)。

其实还没看太懂。。。

在这里插入图片描述
P在前,相当于以P为基准,看Q与P相差多少。
直观理解:若Q想要达到和P一样的分布的话,中间还差多少信息量
上述式子中,最后一行,前面的P的交叉熵H(P,Q),后面的p的熵
所以P的交叉熵越大,代表KL散度距离0的距离越远,Q和P就越不像

交叉熵

交叉熵越小,代表两个概率模型越相近

说是容易跟相对熵搞混。二者联系紧密,但又有所区别。
上面KL散度的式子拆开:
在这里插入图片描述
可以看出:KL散度 = 交叉熵 - 信息熵

交叉熵公式表示为:
在这里插入图片描述
在机器学习训练网络时,输入数据与标签常常已经确定,那么真实概率分布P(x)也就确定下来了,所以信息熵在这里就是一个常量。由于KL散度的值表示真实概率分布P(x)与预测概率分布Q(x)之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。

也就是说本来是需要通过计算KL散度来看真实与预测之间的差异,但由于机器学习中输入数据与标签确定,所以信息熵为一个常量,且因为KL散度 = 交叉熵 - 信息熵,所以只需要求交叉熵就行了。

参考:
https://blog.csdn.net/b1055077005/article/details/100152102
https://blog.csdn.net/rtygbwwwerr/article/details/50778098

交叉熵应用到神经网络里

在这里插入图片描述

似然值

真实的情况已经发生,我们假设他有很多模型,在这个概率模型下,发生这种情况的可能性。这个就是似然值。
硬币投出这样的结果,这个硬币本来的概率模型应该是什么样的呢?
虽然我们永远无法准确的确定,但选这个似然值最大的,就叫最大似然估计法。(挑出似然值最大的那个概率模型)

极大似然估计:
本质上就是在去计算神经网络里面的概率模型的似然值,找到那个极大似然值。这个就i应该是最接近现实情况的那个概率模型。在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值