目录
1.1模型评估与模型参数选择
- 若对于给定的输入x,若某个模型的输出y ̂=f(x)偏离真实目标值y,那么就说明模型存在误差;
- y ̂偏离y的程度可以用关于y ̂和y某个函数L(y,y ̂)来表示,作为误差的度量标准:这样的函数L(y,y ̂)称为损失函数
- 在某种损失函数度量下,训练集上的平均误差被称为训练误差,测试集上的误差称为泛化误差。
- 由于我们训练得到一个模型最终的目的是为了在未知的数据上得到尽可能准确的结果,因此泛化误差是衡量一个模型泛化能力的重要标准。
1.1.1数据集
数据集是数据科学和机器学习领域的基石,它们为模型的训练、验证和测试提供了必要的原始材料。
数据集通常由一系列数据的集合组成,这些数据以表格形式出现,每一列代表一个特定变量,而每一行则对应于数据集中的一个成员或样本。在机器学习中,数据集被分为训练集、验证集和测试集,每个子集承担着不同的角色。训练集用于构建和训练模型,验证集用于挑选最优的模型超参数,而测试集则用于评估模型的泛化能力。
- 误差:预测输出y ̂与真实输出y之间的差异;
- 经验误差、训练误差:在训练集上的误差;
- 泛化误差:在新样本上的误差。 泛化误差越小越好,经验误差不一定越小越好,可能导致过拟合。
三种数据集之间的关系: 训练集相当于上课学知识 验证集相当于课后的的练习题,用来纠正和强化学到的知识 测试集相当于期末考试,用来最终评估学习效果
1.1.2验证集
当我们的模型训练好之后,我们并不知道他的表现如何。这个时候就可以使用验证集(Validation Dataset)来看看模型在新数据(验证集和测试集是不同的数据)上的表现如何。同时通过调整超参数,让模型处于最好的状态。
验证集有2个主要的作用:
- 评估模型效果,为了调整超参数而服务
- 调整超参数,使得模型在验证集上的效果最好
说明:
验证集不像训练集和测试集,它是非必需的。如果不需要调整超参数,就可以不使用验证集,直接用测试集来评估效果。 验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测试集的评估结果为准。
1.1.3测试集
当我们调好超参数后,就要开始「最终考试」了。我们通过测试集(Test Dataset)来做最终的评估,来看学习效果(模型效果)好不好。
测试集主要用于评估机器学习模型的泛化能力,即模型对未知数据的预测能力。
在机器学习中,测试集的作用是验证模型的泛化能力,确保模型在面对新数据时仍然能够保持良好的性能。具体来说:
- 性能评估:测试集提供了一个平台,用于检验模型在训练和验证阶段之后的性能。通过测试集的结果,我们可以了解模型是否能够有效地应用于实际问题。
- 泛化能力验证:测试集的数据是模型在训练过程中未曾见过的,因此它能够反映出模型对新数据的处理能力。这是评估模型是否过度拟合训练数据的重要手段。
- 决策依据:测试集的结果往往作为最终决定模型是否部署到生产环境的依据。如果模型在测试集上表现良好,那么我们就有理由相信它在实际应用中也会表现不错。
- 风险控制:在某些情况下,模型在测试集上的表现还会影响项目的风险管理策略。例如,如果模型的风险敏感度较高,那么在测试集上的表现就需要更加谨慎地分析。
通过测试集的评估,我们会得到一些最终的评估指标,例如:准确率、精确率、召回率、F1等