当前位置: 首页 > news >正文

neural network中的loss function (一)

交叉熵损失

loss函数是机器学习中衡量模型预测值与真实值之间的差距, 并指导模型在训练过程中不断优化自身。交叉熵损失 (Cross-Entropy Loss)是分类任务中最常用的损失函数之一。交叉熵损失的目标最小化该值,使得模型输出的预测概率真实标签的分布尽可能接近。

交叉熵损失主要用于衡量两个概率分布之间的差异性。在分类问题中,我们通常将真实标签和模型预测都视为概率分布。

  • 真实标签 (True Label)通常以 one-hot 编码形式表示,例如对于一个三分类问题,如果样本属于第二类,则真实标签为[0, 1, 0]。这表示样本属于第二类的概率为 1,属于其他类的概率为 0。
  • 模型预测 (Predicted Probability)是模型输出的各个类别的概率分布,例如[0.1, 0.7, 0.2]。这表示模型预测样本属于第一类的概率为 0.1,第二类为 0.7,第三类为 0.2。

交叉熵损失的公式如下:

对于二分类问题:

L=−[ylog⁡(y^)+(1−y)log⁡(1−y^)]L = -[y \log(\hat{y}) + (1-y) \log(1-\hat{y})]L=[ylog(y^)+(1y)log(1y^)]

其中:

  • yyy是真实标签 (0 或 1)
  • y^\hat{y}y^是模型预测的样本属于类别 1 的概率

对于多分类问题:

L=−∑i=1Cyilog⁡(y^i)L = - \sum_{i=1}^{C} y_i \log(\hat{y}_i)L=i=1Cyilog(y^i)

其中:

  • CCC是类别数量
  • yiy_iyi是真实标签的 one-hot 编码中第iii个元素 (0 或 1)
  • y^i\hat{y}_iy^i是模型预测的样本属于第iii个类别的概率

理解公式:

  • 交叉熵损失的核心思想是惩罚模型对于错误类别的预测。
  • 当模型预测的概率越接近真实标签时,损失值越小。反之,当模型预测的概率与真实标签相差甚远时,损失值越大。
  • 公式中的负号是为了确保损失值为正数,方便后续的梯度下降优化。
  • log⁡\loglog函数使得当预测概率接近 0 时,损失值趋于无穷大,从而对错误的预测施加更大的惩罚。

logits:

Logits 就是模型在最后一层线性变换之后、还没进 Softmax 之前的那个原始输出向量
换句话说,logits 是“未归一化的预测分数”,每个元素对应一个类别的“得分”。Softmax 的作用就是把这组得分压缩成 0–1 之间、加和为 1 的概率分布。

为什么交叉熵损失适合分类任务?

  • 概率解释:交叉熵损失直接基于概率分布,与分类任务的本质相符。分类任务的目标就是预测样本属于各个类别的概率。
  • 梯度特性:交叉熵损失函数在梯度下降优化过程中,能够提供更有效的梯度信息,加速模型收敛,尤其是在使用 Sigmoid 或 Softmax 激活函数的情况下,可以缓解梯度消失问题。
  • 直观性:交叉熵损失能够直观地衡量预测概率分布与真实概率分布之间的差异,损失值越小,表示模型预测越准确。

为什么使用log函数计算loss?

计算机中的log函数a>1, 计算loss时, x<1, 所以取-log(x)

  • 当x -> 1时, log(x)->0
  • x -> 0时, log(x) ->无穷大
其他类似概念
  • KL 散度(Kullback-Leibler Divergence):衡量两个概率分布之间的相对差异,常用于生成模型(如自编码器)中。
  • Hinge 损失:用于支持向量机(SVM)中的损失函数,适合二分类任务。
  • 均方误差(MSE):通常用于回归问题中,衡量预测值与真实值之间的误差平方和。
  • 交叉熵 vs 均方误差(MSE):交叉熵主要用于分类任务,而均方误差主要用于回归任务。
  • 二元交叉熵 vs 多分类交叉熵:二元交叉熵用于二分类问题,输入值是单个预测概率;多分类交叉熵用于多类别问题,输入值是每个类别的概率分布。
http://www.jsqmd.com/news/84657/

相关文章:

  • 电商评论分析实战:Java + NLP 大模型,从 10 万条评论中自动提取“用户槽点”
  • AI论文工具怎么选?6款详细对比+2025年推荐清单
  • 从对话演示到智能工作平台:ChatGPT的三年演进史(2022-2025)
  • 8 分层架构核心原则
  • 缺少libgcc_s_seh-1.dll
  • 陪诊陪护小程序系统上门陪护代挂号排队跑腿买药陪诊php开发原生微信小程序系统
  • 走向场景,走向融合:2025年末国产大模型的平台化竞赛与Agent新范式
  • 多模态学习架构
  • GPT5.2有哪些最新优势特点?10000字长文带您了解
  • 检索增强生成(RAG)技术原理深度解析:突破大模型知识边界的范式革命
  • day35打卡
  • 注意力机制的演化
  • PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(“Text“));---核心是:INotifyPropertyChanged接口
  • AI之PhoneAgent:Open-AutoGLM的简介、安装和使用方法、案例应用之详细攻略
  • 基于springboot的技术博客交流系统的设计与实现
  • LeetCode046全排列
  • day37简单的神经网络@浙大疏锦行
  • wpf 类图
  • 基于springboot的运动服服饰销售购买商城系统
  • 基于文献的‘12-文献代码复现‘:非线性模型预测控制(NMPC)多无人船USV编队控制form...
  • 【保姆级教程】爆火开源项目 Next AI Draw.io 上手指南:一句话画流程图
  • 韩语教程资源合集
  • 如何用DSPy优化RAG prompt示例
  • 英语口语资源合集
  • 鸿蒙PC UI控件库 - TextInput 文本输入框详解
  • 链表中的回文判断
  • 鸿蒙PC UI控件库 - PasswordInput 密码输入框详解
  • 【大模型预训练】07-数据处理流程设计:从原始数据到模型输入的端到端处理链路
  • 基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究附Matlab代码
  • 【机器人路径规划】基于6种算法(黑翅鸢优化算法BKA、SSA、MSA、RTH、TROA、COA)求解机器人路径规划研究附Matlab代码