前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[机器学习必知必会]交叉验证

[机器学习必知必会]交叉验证

作者头像
TOMOCAT
发布于 2020-06-09 10:09:08
发布于 2020-06-09 10:09:08
1.4K06
代码可运行
举报
运行总次数:6
代码可运行

前言

当我们根据数据训练出一个机器学习模型时,我们希望它在新的数据上也保持较高的准备率,这就需要我们对学习到的不同模型有一个模型评估准则。

为了评估模型的泛化性能(指模型在未知数据上的预测能力),防止模型落入“过拟合”的陷进。我们人为地将原始数据划分为训练集测试集,前者用于训练模型,后者用于评估模型的泛化性能。

训练集、验证集和测试集

在监督学习建模中,数据集常被划分为2~3组(验证集有时候不出现):训练集(train set)、验证集(validation)和测试集(test set)。 训练集用于训练模型,验证集用于确定控制模型复杂程度的参数,测试集用于评估模型的泛化性能。但实际应用中,我们常常简单将数据集划分为训练集和测试集。

交叉验证的类别

交叉验证包括简单交叉验证、

折交叉验证和留一法三种。

1. 简单交叉验证

简单交叉验证直接将数据集划分为训练集和验证集,首先利用训练集在不同的参数组合下训练模型,然后在测试集上评价不同参数组合模型的误差,选择测试误差最小的模型。

2.K折交叉验证

首先将样本数据集随机等分为

个互不相交的数据子集,然后依次将其中一份数据子集作为测试集,剩下

份数据子集作为训练集训练模型,最后以选取测试误差最小的模型作为最终模型。原理如下图所示:

image.png

3.留一法

折交叉验证中的

等于数据集样本数

时,我们便得到了当

折交叉验证的特例:留一法。因为留一法使用的训练集只比原始数据集少了一个样本,因此评估结果往往比较准确。但当样本数据集较大时,需要训练模型也就越多。

因留一法的特殊性,往往在数据量较小的时候使用。

Reference

[1] 机器学习

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习,过拟合与欠拟合,正则化与交叉验证
不同的机器学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准。
zhangjiqun
2024/12/14
2260
机器学习,过拟合与欠拟合,正则化与交叉验证
交叉验证的3种方法
将数据集进行划分是非常必要的,如果所有的数据都作为训练集的话,不可避免的会遇到过拟合的问题,所以我们还需要另外的数据对训练集得到的模型的结果进行评估和验证。
生信修炼手册
2021/07/06
1.5K0
交叉验证的3种方法
对交叉验证的一些补充(转)
交叉验证是一种用来评价一个统计分析的结果是否可以推广到一个独立的数据集上的技术。主要用于预测,即,想要估计一个预测模型的实际应用中的准确度。它是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 交叉验证的理论是由Seymour Geisser所开始的。 它对于防范testing hypotheses suggested by the data是非常重要的, 特别是当后续的样本是危险、成本过高或不可能(uncomfortable s
云时之间
2018/04/11
8740
交叉验证(Cross Validation)原理小结
    交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓“交叉”。 
刘建平Pinard
2018/08/14
8780
机器学习(六)构建机器学习模型
整个过程包括了数据预处理、模型学习、模型验证及模型预测。其中数据预处理包含了对数据的基本处理,包括特征抽取及缩放、特征选择、特征降维和特征抽样;我们将带有类标的原始数据划按照82原则分为训练数据集和测试集。使用训练数据集用于模型学习算法中学习出适合数据集的模型,再用测试数据集用于验证最终得到的模型,将模型得到的类标签和原始数据的类标签进行对比,得到分类的错误率或正确率。
Maynor
2023/11/01
6130
机器学习(六)构建机器学习模型
《揭秘机器学习中的交叉验证:模型评估的基石》
在机器学习的复杂领域中,构建一个精准有效的模型是众多从业者的核心目标。然而,模型的性能评估绝非易事,它关乎模型能否在实际应用中发挥作用,而交叉验证则是这一过程中的关键技术,是保障模型可靠性与泛化能力的重要手段。
程序员阿伟
2025/02/28
2080
机器学习之交叉验证
交叉验证(Cross Validation)是在机器学习建立模型和验证模型参数时常用的方法。顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集。用训练集来训练模型,测试集来评估模型的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的样本,在下次可能成为测试集中的样本,也就是所谓的交叉。
小一
2019/08/14
8620
机器学习之交叉验证
【机器学习】交叉验证 Cross-validation
以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标.常见CV的方法如下:
Twcat_tree
2023/11/22
5140
干货 | 三分钟重新学习交叉验证
AI 科技评论按:文章的作者 Georgios Drakos 是一名数据科学家,通过本文作者向我们介绍了交叉验证的基本概念、作用以及如何使用。AI 科技评论根据原文进行了编译。
AI科技评论
2018/09/21
1K0
干货 | 三分钟重新学习交叉验证
机器学习 | 交叉验证
在学习到不同的复杂度的模型中,选择对验证集有最小预测误差的模型,由于验证集有足够多的数据,用它对模型进行选择也是有效的。
week
2022/11/26
2550
为什么要用交叉验证
本文结构: 什么是交叉验证法? 为什么用交叉验证法? 主要有哪些方法?优缺点? 各方法应用举例? ---- 什么是交叉验证法? 它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。 ---- 为什么用交叉验证法? 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。 还可以从有限的数据中获取尽可能多的有效信息。 ---- 主要有哪些方法? 1. 留出法 (holdout cross validation)
杨熹
2018/04/03
2.2K0
为什么要用交叉验证
《机器学习》学习笔记(二)——模型评估与选择
错误率(error rate):分类错误的样本占样本总数的比例 精度(accuracy):1 - 错误率误差(error):学习器的实际预测输出与样本的真实输出之间的差异 错误率和精度相反 (错误率+精度=1) 训练误差(training error)(即经验误差(empirical error)):学习器在训练集上的误差 泛化误差(generalization error):在新样本(即测试样本)上的误差
荣仔_最靓的仔
2021/02/02
2.2K0
《机器学习》学习笔记(二)——模型评估与选择
机器学习入门(六):分类模型评估方法
掌握分类模型评估方法对于数据科学家和机器学习工程师至关重要。它不仅帮助验证模型的有效性,还能指导模型优化方向,确保模型在实际应用中表现优异。通过精确率、召回率等指标,可以全面评估模型性能,识别误分类的类别,从而针对性地改进。
小言从不摸鱼
2024/09/10
2040
机器学习入门(六):分类模型评估方法
《机器学习》笔记-模型评估与选择(2)
作者:刘才权 编辑:赵一帆 写在最前面 如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的
机器学习算法工程师
2018/03/06
1K0
《机器学习》笔记-模型评估与选择(2)
机器学习入门 8-6 验证数据集与交叉验证
前几个小节通过引入过拟合和欠拟合的概念,让大家理解使用train_test_split方法划分出测试集的意义。
触摸壹缕阳光
2019/12/30
1.4K0
机器学习中的交叉验证
总第100篇 本篇讲讲机器学习中的交叉验证问题,并利用sklearn实现。 前言 在说交叉验证以前,我们先想一下我们在搭建模型时的关于数据切分的常规做法[直接利用train_test_split把所有的数据集分成两部分:train_data和test_data,先在train_data上进行训练,然后再在test_data上进行测试评估模型效果的好坏]。 因为我们训练模型时,不是直接把数丢进去就好了,而是需要对模型的不断进行调整(比如参数),使模型在测试集上的表现足够好,但是即使模型在测试集上效果好,不
张俊红
2018/04/11
1.9K0
机器学习中的交叉验证
《机器学习》西瓜书读书笔记2
2.1:经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为“错误率”,相应的。精度即“1-错误率”。更一般的,我们把学习器的实际预测输出和样本的真实输出之间的差异称为“误差”。 *需要注意,这里所说的误差均是指的是误差期望。 学习器在训练集上的误差称为“训练误差”或者“经验误差”,在新样本上的误差称之为“泛化误差”。 我们现在努力做得是把经验误差最小化。我们实际希望的,是在样本上能表现出来的很好的学习器。为了达到这个目的,应该从训练样本上尽可能的学出适用于所有潜在样本的“普遍规律”,这样才能在
云时之间
2018/04/11
8160
[深度概念]·K-Fold 交叉验证 (Cross-Validation)的理解与应用
在机器学习建模过程中,通行的做法通常是将数据分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最终模型的评估。在训练过程中,经常会出现过拟合的问题,就是模型可以很好的匹配训练数据,却不能很好在预测训练集外的数据。如果此时就使用测试数据来调整模型参数,就相当于在训练时已知部分测试数据的信息,会影响最终评估结果的准确性。通常的做法是在训练数据再中分出一部分做为验证(Validation)数据,用来评估模型的训练效果。
小宋是呢
2019/06/27
3.4K0
[深度概念]·K-Fold 交叉验证 (Cross-Validation)的理解与应用
深度 | 机器学习中的模型评价、模型选择及算法选择
作者:Sebastian Raschka 翻译:reason_W 编辑:周翔 简介 正确使用模型评估、模型选择和算法选择技术无论是对机器学习学术研究还是工业场景应用都至关重要。本文将对这三个任务的相关技术进行回顾,并就每种技术的理论和实证研究的主要优缺点进行讨论。文章还将就机器学习算法中的超参数调优给出尽可能的建议,用以实现最佳的算法效果。文中内容涉及很多常用方法,比如模型评估和选择中的Holdout方法等;介绍了bootstrap技术的不同变体,通过正态逼近得到置信区间来衡量性能估计(performa
AI科技大本营
2018/04/26
2.5K0
深度 | 机器学习中的模型评价、模型选择及算法选择
机器学习中的交叉验证思想
在使用训练集对参数进行训练的时候,经常会发现人们通常会将一整个训练集分为三个部分(比如mnist手写训练集)。一般分为:训练集(train_set),评估集(valid_set),测试集(test_set)这三个部分。这其实是为了保证训练效果而特意设置的。其中测试集很好理解,其实就是完全不参与训练的数据,仅仅用来观测测试效果的数据。而训练集和评估集则牵涉到下面的知识了。
mythsman
2022/11/14
8470
推荐阅读
相关推荐
机器学习,过拟合与欠拟合,正则化与交叉验证
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验