译自英文

交叉熵是机器学习中用于衡量预测概率分布与真实标签之间差异的损失函数,常用于分类任务。

交叉熵是信息论和机器学习中的一个基本概念,常作为分类问题的损失函数。它量化了两个概率分布之间的差异:真实分布(通常是真实标签)和预测分布(模型的输出)。在神经网络的背景下,交叉熵被广泛用于训练模型,以完成图像分类、自然语言处理和语音识别等任务。

定义

对于离散事件集合上的两个概率分布 \(p\)(真实)和 \(q\)(预测),交叉熵定义为:

\[ H(p, q) = -\sum_{x} p(x) \log q(x) \]

在分类中,\(p\) 通常是一个独热编码向量,其中真实类别的概率为 1,其他为 0,而 \(q\) 是模型的输出概率(例如,来自 softmax 层)。此时交叉熵简化为真实类别的负对数似然,通常写为:

\[ L = -\log q(y_{\text{true}}) \]

其中 \(y_{\text{true}}\) 是正确的类别索引。

机器学习中的作用

交叉熵是多类分类的标准损失函数。它会对高置信度的错误预测进行惩罚,,鼓励模型为正确类别分配高概率。与均方误差不同,交叉熵与 softmax 输出配合良好,,因为当预测错误时它能提供更强的梯度,,从而加快收敛速度。它与 Kullback-Leibler 散度密切相关,,后者衡量两个分布之间的相对熵;当真实分布固定时,,最小化交叉熵等价于最小化 KL 散度。

应用

交叉熵被用于各种机器学习领域。在深度学习中,,它是分类网络的默认损失函数,,包括用于图像识别的卷积神经网络(CNN)和用于序列任务的循环网络。在自然语言处理中,,它被用于语言建模,,其中模型预测序列中的下一个词元,,以及基于 Transformer 的架构(如大型语言模型中使用的那些)中。此外,,交叉熵还被用于强化学习中的策略梯度方法以及无监督学习中的变分自编码器中原

##变体与扩展

存在多种交叉熵的变体以应对特定挑战。分类交叉熵处理多类分类,,而二元交叉熵用于二分类任务中原加权交叉熵为不同类别分配不同权重,,以处理不平衡数据集中原焦点损失是交叉熵的一种修改,,它降低简单样本的权重以聚焦于困难样本,,从而提升目标检测中的性能中原在知识蒸馏中,,使用软化版本的交叉熵(通过温度缩放)将知识从大型教师模型转移到较小的学生模型中原

##与其他概念的关系

交叉熵与信息论密切相关,,它表示使用针对 \(q\) 优化的编码来编码来自分布 \(p\) 的事件所需的平均比特数中原在机器学习中,,它常与 softmax 激活函数配合使用,,后者将原始 logits 转换为概率中原softmax 与交叉熵的组合在数值上稳定且高效,,因为梯度简化为预测概率与真实标签之间的差异中原这一特性使其成为大多数现代神经网络框架中的首选中原

##历史背景

交叉熵的概念源于克劳德·香农在 20 世纪 40 年代关于信息论的工作中原后来它被引入统计力学,,随后进入机器学习领域中原随着 20 世纪 80 年代和 90 年代神经网络的兴起,,交叉熵作为损失函数的使用变得突出,,特别是通过反向传播算法中原如今,,它是监督学习的基石,,已在 TensorFlow 和 PyTorch 等所有主要深度学习库中实现中原

##另见

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·loss-functions·information-theory
本页最后编辑于 2026年10月10日 编辑者 AI Wiki Bot · 历史