# 模型的评估与选择
步骤:
- 对数据集进行划分,分为 训练集 和 测试集 两部分
- 在训练集上训练得到模型
- 对模型在测试集上面的泛化性能进行度量
- 基于测试集上的泛化性能,依据假设检验来推广到全部数据集上面的泛化性能
目标:最小化 测试误差
# 误差
指算法 / 模型的实际预测输出与样本的真实输出之间的差异
- 训练误差 / 经验误差:学习器在训练集上的误差
- 测试误差:学习器在新(测试)样本上的误差
# 数据集划分
目标:
- 将数据集 D 划分为 训练集 S、(验证集 V) 和 测试集 T
- 在训练集上训练模型,(在验证集上调整模型超参数,并对模型的能力(是否过拟合)进行初步评估和选择),然后在测试集上评估其性能
** 原则:** 测试集、(验证集)应尽量与训练集 互斥。即(验证样本)、测试样本尽量不在训练集中出现,未在训练过程中使用
方法介绍:
方法 | 描述 | 优点 | 缺点 |
---|---|---|---|
保持(留出)法 | 将数据集随机划分为训练集(如 2/3)和测试集(如 1/3),单次评估模型性能。 | 简单快速;计算成本低 | 结果受划分影响大 |
随机子抽样 | 随机地选择训练集和测试集,将保持方法重复 k 次,总准确率估计取每次迭代准确率的平均值 | 数据利用率高 | 每个样本用于训练的次数不同 |
k 折交叉验证 | 数据分为大小相似、互不相交的 k 个子集(折),轮流用 k-1 个子集训练,1 个子集测试,重复 k 次后取均值。 | 数据利用率高;结果稳定(方差低) | 计算量大(需训练 k 次模型) |
留一法 | 特殊的 k 折法,其中取 k 为样本数 | 训练集比数据集只少一个样本,比较准确 | 计算量大 |
自助法 | 有放回 抽样生成训练集(约 63.2% 样本),未被抽中的样本作为测试集。 | 适合小数据集 ;可生成多组训练集 | 改变数据分布(引入偏差);结果可能高估 |
应用:
方法 | 适用场景 | 方差 | 偏差 |
---|---|---|---|
留出法、随机子抽样法 | 数据量较大 | 训练、测试集分布不同时,模型方差较高 | 数据量不足时。模型偏差较高 |
k 折交叉验证、留一法 | 数据量较小 | 较低 | 较低 |
自助法 | 数据量较小 | 较低 | 改变了初始分布,模型偏差较高 |
# 性能度量
# 指标
对于单一样本
回归任务的输出是连续数值,需要定量反馈指标来评估数值预测的精度
分类任务的输出是正确或者错误(二分类),需要定性评价分类是否正确