← 返回模块
Q2.6.1.1beta 可读 · 未来免费校验通过内容版本 2026-05-26

统计学习框架:损失、风险与经验风险最小化

2.6.1 · 监督学习基础 · 数学与统计能力

统计学习框架:损失、风险与经验风险最小化

开篇场景(Hook):下月信号要不要照搬

上海一家私募的量化研究员把过去三年沪深300(CSI 300)成分股的月度超额收益(excess return)整理成一张表:每一行是一只股票在某月的 (x,y)(x, y)xx 是当月末的因子向量(规模、价值、动量、低波),yy 是下月的超额收益。她准备在这张大约一万行的样本里挑一个预测器 hh,下周用它给六月组合下单。组合经理只问了两个问题:「样本里平均误差最小的那个 hh,到下月还能用吗?如果不能,你怎么提前知道?」

这两个问题就是本课的全部内容。它把「找一个能在新数据上仍然好用的预测器」拆成四个数学对象——分布 PP、假设空间 H\mathcal{H}、损失函数 LL、风险 RR——并解释为什么直接「在训练样本上把误差打到最小」常常给出一个在六月翻车的 hh

一、监督学习的四件套

固定一对随机变量 (X,Y)(X, Y),服从未知联合分布 PPXXX \in \mathcal{X} 是观测得到的特征向量(因子暴露、价格序列、文本嵌入),YYY \in \mathcal{Y} 是想预测的标签(下月收益、是否违约、波动率类别)。监督学习的任务,是从一个​​假设空间​​(hypothesis class)H={h:XY}\mathcal{H} = \{h : \mathcal{X} \to \mathcal{Y}\} 里挑一个预测器 hh,使它在 PP 之下平均犯错最少。

「犯错多少」由一个​​损失函数​​(loss function)L:Y×YR0L : \mathcal{Y} \times \mathcal{Y} \to \mathbb{R}_{\ge 0} 度量:L(y,y^)L(y, \hat{y}) 是真实值 yy 与预测值 y^\hat{y} 之间的代价。所有这些逐点代价沿 PP 取期望,被压成一个标量,称为​​期望风险​​(expected risk):

R(h)=E(X,Y)P[L(Y,h(X))]R(h) = \mathbb{E}_{(X, Y) \sim P}\big[L(Y, h(X))\big]

四件套于是齐整:PP 给环境,H\mathcal{H} 给候选,LL 给评分,RR 给总分。学习目标可以写成一行:在 H\mathcal{H} 里找 hh 使 R(h)R(h) 最小。

二、经验风险与 ERM

致命的现实是:PP 不可知。如果 PP 已知,你直接对 L(Y,h(X))L(Y, h(X)) 取期望就能算出 R(h)R(h),这门学科不必存在。你手上只有从 PP 抽出的独立同分布(i.i.d.)样本 {(xi,yi)}i=1n\{(x_i, y_i)\}_{i=1}^{n},所以把期望换成样本均值,得到​​经验风险​​(empirical risk):

R^n(h)=1ni=1nL(yi,h(xi))\widehat{R}_n(h) = \frac{1}{n} \sum_{i=1}^{n} L(y_i, h(x_i))

把目标函数从 RR 换成 R^n\widehat{R}_n、把外层优化关到 H\mathcal{H} 之内,就是​​经验风险最小化​​(empirical risk minimization, ERM):

h^n=argminhHR^n(h)\hat{h}_n = \arg\min_{h \in \mathcal{H}} \widehat{R}_n(h)

这是几乎所有监督学习算法的骨架。​​普通最小二乘​​(ordinary least squares, OLS)对应 LL 取平方损失、H\mathcal{H} 取线性函数;在标签上加一条正态噪声假设,​​极大似然估计​​(maximum likelihood estimation, MLE)就是同一条 ERM 优化的等价表述——具体重写到下一节再做,本课只立框架。

三、训练误差、测试误差与泛化间隙

把同一批样本切成三份,是保证 R^n\widehat{R}_n 不替你「自欺欺人」的标准做法。

  • ​训练集​​(training set):用来在 H\mathcal{H} 上做 ERM、产出 h^n\hat{h}_n。其上的 R^n(h^n)\widehat{R}_n(\hat{h}_n) 叫​​训练误差​​(training error)。
  • ​验证集​​(validation set):用来挑选 H\mathcal{H} 的容量(多项式阶数、正则系数等),不参与拟合。
  • ​测试集​​(test set):​​只看一次​​,用来估计 h^n\hat{h}_nPP 下的真实 R(h^n)R(\hat{h}_n),得到​​测试误差​​(test error)。

定义​​泛化误差​​(generalization error)为 R(h^n)R^n(h^n)R(\hat{h}_n) - \widehat{R}_n(\hat{h}_n),它衡量训练样本上的成绩离真实期望风险有多远。

留一条警告给量化场景:沪深300 月频收益严格违反 i.i.d.——信号衰减、市场状态切换、政策冲击都让 PP 随时间漂移。把 2020-2022 的数据当成与 2024 同分布,验证集会撒谎。这里只标记问题,完整处理(如「purged / embargoed CV」)放在模块 2.6.5 ML in Quant Finance。

四、贝叶斯最优预测器:不可消除误差的下界

ERM 找到的 h^n\hat{h}_n 在最理想情况下能多准?对​​任意​​学习算法,R(h)R(h) 都有一个被 PP 本身决定的下界,叫​​贝叶斯最优预测器​​(Bayes-optimal predictor):

h(x)=argminyYE[L(Y,y)X=x]h^*(x) = \arg\min_{y \in \mathcal{Y}} \mathbb{E}\big[L(Y, y) \mid X = x\big]

在两类最常用的损失下,hh^* 有闭式形式。

​平方损失​ L(y,y^)=(yy^)2L(y, \hat{y}) = (y - \hat{y})^2:对 E[(Yy^)2X=x]\mathbb{E}[(Y - \hat{y})^2 \mid X = x] 关于 y^\hat{y} 求导并令零,得

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

也就是说,平方损失下最优预测器就是条件期望——把 XX 的已知信息全用上后 YY 的均值。

​0-1 损失​ L(y,y^)=1{yy^}L(y, \hat{y}) = \mathbb{1}\{y \neq \hat{y}\}:在分类任务里按后验概率最大的类下注,

h(x)=argmaxyYP(Y=yX=x)h^*(x) = \arg\max_{y \in \mathcal{Y}} \mathbb{P}(Y = y \mid X = x)

这就是​​最大后验​​(MAP, maximum a posteriori)分类器,也叫贝叶斯分类器。

R(h)R(h^*) 称为​​贝叶斯风险​​(Bayes risk),它是噪音、未观测变量、YY 在给定 XX 下的内禀随机性带来的​​不可约误差​​(irreducible error)。任何 h^n\hat{h}_nhh^* 的差距,都由 H\mathcal{H} 的表达能力不足(逼近误差)与有限样本带来的随机抖动(估计误差)共同贡献。

Formula Explorer

(y_hat - mu)^2

y^\hat{y} 在零附近来回拖动一下,你能直接看到平方损失在 y^=μ=E[YX]\hat{y} = \mu = \mathbb{E}[Y \mid X] 处取最小——上面那条贝叶斯结论的几何形式。

五、本模块复用的三种损失

下表把后续四课会反复登场的三种损失列在一起,记号统一、出处一致,后面只引不证。

损失Y\mathcal{Y} 的取值公式 L(y,y^)L(y, \hat{y})适配任务
平方损失R\mathbb{R}(yy^)2(y - \hat{y})^2回归(连续收益预测)
0-1 损失{1,,K}\{1, \dots, K\}1{yy^}\mathbb{1}\{y \neq \hat{y}\}离散分类(涨/跌、违约/正常)
对数损失 / 交叉熵概率向量 p^ΔK\hat{p} \in \Delta_Klogp^y-\log \hat{p}_y概率分类(违约概率、信号置信度)

三者之间存在一条桥梁:在「标签条件分布为​​正态分布​​(Gaussian distribution,均值 f(x)f(x)、方差 σ2\sigma^2)」假设下,负对数似然(negative log-likelihood)恰好等于平方损失加常数;把噪声协方差矩阵(covariance matrix)换成 Σ\Sigma,平方损失就推广成马氏距离的二次型。所以「按交叉熵做 ERM」与「在指数族里做 MLE」是同一件事的两种语言——这条等价在第 3 课讲线性回归、第 5 课讲 logistic 回归时都会再用一次。

六、练习

Exercise

你有一份 5 行的 toy 训练样本 (xi,yi)(x_i, y_i)(0.1,0.2)(0.1, 0.2)(0.4,0.5)(0.4, 0.5)(0.5,0.7)(0.5, 0.7)(0.8,1.1)(0.8, 1.1)(1.0,1.3)(1.0, 1.3)。两个候选预测器:hA(x)=xh_A(x) = xhB(x)=1.3xh_B(x) = 1.3 x。(a)在平方损失下分别计算 R^5(hA)\widehat{R}_5(h_A)R^5(hB)\widehat{R}_5(h_B),指出 ERM 的赢家。(b)若把损失从平方改成 0-1(先把 yy 按阈值 0.7 离散化为「高」「低」两类,预测器输出按同阈值离散化),贝叶斯最优预测器的恒等式应从平方损失下的哪一行换成 0-1 损失下的哪一行?

提示
R^5(h)=15i(yih(xi))2\widehat{R}_5(h) = \frac{1}{5}\sum_i (y_i - h(x_i))^2。先别管比例,五个平方残差直接加起来除以 5,比一比 hAh_AhBh_B 谁小。
提示
(b)只需调用本课的两条贝叶斯最优结论:连续 yy + 平方损失对应条件期望 E[YX=x]\mathbb{E}[Y \mid X = x];离散 yy + 0-1 损失对应 MAP 分类器 argmaxyP(Y=yX=x)\arg\max_y \mathbb{P}(Y = y \mid X = x)。把表里前两行的「贝叶斯最优」对应公式各抄一遍即可。

七、通往下一节

到这里你已经有了一套干净的语言:任何监督学习算法都是「选 LL、选 H\mathcal{H}、在 R^n\widehat{R}_n 上做 ERM」三步走;它的表现被 H\mathcal{H} 的容量、样本量 nn、以及贝叶斯风险三方面共同决定。但本课只字未提的一件事是:如果 H\mathcal{H} 足够灵活(比如 5 维输入上的 10 阶多项式),你完全可以把 R^n\widehat{R}_n 驱动到零,而真实 R(h)R(h) 同时爆炸——「训练集完美、真实分布上崩溃」。下一课要把这种现象量化成​​偏差-方差分解​​(bias-variance decomposition),把 E[(Yh^(X))2]\mathbb{E}\big[(Y - \hat{h}(X))^2\big] 拆成不可约噪音、平均预测器的偏差平方、预测器在不同训练样本之间的方差三块,并配一张学习曲线把欠拟合 / 过拟合 / 恰好拟合三种区域画出来。