神经网络中损失函数(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
相关推荐
网上邻居YY1 分钟前
深度学习DL 之 安装PyTorch·GPU版、CUDA(本人Anaconda、Python、PyCharm已提前安装好)
pytorch·经验分享·python·深度学习·pycharm·学习方法
天上的光2 分钟前
机器学习——决策树
人工智能·决策树·机器学习
AI体验君2 分钟前
2026年AI数据大屏实用指南,简化数据可视化制作
人工智能·信息可视化
AI、少年郎3 分钟前
如何用个人电脑快速训练自己的语言模型?MiniMind 全流程实战指南
人工智能·python·神经网络·ai·自然语言处理·大模型·模型训练微调
NULL指向我3 分钟前
信号处理学习笔记6:ADC采样线性处理实测拟合
人工智能·算法·机器学习
mhkxbq3 分钟前
昆仑G5580、G5680 V2、G2280及泰山鲲鹏200,AI大数据优选服务器
大数据·服务器·人工智能
fof9204 分钟前
Base LLM | 从 NLP 到 LLM 的算法全栈教程 第八天
人工智能·自然语言处理
汽车仪器仪表相关领域5 分钟前
NHXJ-02汽车悬架检验台 实操型实战手册
人工智能·功能测试·测试工具·算法·安全·单元测试·可用性测试
枫叶林FYL6 分钟前
【Python高级工程与架构实战】项目四 现代ETL编排平台:Airflow + dbt + Snowflake 企业级数据管道架构与实现
人工智能·python·架构·etl
AI服务老曹6 分钟前
异构计算与边缘协同:基于 Spring Boot 的 AI 视频管理平台架构深度解析
人工智能·spring boot·音视频