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
相关推荐
一碗白开水一2 小时前
【第30话:路径规划】自动驾驶中Hybrid A星(A*)搜索算法的详细推导及代码示例
人工智能·算法·机器学习·计算机视觉·数学建模·自动驾驶
Dfreedom.2 小时前
随机裁剪 vs. 中心裁剪:深度学习中图像预处理的核心技术解析
图像处理·人工智能·深度学习·计算机视觉
brightendavid2 小时前
再次深入学习深度学习|花书笔记3
深度学习
Baihai_IDP2 小时前
上下文工程实施过程中会遇到什么挑战?有哪些优化策略?
人工智能·llm·aigc
audyxiao0013 小时前
一文可视化分析2025年8月arXiv机器学习前沿热点
人工智能·机器学习·arxiv
胖达不服输3 小时前
「日拱一码」098 机器学习可解释——PDP分析
人工智能·机器学习·机器学习可解释·pdp分析·部分依赖图
未来智慧谷3 小时前
华为发布星河AI广域网解决方案,四大核心能力支撑确定性网络
人工智能·华为·星河ai广域·未来智慧谷
径硕科技JINGdigital3 小时前
工业制造行业营销型 AI Agent 软件排名及服务商推荐
大数据·人工智能
亿信华辰软件3 小时前
装备制造企业支撑智能制造的全生命周期数据治理实践
大数据·人工智能