深度学习:交叉熵损失(Cross Entropy Loss)

交叉熵损失(Cross Entropy Loss)

定义和数学表达

交叉熵损失是一种常用于评估概率分类模型性能的损失函数。它衡量的是模型预测的概率分布与真实分布之间的差异。交叉熵损失特别适用于分类任务中,尤其是多类分类问题。

数学上,交叉熵可以定义为:

$C(\\mathbf{y}, \\mathbf{\\hat{y}}) = -\\sum_{i=1}\^{N} y_i \\log(\\hat{y}_i) $

其中:

  • ( y \mathbf{y} y ) 是真实的标签分布,通常表示为one-hot编码向量。
  • ( \\mathbf{\\hat{y}} ) 是模型预测的概率分布,由模型的输出层经过softmax函数转换得到。
  • ( N ) 是类别的总数。
  • ( y i y_i yi ) 是实际标签在第 ( i i i ) 类的值(0或1),( \\hat{y}_i KaTeX parse error: Can't use function '\\)' in math mode at position 1: \\̲)̲ 是预测为第 \\( i ) 类的概率。
特性

交叉熵损失的核心特性包括:

  • 敏感性:这个函数对正确分类的概率非常敏感。如果实际类别的预测概率低(即接近于0),那么损失将会非常高。
  • 非对称性:这种损失在处理极端概率(接近0或1)时表现出明显的非对称性。特别是当预测概率趋近于0时,损失会迅速增加。
交叉熵与信息论

在信息论中,交叉熵衡量的是使用错误的概率分布(模型预测)来编码事件(实际发生的类别)所需的额外信息量。理想情况下,我们希望模型的预测分布尽可能接近真实分布,这样交叉熵就最小,表示预测非常准确。

实例解释

考虑一个简单的三类分类问题,比如预测一张图片是猫、狗还是鸟。假设对于一个实例,真实标签是狗,模型的预测输出(经过softmax)为:

$ \\hat{y} = \[0.1, 0.7, 0.2\]$

对应的真实标签的one-hot编码为:

$ y = \[0, 1, 0\]$

交叉熵损失计算为:

$C(y, \\hat{y}) = -(0 \\times \\log(0.1) + 1 \\times \\log(0.7) + 0 \\times \\log(0.2)) = -\\log(0.7) $

C ( y , y \^ ) ≈ 0.3567 C(y, \\hat{y}) \\approx 0.3567 C(y,y\^)≈0.3567

这表明模型对真实类别(狗)的预测概率为0.7时的损失为0.3567。如果模型对狗的预测概率更高,比如0.9,则损失会更低,显示为:

C ( y , y \^ ) = − log ⁡ ( 0.9 ) ≈ 0.1054 C(y, \\hat{y}) = -\\log(0.9) \\approx 0.1054 C(y,y\^)=−log(0.9)≈0.1054

结论

交叉熵损失函数是监督学习中非常重要的工具,特别是在处理分类问题时。它不仅提供了一种衡量模型性能的方法,还通过梯度下降等优化算法指导了模型的学习过程。优化交叉熵损失可以帮助模型更好地学习区分不同类别,提高分类的准确率。

相关推荐
CoovallyAIHub几秒前
如何让SAM3在医学图像上比专用模型还强?一个轻量Adapter如何让它“秒变”专家?
深度学习·算法·计算机视觉
小女孩真可爱8 分钟前
大模型学习记录(八)---------RAG评估
linux·人工智能·python
阿里云大数据AI技术8 分钟前
MaxCompute SQL AI:让 SQL 成为你的 AI 语言
人工智能·sql
www76914 分钟前
从神经科学到软件工程:一个智能体架构的设计反思
人工智能
Feisy16 分钟前
使用深度学习检测元器件是否缺失零件-怎么快速地批量采集深度学习训练用的图片
人工智能·深度学习
阿里云大数据AI技术17 分钟前
MaxCompute SQL AI:让SQL成为你的AI语言
人工智能·sql
乾元20 分钟前
AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)
运维·网络·人工智能·网络协议·华为·自动化·ansible
亚里随笔24 分钟前
MiniRL:用LLM稳定强化学习的新范式与第一阶近似理论
人工智能·深度学习·机器学习·llm·rlhf·agentic
Token_w26 分钟前
我的openEuler云原生与AI开发现实际体验
人工智能·云原生
free-elcmacom28 分钟前
用Python玩转GAN:让AI学会“造假”的艺术
人工智能·python·机器学习