机器学习 | 超参数:交叉验证

机器学习算法中,超参数是一个非常重要的问题;
    超参数,即:模型开始训练之前,设置好的参数

根据模型评估值,对超参数进行优化,选择最佳超参数值,以提高学习的性能和效果

	对于超参数值的设置,我们有两种方式:1. 人工试数2. 交叉验证

目录

  • 一. 交叉验证
    • 1. Holdout交叉验证
      • 1.1 Holdout交叉验证流程
      • 1.2 Holdout交叉验证特点
    • 2. K折交叉验证
      • 2.1 K折交叉验证流程
      • 2.2 K折交叉验证特点
    • 3. 留一验证
      • 3.1 留一验证流程
      • 3.2 留一验证特点

一. 交叉验证

1. Holdout交叉验证

1.1 Holdout交叉验证流程

	1. 将数据集划分为:训练集、验证集、测试集2. 将所有可能的超参数放在训练集上做训练,得到多个模型3. 用验证集对得到的所有模型做评估,找出性能最佳的模型,也就相当于找到最优的超参数值4. 用得到的超参数在 【训练集+验证集】 上做模型训练,得到一个新的模型5. 用测试集对新模型做评估6. 用已确定的超参数在所有数据上重新训练,得到最终模型

即:验证集的作用为确定超参数
    测试集的作用为评估模型性能

1.2 Holdout交叉验证特点

处理简单,适用于样本较多的情况

2. K折交叉验证

K折交叉验证(K-fold cross-validation),其中K为超参数,常用K=10

2.1 K折交叉验证流程

	1. 将待测的超参数据集等分为K份,其中1份为验证数据,其余K-1份为训练数据2. 对该数据集重复K次(训练+验证)3. 对K个结果进行平均或其他操作以获得综合结果,最终得到该超参数集的性能指标

2.2 K折交叉验证特点

训练集与测试集不重合,测试结果是绝对有效的,常用10折交叉验证

3. 留一验证

留一验证(LOOCV),与K折相似,但此时K的值等于样本的数量

3.1 留一验证流程

	1. 对于K个样本的超参数集,每次训练使用K-1个样本,剩下的1个为验证数据2. 对所有数据进行K次(训练+验证)3. 对K个结果进行平均或其他操作以获得综合结果,最终得到该超参数集的性能指标

3.2 留一验证特点

常用于样本量非常小的情况


本篇文章仅涵盖了目前已讨论过的知识点,未来将持续更新

PS:本文相关代码存放位置
     波士顿房价预测 交叉验证代码实现:寻找最优超参数

感谢阅读~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫案例二

想拿到电影天堂 其中一个下载地址如何实现呢 第一步电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com)电影天堂_电影下载_高清首发 (dytt89.com)电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com) 第一步 我直接打开 requests.exceptions.SSLError: H…

Kubernetes Service

一、Service:Kubernetes 中的服务返现与负载均衡 1、为什么需要服务发现 Pod 生命周期短暂,IP 地址随时变化。 Deployment 等的 Pod 组需要统一访问入口和做负载均衡。 应用间在不同环境部署时保持同样的部署拓扑和访问方式。 2、应用服务如何暴露到…

免费!宝藏网站合集,每一个都不容错过

在科技日新月异的时代,PPT已经成为各行各业必不可少的展示工具。为了帮助大家提升PPT制作技巧,本文将为您介绍几款堪称神秘的PPT制作利器。它们分别是PPT宝库、PPT超级市场、魔法幻灯片以及优品PPT。 优品PPT 简介 优品PPT是一个专注于提供高质量PPT模…

JSP实现数据传递与保存

1.HTML页面转换JSP页面 直接再HTML页面最顶端添加page指令,修改文件后缀名;反之; 2.JSP内置对象 对象 描述 request 每当客户端请求JSP页面时,JSP引擎会制造一个新的request对象来代表这个请求。 response 当服务器创建req…

Linux-信号2

文章目录 前言一、信号是如何保存的?int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sigaddset (sigset_t *set, int signo);int sigdelset(sigset_t *set, int signo);int sigismember(const sigset_t *set, int signo);int sigpen…

VS统计代码行数

1.使用查找和替换方式 按CTRLSHIFTF (Find in files),勾上支持正则表达式, 然后输入搜索内容:^:b*[^:b#/].*$ 如图所示: 2.查看查询结果 需要注意:#开头和/开头或者空行都不计入代码量。

实名认证实现很难?Java实名认证三要素+人像接口代码

大数据时代,是否还在为用户信息的真实性头疼不已?是否还在担心业务中出现冒名顶替的风险?是否还在为实现线上平台实名制而发愁?今天小编为您带来了实时联网、便于集成、快速核验的翔云身份证三要素人像实名认证接口集成方式与代码…

【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug

目录 前言 行断点 条件断点 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 行断点 当Matlab Function出现异常时,如果能确定大致的代码段,就可以在相应的行上设置一个断点(Breakpoint)&…

算法D34 | 贪心算法4 | 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 本题看上好像挺难,其实挺简单的,大家先尝试自己做一做。代码随想录 分5/10/20讨论找零方案即可。 Python: class Solution:def lemonadeChange(self, bills: List[int]) -> bool:ch5 0ch10 0for b in bills:if b 20:ch5 - 1if ch1…

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块,这里,缺少qtopenglwidgets模块

大数据分析课----实时更新

1:Anaconda3 windows 安装 : 去官网下载; 然后安装好直接点next 点 i agree; 自己的电脑选第一个;学校的话选All Users ; 选择自己存放的目录; 选前三个; 安装即可; 一直…

解决Maven项目中的依赖冲突

1. 排查依赖冲突 在IDEA中下载插件 Maven Helper用于排查依赖版本冲突。 打开项目的pom.xml文件,点击下方的【Dependency Analyzer】按钮切换到依赖解析页面。 2. 解决版本依赖 在依赖解析页面进行依赖冲突排查操作: 点击 【Exclude】 后会在爆红处所对…

当Linux 磁盘满了,查看大文件并删除

当你的Linux磁盘空间满了时,可以通过以下步骤查找大文件并删除它们: 检查磁盘空间: 使用以下命令检查磁盘空间的使用情况: df -h这将显示文件系统的使用情况,包括每个文件系统的总大小、已用空间、可用空间和挂载点。 …

为PDF创建目录(侧边栏目录)

通过可以新建书签的pdf阅读器。 知云翻译:可以新建书签和子书签。 Adobe Acrobat:只能新建书签,不能建立子书签。

Java通过反射给注解赋值

在用java导出Excel的时候,表头不能写死,而是根据情况变化的。 实体类如下: public class EquSysExportNoChainVo {Excel(name "")private String thisValue; //当前值 } 给实体类的Excel的name赋值的方法如下&…

《操作系统原理》算法总结

一、进程调度算法 先来先服务调度算法(FCFS) 每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该…

String 类 经典例题题集

一、把字符串转换成整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格检查下一个字符…

中国企业走向世界,新加坡共和理工学院师生首站到访开源网安交流

近年来,中国企业在众多领域突飞猛进,不断追赶国际头部企业技术水平,甚至在某些领域已经达到国际领先水平,国内企业的最佳实践逐渐成为了全球精英学习研究的对象。 3月4日,由新加坡五所国立理工学院之一的新加坡共和理工…

Docker 干货系列 (持续更新)

dive 直接用本地镜像名称来启动,不需要走 hub dive.sh IMAGE_NAME"${1}" TMP_FILE/tmp/dive-tmp-image.tar docker save "$IMAGE_NAME" > $TMP_FILE && dive $TMP_FILE --sourcedocker-archive && rm $TMP_FILE示例&#…

Pytorch_1_基本语法

一、Pytorch的基本元素操作 1.引入torch from __future__ import print_function import torch 2.创建矩阵 x torch.empty(5,3) print(x) 3.输出结果: tensor([[7.9191e34, 1.1259e24, 1.2359e-42], [4.0824e-40, 1.1379e-35, 2.5353e30], [8.…