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

深度学习 —— 损失函数

目录

损失函数

一、多分类交叉熵函数 —— nn.CrossEntropyLoss()

二、二分类交叉熵函数 —— nn.BCELoss()

三、回归任务

1. MAE 损失函数

2. MSE损失函数

3. Smooth L1 Loss (也称为 Huber Loss)

4. 如何选择回归任务的损失函数

5. 代码


损失函数

是什么? 评估模型的预测值和真实值差距的函数,从而评估模型的好坏,损失值越小越好

损失函数、代价函数、目标函数、误差函数)同一个意思。

一、多分类交叉熵函数 —— nn.CrossEntropyLoss()

自带了SoftMax,模型的输出输出层不需要再softmax

例如:

带入公式

正确类别的预测概率 曲线

总结:

其中:y_logits是模型的原始输出/预测分数

softmax(y_logits)是模型输出的概率分布,也就是每个类别的预测概率,最大概率对应预测类别

注意:

多分类交叉熵CrossEntropLoss里面有softmax运算,所以模型的输出层不需要softmax。

但是如果要获取预测概率,则需要在模型输出的原始预测分数后面经过softmax

应用:

多分类问题,如:10个类别,预测图片属于哪一类

API:

nn.CrossEntropyLoss()

代码:

import torch import torch.nn as nn
# 1.创建 样本的真实值,假设是一个三分类任务, 真实类别为[1,0,2,0]. 4个样本 y_true = torch.tensor([1,0,2,0], dtype=torch.long) # 2.创建 模型的预测分数y_logits y_logits = torch.tensor([ [0.1,2.0,1.0], [0.2,0.5,0.3], [0.3,0.2,0.5], [0.5,0.2,0.3] ]) # 3.创建 多分类交叉熵损失函数对象 loss_fn = nn.CrossEntropyLoss() # 4.计算损失 # y_logits: 2D(batch_size, 3), y_true: 1D(batch_size) # 为什么是 3 ----> 三分类 loss = loss_fn(y_logits,y_true) print(f"多分类交叉熵损失函数: {loss}")

二、二分类交叉熵函数 —— nn.BCELoss()

二分类中使用

总结:

二分类交叉熵损失

公式:BCELoss = -y*log(y_hat)-(1-y)*log(1-y_hat)

其中:y_hat是模型的预测值,也就是经过sigmoid之后的预测概率,对应正类

y 是真实值,0或1,

负类:标签编码0,one-hot编码[1,0],正类:标签编码1,one-hot[0,1]

注意:

二分类交叉熵损失BCELoss里面没有sigmoid,所以模型输出层最后需要添加sigmoid

API:

nn.BCELoss()

代码:

# 1.创建 样本的真实值,假设是一个二分类任务, 真实类别为[0,1,0,1] y_true = torch.tensor([0,1,0,1], dtype=torch.float) # 2. 创建 预测分数, 1D (batch_size,) y_logits = torch.tensor([10, -10, -50, 2.5], dtype=torch.float) """ # 预测类别 [1,0,0,1] # 经过sigmoid,转换为概率,这里才是模型输出的预测值 """ y_preds = torch.sigmoid(y_logits) # 3. 创建 二分类交叉熵损失函数 loss_fn = nn.BCELoss() # 4. 计算损失 # y_pred: 1D (4,). y_true:1D(4,) loss = loss_fn(y_preds,y_true) print(f"二分类交叉熵损失:: {loss}")

二分类任务可以用 多分类交叉熵损失。

三、回归任务

1. MAE 损失函数

公式:

特点:

① 损失 - 误差呈线性关系

② MAE损失函数本身不具有稀梳性,不会让权重衰减为0

③ 最大问题是梯度在零点不平滑,会跳过极小值

④ 适用于回归问题中存在异常值或噪声数据时,可以减少对离群点的敏感性

2. MSE损失函数

Mean Squared Loss / Quadratic Loss (MSE loss) 也被称为L2 loss,或欧氏距离。

计算误差平方的平均值. =均差平方之和 / 样本总数

公式:

特点:

① 损失-误差呈二次曲线关系

② 处处可导、梯度平滑,是最常用的回归损失函数

③ 误差大时候,容易梯度过大, 无法有效训练模型

④ 适用于大多数标准回归问题,如房价、温度预测等

3. Smooth L1 Loss (也称为 Huber Loss)

简单来说:

就是MAE 和 MSE的结合,尤其是在面对异常值时,它能平滑过渡,避免大误差的影响

公式:

可以转换看做

< 1是 MSE. ≥ 1 是MAE

解决L1(MAE)在0点不平滑、以及L2(MSE)的梯度爆炸问题

4. 如何选择回归任务的损失函数

MSE > Smooth L1 > MAE

API:

nn.L1Loss()

nn.MSELoss()

nn.SoothL1Loss()

5. 代码

# 1.创建 样本的真实值 # 4个样本 y_true = torch.tensor([20.0,21.0,22.0,23.0],dtype=torch.float32) # 2.创建 模型的预测值 y_pred = torch.tensor([21.0,22.0,23.0,24.0],dtype=torch.float32,requires_grad=True) # 3.定义损失函数对象 loss_fn1 = nn.L1Loss() loss_fn2 = nn.MSELoss() loss_fn3 = nn.SmoothL1Loss() # 4.计算损失值 loss1 = loss_fn1(y_pred,y_true) loss2 = loss_fn2(y_pred,y_true) loss3 = loss_fn3(y_pred,y_true) # 5.打印损失值 print(f"损失值 MAE:{loss1}") # 1 print(f"损失值 MSE:{loss2}") # 2 print(f"损失值 Smooth:{loss3}") # 3

http://www.jsqmd.com/news/680291/

相关文章:

  • 2026年比较好的机制路边石/滑县路边石/透水路边石批量采购厂家推荐 - 品牌宣传支持者
  • 第二篇:《主流UI自动化工具横向对比:Selenium、Cypress、Playwright、Puppeteer》
  • AudioLDM-S音效生成质量评测:CNN与人类听觉对比实验
  • 2026年靠谱的贵州现货办公家具/贵州新款办公家具厂家对比推荐 - 行业平台推荐
  • 仅限首批医疗客户开放:Dify v0.12.3医疗增强版安全模块配置密钥(含FHIR接口动态鉴权+OCR结果水印策略)
  • 用东华OJ的50道基础题,带你系统掌握C++核心语法与算法思想
  • Phi-4-mini-reasoning基础教程:Python调用transformers加载FP16模型完整步骤
  • 2026年Q2宁波太阳能维修怎么选:镇海区热水维修、镇海区空调维修、奉化区热水器维修、宁波中央空调维修、宁波制冰机维修选择指南 - 优质品牌商家
  • 2026年防雷工程全解析:防雷装置检测、防雷设施检测、专业防雷检测、避雷塔检测、避雷工程、避雷带检测、避雷施工选择指南 - 优质品牌商家
  • CVPR 2026上的即插即用模块
  • 2026台州混合肌玻尿酸注射技术要点及术后护理指南:台州油性肌玻尿酸、台州混合肌水光针、台州混合肌玻尿酸、台州玻尿酸选择指南 - 优质品牌商家
  • 2026年热门的安徽扩散硅压力变送器/扩散硅压力变送器/不锈钢壳体压力变送器厂家综合对比分析 - 行业平台推荐
  • 告别SD卡!在RT-Thread上玩转eMMC:从驱动调试到文件系统性能对比全解析
  • 泡普洱茶第一步:为什么出汤前必须醒茶?
  • 使用FCM进行编码解码Python实现代码
  • 2026年靠谱的高端户外拉链/高端拉链/高端环保拉链厂家综合对比分析 - 行业平台推荐
  • 市政交通护栏源头厂家哪家好?2026江苏铝合金护栏定制加工厂家推荐指南 - 栗子测评
  • 2026水处理设备供应源头厂家:中水回用水处理系统与纯净水设备供应源头厂家推荐 - 栗子测评
  • 普洱醒茶的两种方式:干醒与湿醒分别怎么做
  • 耐火纤维棉块铸造件退火热处理隧道窑/锂电负极材料耐火纤维棉块高温碳化隧道窑厂家哪家好?2026优质源头厂家推荐:东远领衔 - 栗子测评
  • 用STM32和RC522做个智能门禁:从硬件接线到代码调试的保姆级教程
  • SAP ABAP接口开发避坑:JSON数据里的回车换行符怎么处理才不报错?
  • 2026优质橡胶密封条厂家:三元乙丙胶条、橡胶密封条、硅胶密封条、三元乙丙密封条厂家 - 栗子测评
  • 在 HarmonyOS6 中实现 Material Design 3 导航栏
  • 2026年评价高的工地红模板批发/覆膜建筑木模板/文旅项目异形模板/异形结构木模板加工厂家对比推荐 - 行业平台推荐
  • 2026专业工业污水处理设备/废气治理设备厂家推荐:反渗透水处理设备、工业污水一体化处理及中水回用设备生产供应 - 栗子测评
  • 保姆级教程:在Windows 10上用Anaconda3和Cuda 10.1,为你的Tesla V100显卡配置PyTorch 1.8深度学习环境
  • 技术文档写作风格 - 图形
  • 数据关联性与趋势发现(使用千问)
  • 2026年靠谱的高端开尾拉链/高端拉链公司对比推荐 - 品牌宣传支持者