深度学习(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) 提高小样本评估稳定性
避免过拟合 不在测试集上反复调参
相关推荐
Rocky Ding*3 分钟前
【三年面试五年模拟】2026-10-26 携程 AI Agent一面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·ai agent
Zhao-Jichao5 分钟前
AI Prompting for Everyone 课程笔记 - 02 预训练知识 Pretrained knowledge
人工智能
ai_xiaogui8 分钟前
PanelAI项目实战:从AI一键生成到企业级AI基础设施操作系统PPT手搓复盘与架构落地
人工智能·架构·一键部署·panelai·企业级ai基础设施操作系统·ai智能底层操作系统·算力变现
lucas_AI10 分钟前
NPU 算力不再注水:拿量产世界模型实测芯片,700 TOPS 里 98.7% 真能干活
人工智能
CAIE研习社17 分钟前
30岁以后学习AI应用,证书能起到什么作用?
人工智能·学习
Dawson Zhu19 分钟前
【Runtime推理引擎①】Runtime架构设计:从Session到Graph Executor的完整骨架
人工智能·语言模型·架构·aigc·agi
长不大的杨瑞杰23 分钟前
OpenCode v2 LSP 实战:内置语言服务器、自定义配置与诊断闭环
java·人工智能·typescript·lsp·opencode
在所不辞兄25 分钟前
【零基础学智能仿真-68】本地仿真助手的工具调用
人工智能·机器学习
郝学胜-神的一滴27 分钟前
AI 编程智能体 20:技术栈选型与架构落地全攻略
人工智能·python·架构·langchain·1024程序员节·智能体
zwc321043205529 分钟前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉