大数跨境

损失函数:如何帮助模型学会"自省"?

损失函数:如何帮助模型学会"自省"? 知识代码AI
2026-08-31
5
导读:损失函数:如何帮助模型学会"自省"?一、损失函数的作用与定义1. 损失函数是什么损失函数是一把衡量模型学习效果的尺子。

损失函数:如何帮助模型学会"自省"?


一、损失函数的作用与定义

1. 损失函数是什么

损失函数是一把衡量模型学习效果的尺子。训练模型的过程,实际就是优化损失函数的过程。有了损失函数,模型才能判断自己在学习过程中是否有偏差以及偏差有多大,从而做到"自省"。[pdf_11]

2. 损失函数的数学定义

假设真实函数为  ,模型拟合出来的函数为  ,两者之间存在误差 

  • 平方是为了保证误差为正值,方便后续计算
  • 也可用绝对值形式,但平方和更便于后续梯度更新[pdf_11]

3. 损失函数 vs 代价函数

概念
含义
公式
损失函数(loss function)
单个样本点的误差
代价函数(cost function)
全部样本拟合误差的平均值(经验风险)

实际应用中并不严格区分两者,可以混用。[pdf_11]


二、过拟合与欠拟合

概念
含义
特点
欠拟合
函数与样本点拟合效果较差,只有大致趋势
没有充分学习到数据规律
过拟合
函数曲线可完美拟合所有点,但过于复杂
泛化能力差,新数据点难以拟合好
适度拟合
函数不太复杂,同时能较好地拟合绝大部分点
理想状态

越复杂的函数需要越多的计算资源和时间消耗,但不能一味追求简单,否则会欠拟合。[pdf_11]


三、常见损失函数详解

1. 0-1 损失函数(分类任务)

最简单的损失函数,用于判断类型问题:

其中   为真实类别,  为模型预测类别。

局限性:使用频率非常少。因为模型训练中常用的梯度更新和反向传播需要可求导的损失函数,而 0-1 损失函数的导数值为 0(常数的导数为 0)。[pdf_11]

2. 平方损失函数(回归任务)

  • 可求导的损失函数中最简单的一种
  • 直接度量模型拟合结果和真实结果之间的距离
  • 有时会加入   系数,便于求导时与平方项系数约掉
  • 适用场景:手写分类、花卉识别等简单问题[pdf_11]

3. 均方误差损失函数 / MSE / L2 损失(回归任务)

回归问题中最常用的损失函数:

其中   为目标值向量,  为预测值向量。

平方损失函数与 MSE 本质上等价,区别在于 MSE 对全部样本误差做了平均(除以 n)。[pdf_11]

4. 平均绝对误差损失函数 / MAE / L1 损失(回归任务)

另一种常用于回归问题的损失函数:

度量真实值和预测值差异的绝对值之和。[pdf_11]

5. 交叉熵损失函数(分类任务)

5.1 信息熵背景

熵最初是物理学中表示系统混乱程度/无序程度的术语,系统越混乱熵越大。香农将其引申到信道通信中,形成信息熵:

其中   为随机变量,  为输出概率函数。变量不确定性越大,熵越大,搞清楚变量所需信息量越大。[pdf_11]

5.2 交叉熵损失函数公式

其中   表示真实概率分布  表示预测概率分布。通过不断缩小两个概率分布的误差,使预测概率分布尽可能接近真实概率分布。[pdf_11]

5.3 Softmax 损失函数

Softmax 将输入数值映射为 0-1 之间的实数并归一化保证和为 1:

将交叉熵中的预测概率分布   替换为 softmax 形式后,得到 softmax 损失函数(softmax with cross-entropy loss),是交叉熵损失函数的一个特例。[pdf_11]


四、损失函数总结表

损失函数
任务类型
特点
局限性
0-1 损失
分类
最简单,直接判断是否相等
不可导,无法用于梯度更新,极少使用
平方损失
回归
最简单可导损失,度量距离
简单场景适用
MSE(L2 损失)
回归
回归最常用,度量平方差平均
对异常值敏感
MAE(L1 损失)
回归
度量绝对差平均
对异常值鲁棒性更好
交叉熵损失
分类
衡量真实与预测概率分布差异
分类任务的标准选择
Softmax 损失
分类
交叉熵的一个特例,概率归一化
多分类任务的标准选择

[pdf_11]


五、核心要点总结

  1. **损失函数是模型学习的"尺子"**,训练模型就是优化损失函数的过程。
  2. 过拟合 vs 欠拟合:过拟合泛化能力差,欠拟合没有充分学习到数据规律,适度拟合才是理想状态。
  3. 0-1 损失函数因不可导,在实际训练中几乎不使用。
  4. 回归任务常用 MSE 和 MAE,平方损失是 MSE 的简化版本。
  5. 分类任务常用交叉熵损失函数,softmax 损失是其特例。
  6. 损失函数的选择地位非常重要,甚至比得上模型网络设计——没有好的损失函数做指导,一切功夫都白做。[pdf_11]

六、每课一练

问题:损失函数的值越小越好么?

解答

不是。 损失函数的值过小可能会出现以下问题:

  1. 可能导致过拟合,降低模型的泛化能力
  2. 可能降低模型的鲁棒性

作者补充:损失函数越小模型鲁棒性越好,但需要添加结构损失函数(正则化) 来防止过拟合。[pdf_11]


七、小结

  1. 损失函数的作用:衡量模型预测与真实值之间的差距,帮助模型"自省"。
  2. 过拟合与欠拟合:过拟合太复杂泛化差,欠拟合太简单学不到规律,适度拟合最好。
  3. 分类损失函数:0-1 损失(不可导,极少用)、交叉熵损失、softmax 损失。
  4. 回归损失函数:平方损失、MSE(L2)、MAE(L1)。
  5. 交叉熵损失:衡量真实概率分布与预测概率分布的差异,是分类任务的标准选择。
  6. 损失函数不等于越小越好:过小的损失值可能意味着过拟合,需要正则化来平衡。
  7. 核心原则:损失函数的选择是模型设计的核心环节,直接决定模型的学习效果。


【声明】内容源于网络
0
0
知识代码AI
技术基底 机器视觉全栈 × 光学成像 × 图像处理算法 编程栈 C++/C#工业开发 | Python智能建模 工具链 Halcon/VisionPro工业部署 | PyTorch/TensorFlow模型炼金术 | 模型压缩&嵌入式移植
内容 403
粉丝 0
知识代码AI 技术基底 机器视觉全栈 × 光学成像 × 图像处理算法 编程栈 C++/C#工业开发 | Python智能建模 工具链 Halcon/VisionPro工业部署 | PyTorch/TensorFlow模型炼金术 | 模型压缩&嵌入式移植
总阅读6.6k
粉丝0
内容403