交叉熵损失(Cross-Entropy loss)

交叉熵损失(Cross-Entropy loss)在处理机器学习或深度学习问题时 损失 成本函数用于在训练期间优化模型

大家好,欢迎来到IT知识分享网。

在处理机器学习或深度学习问题时,损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低,模型越好。交叉熵损失是最重要的成本函数。它用于优化分类。对交叉熵的理解取决于对 Softmax 激活函数的理解。

 一、softmax激活函数

激活函数是神经网络的组成部分。如果没有激活函数,神经网络是一个简单的线性回归模型。这意味着激活函数为神经网络提供了非线性。

维基百科:通常作为神经网络的最后一层,将网络的输出标准化为预测输出类别的概率分布。

交叉熵损失(Cross-Entropy loss)

在这里,Z 表示输出层神经元的值,指数充当非线性函数。随后将这些值除以指数值之和以进行标准化,然后将其转换为概率。

例子:

交叉熵损失(Cross-Entropy loss)

假设 Z21、Z22、Z23 的值分别为 2.33、-1.46 和 0.56。SoftMax 激活函数应用于每个神经元,并生成以下值。

交叉熵损失(Cross-Entropy loss)

这些是数据点属于各个类别的概率值,各类别概率之和等于 1。

交叉熵损失(Cross-Entropy loss)

在这种情况下,很明显输入属于类别 1。因此,如果这些类别中任何一个的概率发生变化,第一类的概率值也会发生变化。

维基百科描述
交叉熵损失(Cross-Entropy loss)

特别地,在多项逻辑回归和线性判别分析中,函数的输入是从K个不同的线性函数得到的结果,而样本向量 x 属于第 j 个分类的概率为:

交叉熵损失(Cross-Entropy loss)

hardmax VS softmax

hardmax最大的特点就是只选出其中一个最大的值,即非黑即白。但是往往在实际中这种方式是不合情理的,比如对于文本分类来说,一篇文章或多或少包含着各种主题信息,我们更期望得到文章对于每个可能的文本类别的概率值(置信度),可以简单理解成属于对应类别的可信度。所以此时用到了soft的概念,Softmax的含义就在于不再唯一的确定某一个最大值,而是为每个输出分类的结果都赋予一个概率值,表示属于每个类别的可能性。

二、交叉熵

交叉熵是给定随机变量或事件集的两个概率分布之间差异的度量。

信息量化了编码和传输事件所需的位数。较低概率的事件具有更多的信息,较高概率的事件具有较少的信息。

在信息论中,我们喜欢描述事件的“惊喜”。事件的可能性越小,就越令人惊讶,这意味着它包含更多信息。

  • 低概率事件令人惊讶):更多信息。
  • 高概率事件不足为奇):信息较少。

给定事件P(x)的概率,可以计算事件x的信息h(x )如下:

h(x) = -log(P(x))

在物理学中,“熵”被用来表示热力学系统所呈现的无序程度。香农将这一概念引入信息论领域,提出了“信息熵”概念,通过对数函数来测量信息的不确定性。

交叉熵(cross entropy)是信息论中的重要概念,主要用来度量两个概率分布间的差异。假定 p和 q是数据 x的两个概率分布,通过 q来表示 p的交叉熵可如下计算:

H(p,q)=- \sum_{x}p(x)logq(x)

交叉熵刻画了两个概率分布之间的距离,旨在描绘通过概率分布 q来表达概率分布 p的困难程度。根据公式不难理解,交叉熵越小,两个概率分布 p和 q越接近。这里仍然以三类分类问题为例,假设数据 x属于类别 1。记数据x的类别分布概率为 y,显然 y=(1,0,0)代表数据 x的实际类别分布概率。记\hat{y}代表模型预测所得类别分布概率。那么对于数据 x而言,其实际类别分布概率 y和模型预测类别分布概率\hat{y}的交叉熵损失函数定义为:

crossEntropy =-ylog{\hat{y}}

神经网络所预测类别分布概率与实际类别分布概率之间的差距越小越好,即交叉熵越小越好

交叉熵的定义是基于信息论的思想,通过使用一个概率分布的负对数来表示事件的信息量,然后在另一个概率分布下计算这些信息量的平均值。这使得交叉熵成为衡量两个概率分布差异的一种有效方式,尤其在机器学习中,它经常被用作分类问题的损失函数。

假设所预测中间值 (z1,z2,z3)经过 Softmax映射后所得结果为 (0.34,0.46,0.20)。由于已知输入数据 x属于第一类,显然这个输出不理想而需要对模型参数进行优化。如果选择交叉熵损失函数来优化模型,则 (z1,z2,z3)这一层的偏导值为 (0.34−1,0.46,0.20)=(−0.66,0.46,0.20)。

可以看出,softmax和交叉熵损失函数相互结合,为偏导计算带来了极大便利。偏导计算使得损失误差从输出端向输入端传递,来对模型参数进行优化。在这里,交叉熵与Softmax函数结合在一起,因此也叫softmax损失(Softmax with cross-entropy loss)。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122974.html

(0)
上一篇 2025-10-12 17:00
下一篇 2025-10-12 17:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信