深度学习(10)模型评估、训练与选择

一、模型评估(Model Evaluation)

在训练神经网络或机器学习模型时,我们的目标不仅是让模型在训练数据上表现好,更重要的是在未见过的数据上也有良好的表现。这就涉及到模型的评估与验证。

1. 训练集与测试集的划分

通常,我们会将全部数据集划分为两部分:

数据集类型 用途
训练集(Training Set) 用于模型学习参数(如权重、偏置)
测试集(Test Set) 用于检验模型在新数据上的表现

划分比例常见为:

  • 80% 训练集 + 20% 测试集

  • 70% 训练集 + 30% 测试集

目的:通过将数据分开,可以有效检测模型是否过拟合(Overfitting)或 欠拟合(Underfitting)。

2. 分类问题的训练与测试流程

以二分类问题(Binary Classification)为例,整体流程如下:

(1)准备数据集

将数据随机划分为训练集与测试集。

(2)训练模型

在训练集上进行学习,最小化损失函数(例如交叉熵损失 Cross Entropy Loss)。

(3)评估模型

在测试集上计算准确率(Accuracy)、精确率(Precision)、召回率(Recall)或 F1-score。

(4)分析表现

  • 如果训练集准确率高、测试集准确率低 → 过拟合

  • 如果两者都低 → 欠拟合

(5)图示理解:

数据集 → 划分 → [训练集] + [测试集]

模型训练

测试集评估性能


二、模型选择与训练(Model Selection & Training)

1. 模型的选择

在机器学习或深度学习中,我们常会有多种模型可供选择,例如:

  • 逻辑回归(Logistic Regression)

  • 支持向量机(SVM)

  • 神经网络(Neural Network)

  • 决策树、随机森林(Decision Tree / Random Forest)

每种模型的表现取决于任务类型、数据规模与特征复杂度。因此我们需要一个系统的方法来选择最优模型。

2. 三种常见数据集划分方式

在真实训练流程中,我们一般将数据分为三部分:

数据集 作用
训练集(Training Set) 用于拟合模型参数
验证集(Validation Set) 用于调整模型结构或超参数(Hyperparameters)
测试集(Test Set) 用于最终模型性能评估
举例:模型选择的完整流程

假设我们在调节神经网络的结构(隐藏层数量、学习率等):

  1. 用训练集训练多个不同结构的模型;
  2. 在验证集上评估每个模型的性能;
  3. 选择在验证集上表现最好的模型;
  4. 用训练集 + 验证集重新训练该模型;
  5. 最后在测试集上评估其最终性能。

3. 为什么使用验证集而不是测试集来调参?

不应该使用测试集来选择模型。测试集只能在"模型定型后"用于最终评估。

原因:

如果我们在模型选择阶段多次查看测试集性能,就相当于"间接让模型学习了测试集的特征",会导致信息泄漏(Data Leakage),使得测试结果不再客观反映泛化能力。

4. 交叉验证(Cross Validation)

当数据量较小时,可以使用 K 折交叉验证(K-Fold Cross Validation) 进行更稳定的评估。

原理:
  1. 将数据集分成 K 份;
  2. 每次取其中 1 份做验证集,剩下 K-1 份做训练集;
  3. 轮流进行 K 次训练与评估,最后取平均性能。
优点:
  • 最大化利用数据;

  • 减少由于随机划分带来的偏差;

  • 评估更稳定可靠。

常用的 K 值:K = 5 或 10。

5. 最终模型由哪个集合确定?

最终模型应基于"验证集"选择,在"训练集 + 验证集"上重新训练后,用"测试集"评估。

集合 用于
训练集 拟合参数
验证集 选择最优模型
测试集 最终性能评估

总结

概念 作用
训练集 (Training Set) 用于学习模型参数
验证集 (Validation Set) 用于调节模型结构或超参数
测试集 (Test Set) 用于最终评估模型性能
交叉验证 (Cross Validation) 提高小样本评估稳定性
避免过拟合 不在测试集上反复调参
相关推荐
程序猿追几秒前
深度解码昇腾 AI 算力引擎:CANN Runtime 核心架构与技术演进
人工智能·架构
金融RPA机器人丨实在智能1 分钟前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
lili-felicity4 分钟前
CANN异步推理实战:从Stream管理到流水线优化
大数据·人工智能
做人不要太理性5 分钟前
CANN Runtime 运行时组件深度解析:任务下沉执行、异构内存规划与全栈维测诊断机制
人工智能·神经网络·魔珐星云
不爱学英文的码字机器5 分钟前
破壁者:CANN ops-nn 仓库与昇腾 AI 算子优化的工程哲学
人工智能
晚霞的不甘8 分钟前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码9 分钟前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__9 分钟前
CANN内存管理与资源优化
人工智能·pytorch
极新10 分钟前
智启新篇,智创未来,“2026智造新IP:AI驱动品牌增长新周期”峰会暨北京电子商务协会第五届第三次会员代表大会成功举办
人工智能·网络协议·tcp/ip
island131411 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络