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 小时前
训练词嵌入(吴恩达深度学习笔记)
人工智能·深度学习·word2vec·词嵌入·负采样·嵌入矩阵·glove算法
桂花很香,旭很美2 小时前
智能体技术架构:从分类、选型到落地
人工智能·架构
HelloWorld__来都来了3 小时前
2026.1.30 本周学术科研热点TOP5
人工智能·科研
aihuangwu3 小时前
豆包图表怎么导出
人工智能·ai·deepseek·ds随心转
YMWM_4 小时前
深度学习中模型的推理和训练
人工智能·深度学习
中二病码农不会遇见C++学姐4 小时前
文明6-mod制作-游戏素材AI生成记录
人工智能·游戏
九尾狐ai4 小时前
从九尾狐AI案例拆解企业AI培训的技术实现与降本增效架构
人工智能
2501_948120154 小时前
基于RFID技术的固定资产管理软件系统的设计与开发
人工智能·区块链
(; ̄ェ ̄)。4 小时前
机器学习入门(十五)集成学习,Bagging,Boosting,Voting,Stacking,随机森林,Adaboost
人工智能·机器学习·集成学习
杀生丸学AI4 小时前
【物理重建】PPISP :辐射场重建中光度变化的物理合理补偿与控制
人工智能·大模型·aigc·三维重建·世界模型·逆渲染