CONCEPT / learning-theory

损失函数:把预测目标写成可优化的风险

区分单样本损失、经验风险、正则化目标与任务指标,比较回归和分类常用损失的统计含义与优化性质。

尚未开始仅保存在此浏览器
先修supervised-learninglinear-regressionlogistic-regression

本页目标

  1. 区分单样本损失、经验风险、正则化目标、评价指标与决策代价。
  2. 比较平方、绝对、Huber、零一、对数和合页损失的行为。
  3. 从条件风险解释损失选择,并识别权重、缩放与数值稳定问题。
本页目录

损失回答什么问题

预测模型产生输出,损失函数把一次预测与目标之间的后果映射成标量。设模型为 hθh_\theta,单样本损失写成

(hθ(x),y).\ell(h_\theta(x),y).

它规定训练过程要优先减少哪类错误。平方损失强调较大数值偏差,对数损失关注概率分配,合页损失关注分类间隔。选定损失等于选定一种可计算偏好;它应与目标变量、部署决策和噪声结构相容。

损失一词在工程交流中常被用于多个层次,必须用符号拆开。单样本损失是一个样本的数值;训练经验风险是训练样本损失的平均:

R^S(θ)=1ni=1n(hθ(xi),yi).\widehat R_S(\theta)=\frac1n\sum_{i=1}^n\ell(h_\theta(x_i),y_i).

总体风险是在目标分布上的期望:

RP(θ)=E(X,Y)P[(hθ(X),Y)].R_P(\theta)=\mathbb E_{(X,Y)\sim P}\left[\ell(h_\theta(X),Y)\right].

若加入参数惩罚,优化目标可能成为

J(θ)=R^S(θ)+λΩ(θ).J(\theta)=\widehat R_S(\theta)+\lambda\Omega(\theta).

此时日志中的 JJ、未加惩罚的训练风险、验证风险和测试指标是四个可能不同的量。报告“损失下降”时应说明数据划分、损失定义、归约方式以及是否包含正则项。

损失、指标与决策代价

训练损失需要为优化提供信息,任务指标用于描述最终表现,部署决策还可能使用业务代价。三者可以相同,也可以分离。分类准确率对应零一损失的平均,但零一损失在参数跨过决策边界之前保持不变,几乎处处没有有用梯度。训练常用连续替代损失,评估再报告准确率、召回率或其他任务指标。

替代损失提供优化便利,同时改变了每个样本贡献的形状。良好替代损失通常在总体层面与目标决策有可说明的关系;有限样本、模型受限和优化不完全时,替代损失更低未必让任意任务指标都更高。因此模型选择应预先确定主要指标和约束,并在独立验证集上比较。

业务代价可能依赖样本之外的资源与后续动作。例如筛查模型的漏诊代价、复查容量和概率校准共同决定阈值。把训练损失权重直接称为真实货币代价会过度解释,除非权重确实由可验证的决策模型推导。

回归损失的形状

令残差为 r=y^yr=\widehat y-y。平方损失

2(r)=12r2\ell_2(r)=\frac12r^2

的导数是 rr,残差越大,梯度幅度越大。在条件分布与平方可积等条件下,使条件期望损失最小的预测是

h(x)=E[YX=x].h^*(x)=\mathbb E[Y\mid X=x].

因此平方损失适合估计条件均值,也与同方差高斯噪声的负对数似然相联系。极端残差会产生很大贡献,数据污染或重尾噪声下应特别诊断。

绝对损失

1(r)=r\ell_1(r)=|r|

随残差线性增长。其条件风险最小点是条件中位数;在零点不可微,但存在次梯度,仍可通过凸优化求解。条件均值和条件中位数回答不同问题。目标分布偏斜时,两种模型即使都拟合充分,也可能给出不同预测。

Huber 损失在小残差区域使用二次项,在大残差区域转为线性增长。一种定义为

δ(r)={12r2,rδ,δ(r12δ),r>δ.\ell_\delta(r)= \begin{cases} \frac12r^2,& |r|\le\delta,\\ \delta(|r|-\frac12\delta),& |r|>\delta. \end{cases}

阈值 δ\delta 控制二次与线性区域。它兼具零点附近平滑梯度和对大残差有限增长率,但“稳健”仍取决于污染比例、特征杠杆与阈值选择。只替换目标损失无法修复标签泄漏或分布偏移。

量纲也不可忽略。若目标单位从米换成厘米,平方损失扩大一万倍,绝对损失扩大一百倍。比较不同任务的损失数字时需说明单位与归一化;学习率和正则化强度也可能要随尺度调整。

分类损失与概率信息

二分类零一损失为

01(y^,y)=1{y^y}.\ell_{01}(\widehat y,y)=\mathbf 1\{\widehat y\ne y\}.

它直接对应错误率,却忽略概率置信程度。预测正类概率为 0.510.510.990.99 时,只要真实标签为正,两者的零一损失都为零。若两者都判断错误,零一损失也相同。

二元对数损失为

log(p,y)=ylogp(1y)log(1p).\ell_{\log}(p,y)=-y\log p-(1-y)\log(1-p).

它对自信错误施加强惩罚。在没有模型限制的总体条件风险中,最优概率等于真实条件概率,因此它可用于学习概率。有限数据下的输出仍可能失准,尤其在模型形式错误、正则化强或分布变化时。

对于类别集合 {1,,K}\{1,\ldots,K\},模型输出概率向量 pp,多类交叉熵写成

(p,y)=logpy=k=1K1{y=k}logpk.\ell(p,y)=-\log p_y =-\sum_{k=1}^K\mathbf1\{y=k\}\log p_k.

实现通常从 logits 通过 log-sum-exp 稳定计算,避免先得到极小概率再取对数。若库函数接收 logits,前面不应重复 softmax;若接收概率,则要保证非负且总和为一。

合页损失常用标签 y{1,1}y\in\{-1,1\} 和分数 f(x)f(x)

hinge(f,y)=max(0,1yf).\ell_{\mathrm{hinge}}(f,y)=\max(0,1-yf).

正确分类但间隔小于一的样本仍有损失,间隔至少一后损失为零。它训练的是间隔分数,不直接提供概率。若应用需要概率,应另做有验证依据的校准,或选择概率模型。

条件风险揭示损失的目标

固定输入 xx,把对 YX=xY\mid X=x 的期望损失称为条件风险。研究它的最小点,可以判断一个损失在理想总体情况下估计什么统计量。平方损失指向条件均值,绝对损失指向条件中位数,对数损失指向条件类别概率。这个分析比仅观察曲线形状更有解释力。

例如令二分类真实条件概率为 q=P(Y=1X=x)q=P(Y=1\mid X=x),预测概率为 pp。对数损失的条件风险是

L(p)=qlogp(1q)log(1p).L(p)=-q\log p-(1-q)\log(1-p).

求导得到

L(p)=qp+1q1p=pqp(1p).L'(p)=-\frac qp+\frac{1-q}{1-p} =\frac{p-q}{p(1-p)}.

p(0,1)p\in(0,1) 内唯一驻点为 p=qp=q,二阶导为正,所以真实概率是唯一最小点。该结论位于总体、无限函数容量和正确条件分布的分析层面;有限参数模型只能在其函数族中近似这个目标。

损失还决定梯度如何分配到样本。平方损失梯度随残差线性增长,对数损失对 logit 的梯度为 pyp-y,合页损失在间隔外为零。数据权重、类别权重和掩码会进一步改变经验风险对应的样本分布。若权重为 ai0a_i\ge0,常用加权平均是

R^w=iaiiiai.\widehat R_w=\frac{\sum_i a_i\ell_i}{\sum_i a_i}.

把加权和除以样本数或权重和会改变数值尺度,也可能影响学习率和正则项相对强度;实现与报告应保持一致。

可微性、凸性和数值行为

可微损失便于反向传播,但可微性并非唯一标准。绝对损失和合页损失在少数点不可微,可以用次梯度或专门凸优化处理。凸损失与线性模型组合常形成凸目标;同一损失与深层网络组合后,参数化会使整体目标非凸。不能把损失自身的凸性直接推广到整个模型。

损失的缩放不会改变无正则化精确最小点,却会改变梯度幅度、停止阈值以及它和正则项的相对比例。把平均损失改为总和损失后,若正则项系数不随样本量调整,优化问题已经改变。批量大小变化时,框架采用 mean 还是 sum 也会影响更新尺度。

稳定实现应在 logits 空间使用专门公式,处理空批次、掩码分母、无效标签和浮点范围,并明确缺失标签是否排除。吞掉 NaN 或把无效概率静默裁剪,会掩盖数据与模型问题;若必须裁剪,应记录阈值和原因。

训练损失与泛化评价

同一训练集上选择更复杂模型,经验风险往往可以降低或保持;这由候选函数集合扩大直接得到。总体风险并无相同的单调保证。模型可能利用训练样本的偶然波动,造成训练风险继续下降而验证风险上升。

验证损失是有限验证样本对总体损失的估计,也带抽样误差。重复试验大量超参数再挑最低验证损失,会对验证集产生选择偏差。测试集要在模型、损失、阈值和预处理规则固定后使用。若测试指标与训练损失不同,应同时报告二者的定义,避免把数值差异误解为实现错误。

正则化目标包含 λΩ(θ)\lambda\Omega(\theta) 时,训练日志下降可能来自惩罚项变小,同时数据拟合项变大。诊断应拆分两项。泛化表现由独立数据上的预测损失或任务指标评价,不能用参数惩罚后的训练目标替代。

例题一:均值与中位数给出不同答案

例 1:配送时长中的极端延迟

某固定输入条件下观察到配送时长 10,11,12,13,5410,11,12,13,54 分钟。若用常数 cc 预测,平方损失最小点是样本均值 2020;绝对损失最小点是样本中位数 1212。平方损失为 5454 分钟的样本分配很大影响,绝对损失的边际增长保持常数。

两种答案对应不同目标。若需要最小化平均平方偏差,均值符合目标;若绝对分钟误差代表代价,中位数更直接。不能仅因一个结果更接近日常直觉就宣称另一个错误。还应检查 5454 是数据错误、罕见拥堵还是不同机制产生的样本;损失选择无法替代数据调查。

例题二:准确率相同而对数损失不同

例 2:比较两组概率预测

两个样本的真实标签均为正类。模型 A 给出概率 0.51,0.510.51,0.51,模型 B 给出 0.99,0.010.99,0.01。以 0.50.5 为阈值,A 的准确率为百分之百,B 的准确率为百分之五十,因此此例的准确率已经不同。若改成真实标签分别为正、负,A 给出 0.51,0.490.51,0.49,B 给出 0.99,0.010.99,0.01,两者准确率都为百分之百,但平均对数损失分别约为 0.6730.6730.0100.010

对数损失保留概率置信信息。若把第二组改为 0.99,0.990.99,0.99,准确率降为百分之五十,且对负类的自信错误造成巨大损失。选择评价量时要明确系统需要类别、排序还是概率;一个指标不能覆盖全部性质。

反例与常见误区

训练准确率不变时,概率模型仍可继续改善

十个样本都已被正确分类,初始正确类别概率约为 0.550.55。继续训练后概率变为 0.80.8,零一损失和准确率完全不变,对数损失显著降低。这说明准确率缺少决策边界之外的梯度信息。若训练继续把概率推到极端,独立数据的对数损失可能反而恶化,因此还需验证和正则化。

训练使用的损失必须与最终报告指标完全相同

离散指标往往难以直接优化,连续替代损失可以提供梯度。二者应有明确对应关系,并在独立数据上验证任务指标。训练目标与报告指标不同不构成错误,未说明两者差异才会造成解释混乱。

更小的带正则训练目标必然具有更小测试损失

带正则目标包含样本拟合项和参数惩罚。两个模型的目标值受 λ\lambda、参数化与数据尺度共同影响,无法直接替代目标分布上的测试风险。测试表现需要独立样本估计。

练习

练习

求常数预测 cc 在平方经验风险 n1i(cyi)2n^{-1}\sum_i(c-y_i)^2 下的最小点。

查看解答

cc 求导得 2n1i(cyi)=2(cyˉ)2n^{-1}\sum_i(c-y_i)=2(c-\bar y),令其为零得到 c=yˉc=\bar y。二阶导为 2>02>0,所以样本均值是唯一最小点。这是平方损失指向均值的有限样本版本。

练习

标签为正类时,分别计算预测概率 0.80.80.20.2 的对数损失,并说明两者分类结果和概率惩罚。

查看解答

损失分别为 log0.80.223-\log0.8\approx0.223log0.21.609-\log0.2\approx1.609。以 0.50.5 为阈值,前者正确、后者错误;对数损失还量化了模型给真实类别分配的概率,不只记录二元结果。

练习

训练代码把每批损失从平均值改成总和,但学习率和正则项保持不变。说明优化行为为何可能变化。

查看解答

总和损失的数据梯度约扩大为批量大小倍数,参数更新会变大;未缩放的正则项相对变弱。即使无正则化目标的精确最小点相同,有限步优化轨迹、稳定学习率和停止阈值都会改变。应明确归约方式并相应调整超参数。

知识连接

可信资源

lecture · 年份待核

Stanford CS229 Course Materials

Andrew Ng

用于核对经典机器学习模型的目标函数、推导和适用前提。

打开官方来源

Stanford CS229 官方材料通过线性回归、逻辑回归、支持向量机和学习理论展示多类损失与目标。

book · 2016

Deep Learning

Ian Goodfellow, Yoshua Bengio, Aaron Courville

适合作为反向传播和优化章节的完整参考。

打开官方来源

《Deep Learning》官方在线教材第五至第八章讨论最大似然、输出分布、正则化和优化目标。

后续学习

继续阅读 过拟合与泛化,研究经验风险为何只能近似未知分布风险,以及模型选择怎样使用验证数据;再进入 正则化,分析参数惩罚如何改变目标与解。

作者one-forth-core
最近修订2026-07-11
审阅状态待独立人工审阅