模型评估
1. 数据集划分
在标准的机器学习流程中,数据集通常被划分为以下几个主要部分:
1). 训练集 (Training Set)
- 作用:用于训练模型,即通过学习数据中的特征和模式来优化模型的内部参数。
- 用途:模型接触的绝大部分数据都在这里,是模型“学习”的基础。
2). 验证集 (Validation Set)
- 作用:用于在训练过程中调优模型超参数(Hyperparameters),例如神经网络的层数、学习率、树模型的深度等。
- 用途:验证集的结果指导我们选择最佳的模型配置。它既不直接参与模型的参数优化(训练),也不是最终评估的依据。
3). 测试集 (Testing Set / Holdout Set)
- 作用:用于对最终确定超参数的模型进行无偏见的最终评估。
- 用途:测试集的数据必须是模型在训练和验证过程中完全没有接触过的“新”数据。评估结果代表了模型在实际应用中的预期性能。
2. 模型评估方法
该章节参考scikit-learn的实现。
主要有三种策略来划分数据集:
1). 留出法(Hold-out Method / 简单划分)
这是最基础的划分方法,将数据集一次性划分为训练集和测试集(有时也包括验证集)。
- 划分比例:常见的比例有 80% 训练 / 20% 测试,或者 70% 训练 / 15% 验证 / 15% 测试。
- 优点:简单、快速、计算成本低。
- 缺点:划分结果具有随机性,可能导致样本偏差,评估结果不稳定。如果数据集较小,会进一步减少训练数据量。
2). 交叉验证(Cross-Validation, CV)
为了克服留出法的随机性和数据利用率低的问题,交叉验证被广泛使用,其中最常用的是 K 折交叉验证(K-Fold CV)。
- 方法:
- 将数据集随机平均分成 K 个大小相似的子样本(折,Fold)。
- 进行 K 次独立的模型训练和评估。每一次,都使用其中 K-1 个子集作为训练集,剩下的那 1 个子集作为验证集(或测试集)。
- 最终,将 K 次评估结果取平均值,得到一个更稳定、更可靠的模型性能估计。
- 优点:数据利用率高,评估结果更稳定、可靠。
- 缺点:计算成本高,需要训练 K 次模型。
3). 自助法(Bootstrapping)
自助法(Bootstrapping),或称自举法、自助采样法,是数据集划分和模型评估中的一种统计学方法,尤其适用于数据集较小的情况。它由 Bradley Efron 于 1979 年提出。自助法的核心特征是有放回随机抽样。
其基本步骤如下:
1)构建训练集(有放回抽样):给定一个包含N个样本的原始数据集𝐷。我们从𝐷中进行𝑁次有放回的随机抽样,形成一个新的数据集𝐷𝑡𝑟𝑎𝑖𝑛。
由于是有放回抽样,某些原始样本可能会在𝐷𝑡𝑟𝑎𝑖𝑛中出现多次,而有些原始样本则完全不会出现。
2)构建测试集(袋外数据):将原始数据集𝐷𝑡𝑟𝑎𝑖𝑛中未被抽取到的样本集合,作为测试集(Testing Set),也称为袋外数据(Out-Of-Bag, OOB)。
3)训练与评估:使用𝐷𝑡𝑟𝑎𝑖𝑛训练模型,使用 OOB 数据集进行评估。
自助法的经典应用为集成学习算法随机森林(Random Forest)。
参考资料:
1. scikit-learn
2.《统计学习方法》第一章统计学习方法概论——李航
浙公网安备 33010602011771号