当前位置: 代码迷 >> 综合 >> 交叉熵损失函数(CrossEntropy Loss)(原理详解)
  详细解决方案

交叉熵损失函数(CrossEntropy Loss)(原理详解)

热度:3   发布时间:2024-03-06 04:10:43.0

        监督学习主要分为两类:

  1. 分类:目标变量是离散的,如判断一个西瓜是好瓜还是坏瓜,那么目标变量只能是1(好瓜),0(坏瓜)
  2. 回归:目标变量是连续的,如预测西瓜的含糖率(0.00~1.00)

        分类主要分为:

  • 二分类:如判断一个西瓜是好瓜还是坏瓜
  • 多分类:如判断一个西瓜的品种,如黑美人,特小凤,安农二号等

        而交叉熵损失函数是分类中最常用的损失函数,交叉熵是用来度量两个概率分布的差异性的,用来衡量模型学习到的分布和真实分布的差异

二分类

        在二分类情况中,对于每一类别的预测只能是两个值,假设预测为好瓜(1)的概率为PPP,坏瓜(0)的概率为1?P1-P1?P
        则,二分类交叉熵损失的一般形式为,其中y为标签:
在这里插入图片描述
这个式子怎么理解呢?

        预测为好瓜(1)的概率为PPPP(y=1∣x)=PP(y=1|x)=PP(y=1x)=P
        预测为坏瓜(0)的概率为1?P1-P1?PP(y=0∣x)=1?PP(y=0|x)=1-PP(y=0x)=1?P
        则,P(y∣x)=Py(1?P)1?yP(y|x)=P^y(1-P)^{1-y}P(yx)=Py(1?P)1?y,当y为1时,P(y∣x)=PP(y|x)=PP(yx)=P,当y为0时,P(y∣x)=1?PP(y|x)=1-PP(yx)=1?P


交叉熵函数公式原理:

        学习一个东西,就要深入的了解他,否则一直停留在表面上,就无法进一步研究,这个交叉熵是如何得到的呢,如何理解他?
首先要理解下面几个概念:

  1. 信息量
            信息量表示一条信息消除不确定性的程度,如中国目前的高铁技术世界第一,这个概率为1,这句话本身是确定的,没有消除任何不确定性。而中国的高铁技术将一直保持世界第一,这句话是个不确定事件,包含的信息量就比较大。信息量的大小和事件发生的概率成反比
    在这里插入图片描述

  2. 信息熵
            信息熵则是在结果出来之前对可能产生的信息量的期望,期望可以理解为所有可能结果的概率乘以该对应的结果。
    在这里插入图片描述
            信息熵是用来衡量事物不确定性的。信息熵越大(信息量越大,P越小),事物越具不确定性,事物越复杂。

  3. 相对熵(即KL散度)
            相对熵又称互熵,设p(x)p(x)p(x)q(x)q(x)q(x)是取值的两个概率分布,相对熵用来表示两个概率分布的差异,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。:
    在这里插入图片描述
    (可以这样想,对于一个二分类,p要么为0要么为1,由log图像知,p为0时值为0,为1时,q越接近1,logpqlog{p \over q}logqp?越小,越接近于0)(这里的log底数为2)
    在这里插入图片描述

  4. 交叉熵
            将相对熵展开可以得到如下:
    在这里插入图片描述
    在这里插入图片描述
            由上式可知,相对熵=交叉熵-信息熵,H(p,q)就是交叉熵:

在这里插入图片描述
        由于在机器学习和深度学习中,样本和标签已知(即p已知),那么信息熵H(p)相当于常量,此时,只需拟合交叉熵,使交叉熵拟合为0即可。

多分类

        多分类和二分类类似,二分类标签为1和0,而多分类可以用one-hot编码来表示,即现在要预测西瓜品种,品种有黑美人,特小凤,安农二号,如果真实标签为特小凤即(0,1,0),预测标签为安龙二号即(0,0,1),将预测标签的各个概率带入即可,多分类的情况实际上就是对二分类的扩展:
在这里插入图片描述
        yiky_{ik}yik?表示第 iii个样本的真实标签为kkk ,共有KKK个标签值 NNN个样本, pi,kp_{i,k}pi,k?表示第 iii个样本预测为第 kkk个标签值的概率。通过对该损失函数的拟合,也在一定程度上增大了类间距离。

  相关解决方案