神经网络中损失函数(Loss Function)介绍

🎯 一、分类任务的损失函数

✅ 1. 多分类的交叉熵损失函数(Multi-class Cross-Entropy Loss)

🔍 通俗解释:

想象你在考试中选答案,老师根据你"猜对"的程度来打分。

如果你完全猜对了正确答案,得满分;

如果你猜错了,得分越低;

如果你把正确答案当成概率很低的选项,扣分更多。

📌 数学公式:

Loss=−∑�=1���log⁡(�^�)Loss=−i=1∑C​yi​log(y^​i​)

  • ��yi :真实标签(one-hot 编码),只有一个是 1,其余是 0
  • �^�y^i :模型预测的概率(比如 0.1, 0.7, 0.2
  • C:类别总数
✅ 举个例子:

假设一个图像识别任务有 3 类:猫、狗、鸟

表格

真实标签 模型预测概率
狗(即第2类) 0.1, 0.7, 0.2

那么损失为:

Loss=−0⋅log⁡(0.1)+1⋅log⁡(0.7)+0⋅log⁡(0.2)=−log⁡(0.7)≈0.357Loss=−0⋅log(0.1)+1⋅log(0.7)+0⋅log(0.2)=−log(0.7)≈0.357

✅ 越接近 1 的预测值,损失越小 → 模型越准!

💡 应用场景:
  • 图像分类(如猫/狗/鸟)
  • 文本分类(如新闻类别)
  • NLP 中的词预测(如 BERT)

✅ 2. 二分类的交叉熵损失函数(Binary Cross-Entropy Loss)

🔍 通俗解释:

就像判断一个东西是不是"好"或"坏"。

如果它是"好",但你预测它是"坏",那你就错了,惩罚大;

如果你是"半信半疑"(预测 0.5),说明你没把握,也得罚。

📌 数学公式:

Loss=−�log⁡(�\^)+(1−�)log⁡(1−�\^)Loss=−ylog(y\^​)+(1−y)log(1−y\^​)

  • �y :真实标签(0 或 1)
  • �^y^ :模型输出的概率(如 0.8 表示"是正类的可能性是 80%")
✅ 举个例子:

判断一封邮件是否是垃圾邮件:

表格

真实标签 模型预测概率
是垃圾邮件(y=1) �^=0.9y^​=0.9

损失为:

Loss=−1⋅log⁡(0.9)+(1−1)⋅log⁡(1−0.9)=−log⁡(0.9)≈0.105Loss=−1⋅log(0.9)+(1−1)⋅log(1−0.9)=−log(0.9)≈0.105

如果模型预测是 0.1(认为不是垃圾邮件),则:

Loss=−1⋅log⁡(0.1)=−log⁡(0.1)=2.302(惩罚很大!)Loss=−1⋅log(0.1)=−log(0.1)=2.302(惩罚很大!)

✅ 所以模型会尽量让正确的类别概率接近 1。

💡 应用场景:
  • 垃圾邮件检测
  • 疾病诊断(是否有病)
  • 情感分析(正面 or 负面)

🎯 二、回归任务的损失函数

回归任务的目标是预测一个连续数值,比如房价、温度、年龄等。

✅ 1. MAE(Mean Absolute Error)平均绝对误差

🔍 通俗解释:

你猜一个房子价格,实际是 100 万,你猜了 110 万,差了 10 万;

另一个人猜了 90 万,也差了 10 万。

不管高估还是低估,都算"错 10 万"。

📌 公式:

MAE=1�∑�=1�∣��−�^�∣MAE=n1​i=1∑n​∣yi​−y^​i​∣

✅ 举个例子:

表格

实际价格(y) 预测价格(ŷ) 绝对误差
100 110 10
100 90 10
100 105 5

MAE=10+10+53=8.33MAE=310+10+5​=8.33

✅ 优点:对异常值不敏感(不会被极端错误拉大)


✅ 2. MSE(Mean Squared Error)均方误差

🔍 通俗解释:

和 MAE 类似,但"犯大错"会被狠狠惩罚!

比如你猜 100 万,实际是 10 万,差了 90 万,平方后变成 8100 万,非常大!

📌 公式:

MSE=1�∑�=1�(��−�^�)2MSE=n1​i=1∑n​(yi​−y^​i​)2

✅ 举个例子:

表格

实际价格(y) 预测价格(ŷ) 平方误差
100 110 100
100 90 100
100 105 25

MSE=100+100+253=75MSE=3100+100+25​=75

✅ 优点:能让模型更关注"大错误",适合需要高精度的任务


✅ 3. Smooth L1 损失函数(Huber Loss)

🔍 通俗解释:

是 MAE 和 MSE 的"折中方案":

  • 当误差小时,像 MSE(平滑梯度)
  • 当误差大时,像 MAE(避免爆炸)
📌 公式:

SmoothL1(�)={0.5�2if ∣�∣﹤1∣�∣−0.5otherwiseSmoothL1(x)={0.5x2∣x∣−0.5​if ∣x∣﹤1otherwise​

✅ 举个例子:

误差为 0.5 → 使用 0.5×0.52=0.1250.5×0.52=0.125

误差为 2 → 使用 2−0.5=1.52−0.5=1.5

✅ 优点:既不会对小误差太敏感,也不会对大误差过度惩罚

💡 应用场景:
  • 目标检测(YOLO, Faster R-CNN)
  • 物体跟踪
  • 任何存在噪声或异常值的回归任务

🧩 总结对比表

表格

损失函数 适用任务 特点 例子
多分类交叉熵 分类(多类) 对错分类惩罚明确 图像分类
二分类交叉熵 分类(两类) 输出概率,适合 sigmoid 垃圾邮件检测
MAE 回归 对异常值鲁棒 房价预测
MSE 回归 强调减少大误差 温度预测
Smooth L1 回归 折中方案,稳定训练 目标检测框坐标

📌 记忆口诀

分类任务用"交叉熵"

回归任务看"大小"

  • 想稳一点 → 用 MAE
  • 想准一点 → 用 MSE
  • 想又稳又准 → 用 Smooth L1
相关推荐
京和动物医院·总院4 分钟前
2026年未央区宠物医院:如何挑选最适合您爱宠的健康守护者
大数据·人工智能·python
液态不合群4 分钟前
AI×低代码工作流:破解制造业数字化流程异构困局
人工智能·低代码
武子康5 分钟前
Copilot Code Review 从固定 Reviewer 演进为可编程 Runtime,仓库控制面、Setup 供应链、Runner 资源和 MCP 工具同时被纳入审查决策
人工智能·github·aigc
吠品5 分钟前
五子棋AI对战功能实现与多难度策略设计
人工智能
刘小八6 分钟前
RAG 文档切分不是越细越好:选择 Chunk Size 与 Overlap
人工智能·python·语言模型
商业模式源码开发11 分钟前
2026年GEO优化全解析:生成式引擎优化如何重构企业流量与品牌护城河
大数据·人工智能·ai
其美杰布-富贵-李24 分钟前
为什么注意力分数要除以 $\sqrt{d_k}$
深度学习·注意力
对讲机数码科普24 分钟前
黑龙江应急救援单工通信保障方案设计与实战应用
大数据·网络·人工智能
SuperHeroWu727 分钟前
【HarmonyOS AI】DevEco CLI、Skills、知识库运用AI Coding提效详解
人工智能·华为·harmonyos
Old Uncle Tom28 分钟前
银行用户画像 -- 金融目标与需求意图
前端·人工智能·金融