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

2.2 评估方法 机器学习

我们若有一个包含m个样例的数据集,若我们既需要训练,也需要测试,我们该如何处理呢?下面是几种方法:

2.2.1 留出法

“留出法”直接将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。

需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。比如在分类任务中至少要保持样本的类别比例相似。如果从采样角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为“分层采样”。若S、T中样本类别比例相差很大,则误差估计将由于训练\测试数据分布的差异而产生偏差。

另一个需要注意的是,即使我们划分的很合理,由于每次数据的偶然性,往往不同的划分得到的结果不同,所以单次使用留出法得到的结果往往不可靠,在使用留出法时,一般要采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。例如进行100次随机划分,每次产生一个训练\测试集用于实验评估,100次后就得到100次结果,而留出法是返回这100次结果的平均。

此外,我们希望的是用D训练出来的模型的性能,但是由于我们的留出法会划分的原因,倘若我们的S过大,我们的T就比较小,导致模型评估不准确,但是倘若以S过小,我们的训练与原本D的差别就更大了。对于这样的问题,我们常见的做法是大约将2/3~4/5的样本用于训练,剩余样本用来测试。

2.2.2 交叉验证法

“交叉验证法”先将数据集D分为k个大小相似的互斥子集。即,每个子集都尽可能保持数据分布的一致性,即从D中分层采样中得到,然后每次用k-1个子集作为训练集,余下那个作为测试集,从而得到k次测试,最终返回这k个测试结果的均值。显然,交叉验证法评估结果的稳定性和保真性很大程度上取决于K的取值,为强调这一点,我们把交叉验证法称为“K折交叉验证”,K最常用的取值是10,此时称为10折验证。

与留出法相似,将数据集D划分为k个子集同样存在多种划分方式,为减小因样本划分不同而引起的差别,k折交叉验证通常要随机使用不同的划分方法重复p次,最终取这p次k折验证结果的均值。

假设数据集D中包含M个样本,若令K=M,则得到了交叉验证法的一个特例:“留一法”。显然,留一法不受随机样本划分方式的影响,,因为M个样本只有唯一的方法划分,而且留一法所用的训练集只比原来少了1个,因此,留一法的评估结果往往被认为比较准确,但是这并不代表他没有缺点,当数据过大时,训练m个模型的开销可能是计算机无法承受的。另外,留一法的评估结果也并非一定永远比其他方法准确,“没有免费的午餐”定理对评估方法同样适用。

2.2.3 自助法

有没有什么方法能减少训练样本规模不同造成的影响,同时还能比较高效的进行试验评估呢?

自助法:给定包含M个样本的数据集D,我们对它采样产生数据集D’:每次随机从D中挑选一个样本将其拷贝进入D',结束在将其放回D中,这个过程重复M次后,我们就得到了包含M个样本的数据集D'。显然,我们的D'中可能有数多次出现,也可能D中有数一直没出现在D'中。我们假设在m次采样中没有被采样到的概率是(1-1/m)^{m},取极限得:

有百分之36.8的样本没出现在D'中。我们将D'用作训练集,D\D'用作测试集,这样我们依然有将近三分之一的样本没出现在训练集中的用于测试,这样的测试结果,也称为“包外估计”

自助法在数据集较小,难以有效划分训练\测试集时有用,此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法大有好处;但是由于其改变了原始的数据分布,会引出估计误差,因此在数据量足的情况下我们不常用此方法

2.2.4 调参与最终模型

大多数算法都有些参数需要设定,参数配置不同,学得模型的性能往往有差别。因此,在进行模型评估和选择时,除了要对适用学习算法进行选择,还需要对算法参数进行设定,这就是通常所说的“参数调节”或简称“调参”

相关文章:

2.2 评估方法 机器学习

我们若有一个包含m个样例的数据集,若我们既需要训练,也需要测试,我们该如何处理呢?下面是几种方法: 2.2.1 留出法 “留出法”直接将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作…...

第一类换元法(凑微分,凑狗)【高数笔记】

1.第一类换元法,解决的是什么类型的问题 2.不同的问题,应该有什么解法 3.13个基本积分公式,应该注意什么...

PostgreSQL数据库优化指南

默认安装下的 PostgreSQL 配置无法完全利用现有硬件,影响Netbox的性能。 本文章讲解了如何简单去优化。 优化 项目地址:https://github.com/le0pard/pgtune 首先打开:https://pgtune.leopard.in.ua/ (此网站会根据你的选择自动生成优化配置…...

VScode Error Lens插件

安装完成之后,当我们输入一些错误的语法格式的时候,它都会有一些提示! 一开始是英文提示 修改为中文提示 设置搜索 typescript.local...

Fiddler抓包教程

一、Fiddler安装: Fiddler原理 B/S模式的工作过程,简单的讲述访问一个网站的过程 。 Fiddler的位置: Fiddler是位于浏览器和服务器之间的请求和响应代理,所以它可以截获浏览器和服务器之间的所有HTTP通讯,&#xff0…...

TypeScript编译选项

编译单个文件:终端 tsc 文件名 自动编译单个文件:终端 tsc 文件名 -w 编译整个项目:tsc 前提是得有ts的配置文件tsconfig.json 自动编译整个项目:tsc --w tsconfig.json默认文件内容: tsconfig.json是ts编译器的配…...

个推与华为深度合作,成为首批支持兼容HarmonyOS NEXT的服务商

自华为官方宣布HarmonyOS NEXT鸿蒙星河版开放申请以来,越来越多的头部APP宣布启动鸿蒙原生开发,鸿蒙生态也随之进入全新发展的第二阶段。 作为华为鸿蒙生态的重要合作伙伴,个推一直积极参与鸿蒙生态建设。为帮助用户在HarmonyOS NEXT上持续享…...

TypeScript开发100问?

开发人员在日常工作中常常需要处理各种各样的问题,而 TypeScript 作为 JavaScript 的一个超集,为我们提供了更加强大和可靠的工具来编写高质量的代码。在使用 TypeScript 进行开发时,我们可能会遇到各种各样的技术基础问题、开发过程中的挑战…...

数据结构和算法:栈与队列

栈 栈 &#xff08;stack&#xff09;是一种遵循先入后出逻辑的线性数据结构 把堆叠元素的顶部称为“栈顶”&#xff0c;底部称为“栈底”。 将把元素添加到栈顶的操作叫作“入栈”&#xff0c;删除栈顶元素的操作叫作“出栈”。 栈的常用操作 /* 初始化栈 */ stack<int&g…...

LeetCode(力扣)算法题_1261_在受污染的二叉树中查找元素

今天是2024年3月12日&#xff0c;可能是因为今天是植树节的原因&#xff0c;今天的每日一题是二叉树&#x1f64f;&#x1f3fb; 在受污染的二叉树中查找元素 题目描述 给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! n…...

Topaz DeNoise AI for Mac/Win:引领图片降噪新纪元,让你的照片焕然一新!

在数字化时代&#xff0c;摄影已成为我们记录生活、表达情感的重要方式。然而&#xff0c;随着摄影技术的不断发展&#xff0c;我们也不得不面对一个令人头疼的问题——图片噪点。无论是低光环境下的拍摄&#xff0c;还是高ISO带来的画质损失&#xff0c;噪点总是如影随形&…...

云计算OpenStack KVM迁移

动态迁移 static migration 静态迁移 cold migration 冷迁移 offline migration 离线迁移 live migration 动态迁移 hot migration 热迁移 online migration 在线迁移 衡量 整体迁移时间 服务器停机时间 性能影响(迁移后和其它客户机) 特点 负载均衡 解除硬件依赖…...

【漏洞复现】网康科技 NS-ASG 应用安全网关 SQL注入漏洞(CVE-2024-2330)

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…...

2024年华为OD机试真题-查找众数及中位数-Java-OD统一考试(C卷)

题目描述: 众数是指一组数据中出现次数量多的那个数,众数可以是多个。 中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。 查找整型数…...

力扣思路题:重复的子字符串

注意比较j与j-i是否相同 bool repeatedSubstringPattern(char* s) {int i;int nstrlen(s);bool flag;for(int i1;i<n/2;i){if(n%i0){flagtrue;}for(int ji;j<n;j){if(s[j]!s[j-i]){flagfalse;break;}}if(flagtrue){return true;}}return false; }...

同城即配年度观察:顺丰同城率先全年盈利,行业破局迎参考

即时消费趋势增强&#xff0c;“万物到家即时可得”成为了消费新常态。这创造出不可忽视的场景潜力&#xff0c;也在无形中让龙头企业的发展质量走到突破点。 3月11日晚&#xff0c;“第三方即时配送第一股”顺丰同城发布公告称&#xff0c;预期实现2023年全年盈利&#xff0c…...

线上机器 swap 过高导致告警

哈喽大家好&#xff0c;我是咸鱼。 今天收到了一个告警&#xff0c;说有台服务器上的 swap 过高&#xff0c;已经用了 50% 以上了。 登录机器查看一下内存以及 swap 的使用情况。 [rootlocalhost ~]# free -h total used free shared buff/cache ava…...

案例分析篇13:系统分析与设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…...

算法(结合算法图解)

算法简介简单查找二分查找法 选择排序内存的工作原理数组和链表数组选择排序小结 递归小梗 要想学会递归&#xff0c;首先要学会递归。 递归的基线条件和递归条件递归和栈小结 快速排序分而治之快速排序合并排序时间复杂度的平均情况和最糟情况小结 散列表散列函数缓冲小结性能…...

Linux-多线程

目录 线程概念线程控制创建退出等待join实例detach实例 实例 线程安全概念互斥同步生产者与消费者模型实例 信号量 线程应用 线程概念 线程概念&#xff1a; 有一个零件加工工厂&#xff0c;工厂中有一个或多个工人 工人是干活的&#xff0c;工厂是集体设备资源的载体 进程就是…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

FTXUI::Dom 模块

DOM 模块定义了分层的 FTXUI::Element 树&#xff0c;可用于构建复杂的终端界面&#xff0c;支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...

【汇编逆向系列】六、函数调用包含多个参数之多个整型-参数压栈顺序,rcx,rdx,r8,r9寄存器

从本章节开始&#xff0c;进入到函数有多个参数的情况&#xff0c;前面几个章节中介绍了整型和浮点型使用了不同的寄存器在进行函数传参&#xff0c;ECX是整型的第一个参数的寄存器&#xff0c;那么多个参数的情况下函数如何传参&#xff0c;下面展开介绍参数为整型时候的几种情…...

day51 python CBAM注意力

目录 一、CBAM 模块简介 二、CBAM 模块的实现 &#xff08;一&#xff09;通道注意力模块 &#xff08;二&#xff09;空间注意力模块 &#xff08;三&#xff09;CBAM 模块的组合 三、CBAM 模块的特性 四、CBAM 模块在 CNN 中的应用 一、CBAM 模块简介 在之前的探索中…...

第2课 SiC MOSFET与 Si IGBT 静态特性对比

2.1 输出特性对比 2.2 转移特性对比 2.1 输出特性对比 器件的输出特性描述了当温度和栅源电压(栅射电压)为某一具体数值时,漏极电流(集电极电流...