当前位置: 首页 > news >正文

数据挖掘 4.8 评估泛化能力

4.8 Estimating Generalization
4.8 评估泛化能力

评估模型的泛化能力

  • 如何合理评估模型的泛化能力
    • 指导原则 (Guidelines)
    • 存在的问题 (Issues)
  • K-fold 交叉验证(Cross-Validation)
    • 留一交叉验证(Leave One Out CV)(LOOCV)
    • Stratification 分层
  • 训练-验证-测试拆分(training validation test split)
  • 引导策略(bootstrap)

如何合理评估模型的泛化能力

指导原则 (Guidelines)

训练集要有 足够多的样本 留下,不要全部拿去训练。
测试集的标签 在训练过程中绝对不能使用(不能直接用,也不能间接泄漏)。但是,测试数据本身(不带标签)可以用,比如做无监督的分布分析。
要明确模型的 应用场景和目的(intended use & application)。
要清楚性能评估的 目标(objective of evaluation),比如是比较算法还是用于实际部署。

存在的问题 (Issues)

测试集变小 → 估计的方差变大(因为样本少,评估结果波动更大)
训练集变小 → 偏差(bias)增加(数据不足,模型性能评估更悲观)

K-fold 交叉验证(Cross-Validation)

在这里插入图片描述

测量泛化性能 (Measurement of Generalization Performance),用于估计性能的方差 (For estimation of variation),将数据划分为 K 折 (Divide the data into K folds)

  • 对于每个 k = 1…K
    • 在 K-1 个子集上训练,留出第 k 个子集作为验证集
    • 在第 k 个子集上验证,并计算性能指标
  • 汇总所有 K 次实验的 平均值方差

不同的K值会如何影响结果,如何影响平均准确率或平均性能指标?
当训练数据很小的时候,使用较大的K值; 当训练数据很大的时候,使用较小的K值。

留一交叉验证(Leave One Out CV)(LOOCV)

如果 K=样本数K=样本数K=样本数,这种极端情况称为留一交叉验证(LOOCV)。适用于数据量很小的情况。

Stratification 分层

分层(分层交叉验证)– 确保每一折包含的样本数量与整体数据相同。
如果某个类别在整个数据集中占 20% 的样本,那么在从数据集中抽取的所有样本中,它也应该占大约 20% 的样本。
举例
一个数据集合,1000个数据,800个负例,200个正例。5-fold 交叉验证。每个样本fold,都要有80%的负例,20%的正例。

如果我们保证这一点,我们本质上所做的就说分层。与非分层交叉验证相比,分层交叉验证是一种更好的评估交叉验证性能的方法。

训练-验证-测试拆分(training validation test split)

(10-fold cross-validation)10倍交叉验证是很好常用的。如果有10,000个或5,000样本,我们可以使用10倍交叉验证,将会提供可靠的估计值。
但如果有大量或者少数样本作为训练,这是比较棘手的,需要使用其他方法。如果样本数量非常大,我们继续使用10倍交叉验证,将花费很长时间。因此,这种情况,我们通常会将数据集拆分成为 训练数据集(training dataset)、验证数据集(validation dataset)、测试数据集(testing dataset)。常用占比是60%、20%、20%。

在这里插入图片描述
我们使用一个模型,比如
SVM ,C=100, RBF r=0.1 ,将这个模型在Training dataset中进行训练,在Valid dataset中进行验证,得出AUCROC=0.8;
SVM ,C=1000, RBF r=0.2 ,将这个模型在Training dataset中进行训练,在Valid dataset中进行验证,得出AUCROC=0.9;

这些模型都在同一个数据集合中进行训练和测试,最终我们根据测试结果,选出性能最好的模型,比如SVM ,C=1000, RBF r=0.2 。

引导策略(bootstrap)

当样本数量非常少时,事情就会变得复杂。比如只有100个样本可以用于训练。通常情况下,训练样本数量很少,标记就很困难。例如,如果是生物或者生物医学信息学领域,样本数量可能非常少。因为标记成本很高。比如蛋白质结构测定实验的成本很容易达到10万美元。所以这会成为一个问题,如果样本数量非常少,那准确率的估计就会更加困难。

如果样本少,可以使用Lemon-outcross validation柠檬杂交实验,还有别的策略,这些策略称为 引导策略(bootstrap or bootstrapping),可以实现。
(这里不细说)

http://www.dtcms.com/a/348253.html

相关文章:

  • 【DeepResearch调研】基于知识图谱与数据合成的大语言模型幻觉缓解研究前沿
  • C++ Core Guidelines: 最佳实践与深入解析
  • 服务器硬件电路设计之 SPI 问答(五):服务器场景下的ESD防护策略与通信故障诊断指南
  • Flink元空间异常深度解析:从原理到实战调优指南
  • LLM实践系列:利用LLM重构数据科学流程07 - 工程化实践与挑战
  • 计算机网络基础(三) --- TCP/IP网络结构(运输层)
  • 实时操作系统FreeRTOS移植到STM32VGT6
  • Axure RP 9的安装
  • 2025年渗透测试面试题总结-31(题目+回答)
  • leetcode 1504. 统计全 1 子矩形 中等
  • `malloc` 内存分配函数
  • fastdds:topic instance
  • 【嵌入式】【搜集】状态机、状态迁移图及状态模式材料
  • 【线性代数】常见矩阵类型
  • 【Nginx系列】查看 Nginx 的日志
  • Building Systems with the ChatGPT API 使用 ChatGPT API 搭建系统(第八章学习笔记及总结)
  • Hibernate详解
  • GaussDB 数据库架构师修炼(十八) SQL引擎-分布式计划
  • 保姆级Maven安装与配置教程(Windows版)
  • SpringCloud Alibaba核心知识点
  • MIT 6.5840 (Spring, 2024) 通关指南——入门篇
  • 项目学习总结(4)
  • Java内存泄漏详解:检测、分析与预防策略
  • 大语言模型的自动驾驶 LMDrive/DriveVLM-Dual
  • 电动车运行原理与最新人工智能驾驶技术在电动车上的应用展望:从基础动力系统到L5级完全自动驾驶的技术深度解析
  • EndNote 2025 Mac 文献管理工具
  • Multitouch for mac 触控板手势增强软件
  • Multi-output Classification and Multi-label Classification|多输出分类和多标签分类
  • 跨语言文化的统一语义真理:存在性、形式化及其对自然语言处理(NLP)深层语义分析的影响
  • 什么是大模型的指令跟随