Day26_【深度学习(6)—神经网络NN(2)损失函数】

在深度学习中,损失函数通过比较预测值与真实值之间的差异,来衡量模型参数质量

数据差异越小,越拟合,损失值越小

损失函数主要根据任务类型来选择,最常见的是分类回归两大类。

一、分类任务损失函数

交叉熵损失

这是分类任务中最主流、最常用的损失函数。

1.多分类交叉熵

  • 适用:两个以上类别的任务(如:猫、狗、鸟)。
  • 公式:
  • **PyTorch:**nn.CrossEntropyLoss()

2.二分类交叉熵

  • 适用:只有两个类别的任务(如:是/否,猫/狗)。
  • 公式:

​​​​​​​ ​​​​​​​

  • **PyTorch:**nn.BCELoss()

二、回归任务损失函数

用于预测连续的数值。

1. 平均绝对误差 (Mean Absolute Error, MAE) / L1 Loss
  • 原理:计算预测值与真实值之差的绝对值的平均值。
  • 公式
  • 优点:对异常值不敏感,更稳健。
  • 缺点 :在 y = ŷ 处不可导(但通常可以处理)。
  • PyTorch : nn.L1Loss()
2. 均方误差 (Mean Squared Error, MSE)/ L2 Loss

这是回归任务中最基础、最常用的损失函数。

  • 原理:计算预测值与真实值之差的平方的平均值。
  • 公式
  • 优点:数学性质好,可导,易于优化。
  • 缺点:对异常值(离群点)非常敏感,因为误差被平方了。
  • PyTorch : nn.MSELoss()
3. SmoothL1 Loss (平滑的L1损失)

​​​​​​​ ​​​​​​​

  • 原理:MSE 和 MAE 的结合体。当误差较小时,行为像MSE(二次);当误差较大时,行为像MAE(线性)。
  • 公式
  • 优点:结合了MSE的平滑性和MAE对异常值的鲁棒性。
  • PyTorch: nn.SmoothL1Loss()

三、小结

任务类型 推荐损失函数 PyTorch 实现 TensorFlow 实现(扩展)
二分类 二元交叉熵 nn.BCELoss() BinaryCrossentropy
多分类 交叉熵 nn.CrossEntropyLoss() SparseCategoricalCrossentropy
回归 MSE / MAE / SmoothL1 nn.MSELoss() / nn.L1Loss() / nn.SmoothL1Loss() MeanSquaredError / MeanAbsoluteError / Huber
相关推荐
ACP广源盛1392462567319 分钟前
(ACP广源盛)GSV1175---- MIPI/LVDS 转 Type-C/DisplayPort 1.2 转换器产品说明及功能分享
人工智能·音视频
胡耀超22 分钟前
隐私计算技术全景:从联邦学习到可信执行环境的实战指南—数据安全——隐私计算 联邦学习 多方安全计算 可信执行环境 差分隐私
人工智能·安全·数据安全·tee·联邦学习·差分隐私·隐私计算
停停的茶2 小时前
深度学习(目标检测)
人工智能·深度学习·目标检测
Y200309162 小时前
基于 CIFAR10 数据集的卷积神经网络(CNN)模型训练与集成学习
人工智能·cnn·集成学习
老兵发新帖2 小时前
主流神经网络快速应用指南
人工智能·深度学习·神经网络
AI量化投资实验室3 小时前
15年122倍,年化43.58%,回撤才20%,Optuna机器学习多目标调参backtrader,附python代码
人工智能·python·机器学习
java_logo3 小时前
vllm-openai Docker 部署手册
运维·人工智能·docker·ai·容器
倔强青铜三3 小时前
苦练Python第67天:光速读取任意行,linecache模块解锁文件处理新姿势
人工智能·python·面试
算家计算3 小时前
重磅突破!全球首个真实物理环境机器人基准测试正式发布,具身智能迎来 “ImageNet 时刻”
人工智能·资讯
新智元3 小时前
苹果 M5「夜袭」高通英特尔!AI 算力狂飙 400%,Pro 三剑客火速上新
人工智能·openai