# 第2章: 模型评估与选择 / Model Evaluation and Selection > **融合来源**: 西瓜书第2章(模型评估与选择) + 南瓜书第2章 + 李航第12章(监督学习方法总结) + 清华大学PPT(模型评估与模型选择) --- ## 一、入门理解 — 周志华《机器学习》(西瓜书) ### 1.1 核心问题 模型评估回答两个根本问题:(1) 模型的泛化性能有多好?(2) 模型A是否显著优于模型B? 三个核心环节:**评估方法**(如何划分数据)→**性能度量**(用什么指标)→**比较检验**(差异是否统计显著)。 **经验误差**(训练误差)与**泛化误差**(测试误差)的区别是评估的根本出发点——机器学习的目标是最小化泛化误差。 **过拟合**(overfitting):模型将训练样本自身特性当作一般规律,泛化能力差 **欠拟合**(underfitting):模型尚未充分学习训练数据的内在规律 ### 1.2 评估方法 西瓜书详列以下评估方法,各有优劣: | 方法 | 原理 | 优点 | 缺点 | |------|------|------|------| | **留出法**(hold-out) | $D = S \cup T$, $S \cap T = \emptyset$ | 简单 | 单次划分不稳定 | | **k折交叉验证**(k-fold CV) | $D$分$k$份,轮换验证 | 数据利用充分 | 计算量大 | | **留一法**(LOO) | $k=m$的交叉验证 | 最接近真实分布 | 计算开销极大 | | **自助法**(bootstrapping) | 有放回采样$m$次 | 适合小数据集 | 改变数据分布 | 西瓜书特别指出:自助法约36.8%的样本不会出现在训练集中($\lim_{m\to\infty} (1-1/m)^m = 1/e \approx 0.368$),这些可作为验证集。 调参与模型选择需区分**训练集/验证集/测试集**三层划分:训练集用于模型拟合,验证集用于超参数调优和模型选择,测试集仅用于最终评估。 ### 1.3 性能度量 **分类任务**核心指标(以二分类混淆矩阵为基础): | | 预测正 | 预测负 | |---|--------|--------| | 真正 | TP | FN | | 真负 | FP | TN | - **精度(Accuracy)**:$(TP+TN)/(TP+TN+FP+FN)$ - **查准率(Precision)**:$P = TP/(TP+FP)$ — 预测为正中有多少真正 - **查全率(Recall)**:$R = TP/(TP+FN)$ — 真正样本有多少被找出 - **F1**:$F1 = 2PR/(P+R)$ — P和R的调和平均 - **$F_\beta$**:$F_\beta = (1+\beta^2)PR/(\beta^2 P + R)$ — $\beta>1$重查全,$\beta<1$重查准 **ROC与AUC**:ROC曲线的纵轴是TPR(真正例率=Recall),横轴是FPR(假正例率)。AUC是ROC曲线下面积,反映排序质量: $$AUC = \frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)(y_i+y_{i+1})$$ **代价敏感错误**:不同类型错误代价不同($cost_{01} \neq cost_{10}$),引入代价矩阵。代价曲线(Cost Curve)以正例概率代价为横轴,归一化代价为纵轴。 **回归任务**常用均方误差(MSE):$MSE = \frac{1}{m}\sum_{i=1}^m (f(x_i)-y_i)^2$ ### 1.4 比较检验 单次评估结果有随机性,需统计检验判断算法间差异是否显著: - **二项检验**:检验单个学习器的泛化错误率是否 ≤ $\epsilon_0$ - **t检验**:比较两个学习器在k折CV下的性能差异 - **McNemar检验**:基于列联表的配对比较(同一测试集上两个分类器的预测异同) - **Friedman检验 + Nemenyi后续检验**:多个学习器在多个数据集上的综合比较 --- ## 二、公式推导 — 南瓜书补充 ### 2.1 偏差-方差分解的完整推导 南瓜书给出了偏差-方差分解的严格推导。令 $y_D$ 为样本 $\mathbf{x}$ 在数据集 $D$ 中的标记,$f(\mathbf{x}; D)$ 为在 $D$ 上训练的模型输出,$\bar{f}(\mathbf{x}) = \mathbb{E}_D[f(\mathbf{x}; D)]$。 以回归任务为例,使用平方损失: $$\begin{aligned} \mathbb{E}_D[(f(\mathbf{x}; D) - y_D)^2] &= \mathbb{E}_D[(f - \bar{f} + \bar{f} - y_D)^2] \\ &= \mathbb{E}_D[(f - \bar{f})^2] + (\bar{f} - y_D)^2 + 2\mathbb{E}_D[f - \bar{f}](\bar{f} - y_D) \\ &= \underbrace{\text{Var}(f)}_{\text{方差}} + \underbrace{(\bar{f} - y)^2}_{\text{偏差}^2} + \underbrace{\mathbb{E}_D[(y_D - y)^2]}_{\text{噪声}} \end{aligned}$$ 结论:泛化误差 = 偏差² + 方差 + 噪声(不可约)。 ### 2.2 AUC公式推导 AUC可理解为"随机取一个正例和一个负例,正例排在负例前面的概率"。南瓜书推导了AUC的梯形近似公式。 令 $m^+$ 为正例数,$m^-$ 为负例数,$D^+$ 和 $D^-$ 分别为正负例集合: $$AUC = \frac{1}{m^+ m^-} \sum_{x^+ \in D^+} \sum_{x^- \in D^-} \left(\mathbb{I}(f(x^+) > f(x^-)) + \frac{1}{2}\mathbb{I}(f(x^+) = f(x^-))\right)$$ 排序损失(loss)定义为:$\ell_{rank} = 1 - AUC$。 --- ## 三、理论深化 — 李航《机器学习方法》+ 清华大学PPT ### 3.1 评估方法的统计学习视角 李航第12章从统计学习三要素角度讨论模型选择: - **模型选择策略**:在所有候选模型 $\{M_1, \ldots, M_K\}$ 中选择泛化误差最小的 - **交叉验证的统计学原理**:CV给出泛化误差的无偏/近似无偏估计 - **正则化与模型选择**:正则化参数 $\lambda$ 是模型超参数,通过CV选择 PPT补充:**S折交叉验证的方差-偏差分析**——折数$k$越大,训练集越接近全集(偏差小),但各折之间训练集重叠多(方差可能大);$k=5$或$10$是经验上较稳健的选择。 ### 3.2 李航对偏差-方差的处理 李航从概率模型角度看待偏差-方差:期望风险 $R(f) = \mathbb{E}[L(Y, f(X))]$ 的分解在平方损失下有上述分解,但对于分类问题(0-1损失),偏差-方差分解更为复杂且不完全适用。 ### 3.3 李航对监督学习方法共性的总结 李航第12章将监督学习中的所有方法统一为:在假设空间中极小化经验风险或结构风险。各方法的差异在于: - **假设空间不同**(线性函数 vs 树结构 vs 神经网络) - **损失函数不同**(平方/Hinge/指数/对数损失) - **优化算法不同**(解析解/梯度下降/SMO/前向分步) --- ## 四、综合总结 ### 算法与度量对比 | 场景 | 推荐度量 | 推荐评估方法 | |------|---------|------------| | 类别均衡二分类 | Accuracy | 10折CV | | 类别不均衡二分类 | F1, AUC-ROC | 分层10折CV | | 侧重查准(宁可漏判) | Precision, $F_{0.5}$ | 留出法+多次重复 | | 侧重查全(宁可误判) | Recall, $F_2$ | 留出法+多次重复 | | 多分类 | Macro/Micro F1 | 10折CV | | 回归 | MSE, MAE, $R^2$ | 10折CV | | 排序任务 | AUC, NDCG | 时间序列需特殊CV | | 多算法比较 | — | Friedman+Nemenyi | ### 关键结论 1. **数据划分三元组**:训练集(拟合参数) → 验证集(调参+选模型) → 测试集(最终评估) 2. **k折交叉验证是默认选择**:$k=5$或$10$,分层采样保留类比比例 3. **Precision vs Recall不可兼得**:根据业务需求选择(如疾病筛查重Recall,垃圾邮件重Precision) 4. **AUC衡量排序质量**:不依赖于阈值选择,适合类别不均衡和排序场景 5. **偏差-方差分解揭示模型选择本质**:简单模型→高偏差低方差,复杂模型→低偏差高方差 6. **统计检验不是可选项**:一次好的评估结果可能是随机的,必须用检验排除偶然性 7. **正则化是SRM的实现**:$\lambda$通过验证集选择,控制经验风险与模型复杂度的平衡 ### 章节连接 - **前置依赖**:第1章(绪论)—泛化、过拟合概念 - **后续延伸**:第20章(计算学习理论)—泛化误差界的严格理论;所有后续章节的算法选择都需要本章的评估框架