模型评估、交叉验证

一、模型评估:

模型评估用来检验模型的预测精度。

首先数据集分为训练集和测试集两部分,使用训练集进行模型的训练,使用测试集进行模型的评估
在这里插入图片描述
注意,模型评估阶段应该对测试集所有样本进行误差计算后取平均值作为评估结果,而不是仅仅对一个样本进行误差计算就作为评估结果。 因为一个样本的误差评估结果不具有泛化性

二、交叉验证:

将数据集分为训练集、测试集、验证集。

首先使用训练集通过调整超参数训练模型提高模型在训练集上的预测精度验证集在训练阶段提高模型泛化能力模型,最后使用测试集评估模型的性能

具体来说:

  • 在机器学习中,通常会将完整的数据集分成训练集、验证集和测试集三部分,其中验证集的作用是在模型训练阶段中用来评估模型性能和进行超参数调优,而测试集的作用是在最终确定模型性能时进行评估。
  • 训练集用于模型参数的学习,通过最小化训练集上的损失函数来调整模型参数,这有助于模型更好地拟合训练数据。在训练过程中,模型会根据训练集的损失调整参数,但模型可能会过拟合训练数据并不能很好地泛化到未见数据。
  • 在这种情况下,验证集发挥作用通过在验证集上评估模型性能,可以帮助监控模型在训练过程中的泛化能力,找到对未见数据泛化能力较好的模型,并防止在训练集上过拟合。 此外,验证集还可用于调整超参数,优化模型的性能。最终,测试集的作用是独立于训练和验证集,用于评估最终模型的泛化能力和性能。因此,验证集在模型训练阶段中扮演着重要的角色,帮助选择最佳模型并调优模型的超参数。

!!!举个例子:训练阶段每次在训练集上使用梯度下降调整参数后,验证集都会发挥作用来验证该组新的参数在验证集(未知数据)上的性能,会与参数调整之前的那组参数进行比较,如果发现新调整的超参数组合导致模型性能出现降低,该轮训练参数不会进行调整,直接进入下一轮训练(进入下一轮之前,若验证集损失大、训练集损失小,可能是过拟合,会减小学习率并增加正则化参数;若训练集损失大,是欠拟合,会增大学习率并减小正则化参数)。

  • 训练阶段验证集作用示例:其中123分别是一次训练调整参数后的模型。
    在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 15:50:01       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 15:50:01       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 15:50:01       90 阅读
  4. Python语言-面向对象

    2024-07-10 15:50:01       98 阅读

热门阅读

  1. 面试题 12. 矩阵中的路径

    2024-07-10 15:50:01       27 阅读
  2. 算法整理——【贪心算法练习(2)】

    2024-07-10 15:50:01       28 阅读
  3. RK3588开发笔记-ES8311音频芯片调试记录

    2024-07-10 15:50:01       27 阅读
  4. Selenium 等待

    2024-07-10 15:50:01       24 阅读
  5. MySQL中的JOIN、LEFT JOIN、RIGHT JOIN讲解

    2024-07-10 15:50:01       25 阅读
  6. 学懂C#编程:C# 索引器(Indexer)的概念及用法

    2024-07-10 15:50:01       28 阅读
  7. c语言数据结构--链队列

    2024-07-10 15:50:01       26 阅读
  8. Ubuntu 22.04 设置swap交换空间

    2024-07-10 15:50:01       27 阅读