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

深度学习_神经网络_损失函数基础

🎯 一、什么是损失函数(Loss Function)

损失函数(Loss Function)用于衡量模型预测值与真实值之间的差距。

它是模型训练中优化器(如 SGD、Adam)调整参数的依据。

👉 简单理解:

  • 模型预测越准 → Loss 越小。
  • 模型预测越差 → Loss 越大。

训练目标就是 让 Loss 最小化 (minimize loss)


🧩 二、回归任务的常见损失函数

回归任务(Regression)目标是预测连续值(如房价、温度、销量等)。最常用的损失函数是:

1️⃣ 均方误差(MSE, Mean Squared Error)—— L2 Loss

💡 定义公式:

LMSE=1n∑i=1n(yi−y^i)2L_{\text{MSE}} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2LMSE=n1i=1n(yiy^i)2

  • yiy_iyi: 真实值
  • y^i\hat{y}_iy^i: 模型预测值
  • nnn: 样本数

🧠 含义解释:
计算所有样本预测误差的平方的平均值。平方项让“大误差”惩罚更重,对异常值(outlier)敏感。

特点总结:

优点缺点
数学性质好(可导、平滑)对离群点敏感(平方放大误差)
常用于梯度下降训练不适合有较多异常点的数据

💻 PyTorch 实现:

import torch
import torch.nn as nnloss_fn = nn.MSELoss()
y_pred = torch.tensor([2.5, 0.0, 2.1])
y_true = torch.tensor([3.0, -0.5, 2.0])
loss = loss_fn(y_pred, y_true)
print(loss.item())

2️⃣ 平均绝对误差(MAE, Mean Absolute Error)—— L1 Loss

💡 定义公式:

LMAE=1n∑i=1n∣yi−y^i∣L_{\text{MAE}} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|LMAE=n1i=1nyiy^i

🧠 含义解释:
取预测值与真实值的绝对差的平均值。

特点总结:

优点缺点
对异常值更鲁棒(不受平方放大影响)不可导点在 0 处(梯度不连续)
更关注整体误差的平衡收敛速度慢,优化不稳定

💻 PyTorch 实现:

import torch
import torch.nn as nnloss_fn = nn.L1Loss()
y_pred = torch.tensor([2.5, 0.0, 2.1])
y_true = torch.tensor([3.0, -0.5, 2.0])
loss = loss_fn(y_pred, y_true)
print(loss.item())

⚖️ L1 vs L2 对比总结:

项目L1(MAE)L2(MSE)
公式平均绝对误差平均平方误差
对异常值敏感度低(鲁棒)
导数连续性不连续(0处)连续、平滑
收敛速度较慢较快
常见应用噪声大、异常点多噪声小、平滑优化

🔹 在实际应用中,也常用 Huber Loss 作为折中方案(小误差用 L2,大误差用 L1)。


🧠 三、分类任务的常见损失函数

分类任务(Classification)目标是预测类别标签(如猫/狗、0/1、A/B/C 等)。最常用的是 交叉熵损失 (Cross-Entropy Loss)

1️⃣ 交叉熵损失(Cross-Entropy Loss)

💡 定义背景:
交叉熵 (Cross Entropy) 来自信息论,用来衡量两个概率分布之间的差距。

在分类任务中:

  • 模型输出的是 预测概率分布 (y^\hat{y}y^)(通过 Softmax/Sigmoid)
  • 真实标签是 真实分布 (yyy)(独热编码 one-hot)

💡 数学定义:

对于多分类问题:
LCE=−∑i=1Cyilog⁡(y^i)L_{\text{CE}} = - \sum_{i=1}^{C} y_i \log(\hat{y}_i)LCE=i=1Cyilog(y^i)

  • CCC: 类别数
  • yiy_iyi: 真实标签(one-hot)
  • y^i\hat{y}_iy^i: 模型预测概率

在二分类时可简化为:
LBCE=−[ylog⁡(y^)+(1−y)log⁡(1−y^)]L_{\text{BCE}} = -[y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})]LBCE=[ylog(y^)+(1y)log(1y^)]

🧠 含义解释:
当模型预测的概率越接近真实标签(比如真实为“猫”,预测猫=0.99),损失越小。当预测概率偏离真实标签(比如真实为“猫”,预测猫=0.1),损失急剧增大。

特点总结:

优点缺点
对概率输出 (Softmax) 天然匹配对错误预测惩罚较大
数学性质良好、可导对于极端预测 (0 或 1) 易产生数值不稳定
可清晰度量分类置信度需要概率化输出(如 Sigmoid / Softmax)

💻 PyTorch 实现:

(1) 二分类(Binary CrossEntropy)

import torch
import torch.nn as nnloss_fn = nn.BCELoss()  # 输出需经过Sigmoid
y_pred = torch.tensor([0.9, 0.2, 0.8])
y_true = torch.tensor([1.0, 0.0, 1.0])
loss = loss_fn(y_pred, y_true)
print(loss.item())

⚠️ 若模型输出未经 Sigmoid,则使用 BCEWithLogitsLoss()(更稳定,内部自带 Sigmoid)。

(2) 多分类(CrossEntropyLoss)

import torch
import torch.nn as nnloss_fn = nn.CrossEntropyLoss()
y_pred = torch.tensor([[2.0, 0.5, 0.1], [0.3, 2.1, 0.2]])  # logits
y_true = torch.tensor([0, 1])  # 标签索引
loss = loss_fn(y_pred, y_true)
print(loss.item())

说明:CrossEntropyLoss 内部会自动执行 Softmax。

🔢 举个例子直观理解:

类别真实标签 yyy预测概率 (猫/狗)Loss 值
样本 1猫 (1,0)(0.9, 0.1)很小(预测准)
样本 2猫 (1,0)(0.3, 0.7)较大(预测错)
样本 3狗 (0,1)(0.4, 0.6)较小(预测对)

🧮 四、回归 vs 分类的损失函数对比

任务类型常用损失函数适用场景备注
回归MSE / MAE / Huber连续数值预测预测误差的“距离”
分类Cross-Entropy / BCE离散标签预测概率分布差距

🧭 五、扩展:Huber Loss(平衡 L1 与 L2)

KaTeX parse error: Expected 'EOF', got '&' at position 60: … - \\hat{y})^2 &̲ \\text{if } |y…

当误差小于阈值 δ\deltaδ 时使用平方误差(平滑优化),当误差大于 δ\deltaδ 时使用绝对误差(抗异常)。


📌 总结一句话:

  • 回归问题: 衡量预测值与真实值之间的“距离差”。
  • 分类问题: 衡量预测概率分布与真实标签分布之间的“相似度差”。

优化目标:损失越小,模型预测越接近真实。
请添加图片描述

http://www.dtcms.com/a/597526.html

相关文章:

  • Centos7.9创建新用户,授权远程登录,禁用root远程登录
  • 柔性软风管-连续测量十分便利
  • 手机网站优化排名首页浏阳seo
  • 辽宁住房与城乡建设厅网站网站单子
  • python类的内置函数
  • chrome的Network上经常看不到网络请求,解决方案
  • 复现------
  • 专业网站建设制作多少钱江门网站建设技术托管
  • 基于MATLAB的POD-DMD联合分析实现方案
  • saas 平台架构做网站简述建设一个网站的具体步骤6
  • 均安公司网站建设wordpress tag做专题
  • 邯郸手机网站开发价格怎样找做淘宝客的网站
  • Linux系统编程——进程通信之无名管道
  • 基于springboot高校办公室行政事务管理系统【带源码和文档】
  • Amplitude使用记录
  • 云南建网站需要多少钱莱芜雪野湖别墅
  • 慢查询日志在性能优化中的价值
  • ADB点击实战-做一个自动点广告播放领金币的脚本app(中)
  • 网站优化关键词排名wampserver做网站
  • 中国建设银行网站首不能制作网页的软件有哪些
  • PostgreSQL insert 偶发变慢的原因分析 —— 从缓存击穿到系统 I/O
  • 简单的网站php开发教程高质量外链购买
  • MatplotlibDeprecationWarning
  • 织梦如何做网站地图西双版纳傣族自治州
  • 教程网站建设南宁制作企业网站
  • 刷题日常 5 二叉树最大深度
  • 信刻创新型近线+离线安全存储归档策略,保障电子档案全生命周期管理
  • Flutter for HarmonyOS开发指南(九):测试、调试与质量保障体系
  • 北京云主机网站源码做游戏网站要多少钱
  • 深圳自建站有哪些大公司邯郸企业网站建设价格