关于机器学习中的交叉验证,有一个问题向问问大家? 5C

将数据集随机分为训练集(80%),验证集(10%),测试集(10%)。进行一轮交叉验证操作后,得到了一组最优参数。但是由于数据集是随机划分的,同样的数据集,同样按照8:1:1随机划分数据,当我再一次进行交叉验证,得到的最优参数结果却与上次不同。那么利用交叉验证获取最优参数组合的意义何在?

0

3个回答

用模型拟合不一样的两组随机选取的数据, 导致模型的参数本身就不同吧, 比如最简单的线性回归模型, 拟合不同的数据集, 尽管这两个数据集整体分布一样,
但是由于可能这两个数据集跟整体数据分布还是有些差异, 导致交叉验证得到不同的权值.
当你手上的数据集越大, 跟整体的数据分布越接近的时候, 估计用交叉验证拟合得到的参数变化越小.

1

所以我的做法是,首先分出两部分,train+validate,test,前两个混合,后面的独立出来。

0
cunxinlitian
cunxinlitian 回复caozhy: 我所说的效果这里指的是以AUC(Area under the Curve of ROC)评估二元分类模型(这里是20种不同参数组合)的好坏,并不是追求对已知数据的拟合。如果再次随机划分训练集,验证集(对20种模型进行验证,选择AUC最大的那种模型),测试集;那么这次选择的模型与上次的不同,那么到底应该如何去选择模型呢?
4 个月之前 回复
caozhy
caozhy 回复cunxinlitian: 你理解错了,机器学习的目的是使得算法具有泛化能力(未知数据上预测良好),而不是追求已知数据上的“效果”。
4 个月之前 回复
cunxinlitian
cunxinlitian 没太懂?
4 个月之前 回复

交叉验证不是还有参数调校的功能吗?比如有两种参数:a和b,假设a有4个备选值,b有5个备选值,那么共有4*5=20种组合,使用验证集的数据来对这20种组合进行评估(利用AUC),最后选出效果最好的一组组合,再对测试集数据进行测试。可是当我再次重复这个步骤时,由于训练集,验证集,测试集的数据虽然还是原来的数据,比例也相同,但是是随机分配的,所以再一次的参数调校却获得是另外一组参数组合,那么利用验证集来进行参数调校获得的最优参数又有什么意义呢?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的。是时候展现真正的技术了!
其他相关推荐
机器学习中常用的交叉验证方法
交叉验证的方法一:简单的交叉验证的步骤如下:1、 从全部的训练数据 S中随机选择 中随机选择 s的样例作为训练集 train,剩余的 作为测试集 作为测试集 test。2、 通过对测试集训练 ,得到假设函数或者模型 。3、 在测试集对每一个样本根据假设函数或者模型,得到训练集的类标,求出分类正确率。4,选择具有最大分类率的模型或者假设。这种方法称为 hold -out cross validati...
机器学习中的交叉验证
交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合.有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力(generalize
[交叉验证]机器学习中分类器的选择
在机器学习中,分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。分类器依据学习的方式可以分为非监督学习和监督学习。非监督学习顾名思义指的是给予分类器学习的样本但没有相对应类别标签,主要是寻找未标记数据中的隐藏结构。,监督学习通过标记的训练数据推断出分类函数,分类函数可以用来将新样本映射到对应的标签。在监督学习方式中,每个训练样本包括训练样本的特征和相对应的标签。监督学习的流程
Udacity机器学习入门项目5:预测波士顿房价
机器学习工程师纳米学位 模型评价与验证 项目 1: 预测波士顿房价 欢迎来到机器学习工程师纳米学位的第一个项目!在此文件中,有些示例代码已经提供给你,但你还需要实现更多的功能来让项目成功运行。除非有明确要求,你无须修改任何已给出的代码。以编程练习开始的标题表示接下来的内容中有需要你必须实现的功能。每一部分都会有详细的指导,需要实现的部分也会在注释中以TODO标出。请仔细阅读所有的提示
机器学习系列之交叉验证、网格搜索
第一部分:交叉验证 机器学习建立和验证模型,常用的方法之一就是交叉验证。在机器学习过程中,往往数据集是有限的,而且可能具有一定的局限性。如何最大化的利用数据集去训练、验证、测试模型,常用的方法就是交叉验证。交叉验证,就是重复的使用数据,对样本数据进行划分为多组不同的训练集和测试集(训练集训练模型,测试集评估模型)。 交叉验证一般使用在数据不是很充足情况。一般问题,如果数据样本量小于一万条,就会...
斯坦福大学机器学习——交叉验证(Cross Validation)
交叉验证是一种模型选择方法,其将样本的一部分用于训练,另一部分用于验证。因此不仅考虑了训练误差,同时也考虑了泛化误差。从这里可以看出机器学习、数据挖掘与传统统计学的一个重要差别:传统统计学更注重理论,追求理论的完整性和模型的精确性,在对样本建立某个特定模型后,用理论去对模型进行各种验证;而机器学习/数据挖掘则注重经验,如交叉验证,就是通过不同模型在同一样本上的误差表现好坏,来选择适合这一样本的模型,而不去纠结理论上是否严谨。
机器学习----交叉验证(Cross Validation)简介
转自知乎:https://www.zhihu.com/question/23561944 交叉验证的定义 交叉验证(Cross Validation),有的时候也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法,该理论是由Seymour Geisser提出的。 在模式识别(Pattern Recognitio
机器学习---之交叉验证的用处与优点
一.评价模型性能 交叉验证主要可以用来评估模型的性能,比如说有一个模型,有一个数据集,如果不使用交叉验证,那就是直接将数据放到网络当中去训练,训练结束后,用新的数据来进行测试,来看看这个模型是否好,但是这个模型对这个新的数据测试效果好不代表对其他新来的数据效果就好,也就是你并不知道这个模型泛化能力是否好,是否过拟合,也许你要用很多不同的数据集来测试一下,如果数据集有限的话,就很难评估模型的泛
机器学习 交叉验证
首先,要明确交叉验证是什么?有一点很明确,交叉验证需要将数据集分为训练集和验证集(或者称测试集),在训练集上对模型训练参数,在验证集上看训练出的模型的好坏。当数据比较少的时候,验证集上的泛化误差并不可靠,所以不能表明一个模型比另一个模型要好。交叉验证通过划分数据,确保性能指标是所有数据给出的。  交叉验证分为三种:  - held-out:  最简单,将数据集分成两部分,一部分作为训练集,一
机器学习——交叉验证与特征选择
k-折叠交叉验证是一种在机器学习中很常用的方法,简单来说就是手头有是10个数据,取2-10为样本数据,用来学习,生成公式后将第一个数据送入公式进行计算,下次则选取第二个数据作为测试数据,1,3-10这九个数据作为样本数据进行学习,如此计算。如此循环十次,可以得到一个错误率,用以判定学习的结果怎么样。  k指的是将你的数据分为k份,进行k次循环,上面的例子的k就是10。如果每一个样例都做测试, 这
机器学习笔记——模型选择和交叉验证集
通常为了选择能适应一般情况的模型,需要使用交叉验证集来帮助选择模型。即,使用60%的数据作为训练集,使用20%的数据作为交叉验证集,使用20%的数据作为测试集。模型的选择方法为:1、使用训练集训练出10 个模型2、用10个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)3、选取代价函数值最小的模型4、用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)...
机器学习十 交叉验证
交叉验证(Cross Validation) 定义(摘自百度百科):交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。 目的:为了获
【机器学习】交叉验证(cross-validation)
交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合。有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力。
机器学习——交叉验证
先来几句论文中经常用于表述交叉验证的句子: We follow previous experiment protocol and use accuracy under 10-fold cross-validation as the evaluation metric. 首先,要明确交叉验证是什么?有一点很明确,交叉验证需要将数据集分为训练集和验证集(或者称测试集),在训练集上对模型训练参数,在
机器学习——sklearn中的交叉验证
转载自http://blog.csdn.net/jasonding1354/article/details/50562513。 内容概要¶ 训练集/测试集分割用于模型验证的缺点K折交叉验证是如何克服之前的不足交叉验证如何用于选择调节参数、选择模型、选择特征改善交叉验证1. 模型验证回顾¶ 进行模型验证的一个重要目的是要选出一个最合适的模型,对于监督学习而言,我们希望模型对于未知数据的泛化能力强,所以
【机器学习】Cross-Validation(交叉验证)详解
转自:https://zhuanlan.zhihu.com/p/24825503 本文章部分内容基于之前的一篇专栏文章:统计学习引论   交叉验证作用:一般你肯定不会只尝试一种模型,而一种模型又有很多参数是需要你控制的。所以这么说吧,测试结果(MSE)可以决定你是什么模型,比如是用linear regression还是SVM,也可以决定SVM模型里各个参数应该定什么值更合理。 在机器学习里...
机器学习中的交叉验证简介
1.什么是交叉验证?        交叉验证是在实验中的数据不充分的情况下,但是我们又想训练出好的模型的情况下采用的措施。交叉验证的思想:重复使用数据,把给定的数据进行拆分,将切分的数据集组合为训练集与测试集,在此基础上不断反复进行训练、测试以及模型选择。下边来介绍下使用过的两个交叉验证方法,交叉验证的方法主要是使用sklearn库中方法,我们可以直接调用库中的方法,主要是在于参数的设置以及你应用...
机器学习中训练数据集,交叉验证数据集,测试数据集的作用
1. 简介在Andrew Ng的机器学习教程里,会将给定的数据集分为三部分:训练数据集(training set)、交叉验证数据集(cross validation set)、测试数据集(test set)。三者分别占总数据集的60%、20%、20%。 那么这些数据集分别是什么作用呢?
机器学习练习(三)——交叉验证Cross-validation
一、选择正确的Model基础验证法 from sklearn.datasets import load_iris # iris数据集 from sklearn.model_selection import train_test_split # 分割数据模块 from sklearn.neighbors import KNeighborsClassifier # K最近邻(kNN,k-Ne
机器学习--交叉验证
转自: 交叉验证(Cross validation),有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力(generalize), 交叉验证一般要尽量满足:
机器学习——什么时候需要显式的划分出“验证集”
       所谓的显式的划分出“验证集”,其实就是显式的将数据集划分为“训练集”、“验证集”、“测试集”。但是假如要使用k折交叉验证来为模型进行超参数调优而言,是不需要显式的将数据集划分出“验证集”的。        当数据集的整体比较小时,常常需要使用k折交叉验证才能更加精确的评估一个模型的性能指标(因为k折交叉验证可以解决数据分布的敏感性问题),从而为模型选择比较优的超参数。使用k折交叉验...
机器学习中的过拟合问题
1. 过拟合的表现随着训练过程的进行,模型在训练集上的误差越来越小,但是在测试集上的误差却越来越大。这是由于训练得到的模型过度拟合了训练集,对训练集外的数据不work,即泛化能力差。2. 降低过拟合的方法2.1 数据增强(augmentation)1)随机旋转 :一般情况下是对输入图像随机旋转[0,360) 2)随机裁剪 :对输入图像随机切割掉一部分 3)色彩抖动 :指的是在颜色空间如RGB中,每...
《Python机器学习》读书笔记(八)流水线&交叉验证
Python机器学习读书笔记(八)流水线&交叉验证 1. 基于流水线的工作流 sklearn中的Pipline类,可以拟合出包含任意多个处理步骤的模型,并将模型用于新数据的预测 威斯康辛乳腺癌数据集(Breast Cancer Wisconsin):569个样本,第1列是样本ID,第二列是肿瘤诊断结果(M代表恶性,B代表良性),后面的30列均是特征。 使用panda...
机器学习中数据训练集,测试集划分与交叉验证的联系与区别(含程序)
因为一个模型仅仅重复了刚刚训练过的样本的标签,这种情况下得分会很高,但是遇到没有训练过的样本就无法预测了。这种情况叫做过拟合。为了避免过拟合,一个常见的做法就是在进行一个(有监督的)机器学习实验时,保留一部分样本作为测试集(X_test, y_test)。为了提高训练数据的泛化能力,我们把训练集和测试集对半划分,即:X_test:y_test=1:1,test_size=0.5。但是仅仅如此,再训...
机器学习工具之交叉验证数据集自动划分train_test_split
机器学习工具之交叉验证数据集自动划分 1. 使用方式: from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test=train_test_split (train_data,train_lable,test_size=0.3,random_state=o,stratify=trai...
机器学习-CrossValidation交叉验证Python实现
版权声明:本文为原创文章,转载请注明来源。1.原理1.1 概念交叉验证(Cross-validation)主要用于模型训练或建模应用中,如分类预测、PCR、PLS回归建模等。在给定的样本空间中,拿出大部分样本作为训练集来训练模型,剩余的小部分样本使用刚建立的模型进行预测,并求这小部分样本的预测误差或者预测精度,同时记录它们的加和平均值。这个过程迭代K次,即K折交叉。其中,把每个样本的预测误差平方加和
机器学习的几个重要问题
本文是我看《机器学习哪些事》的一些总结和感想。如果我现在就是一个能够学习的机器的话,那我现在进行的就是机器学习中的“归纳”。 另:本人刚开始接触机器学习这一领域,欢迎交流沟通,表述如有不当之处,恳求指出。 *我的总结: 1.机器学习实现为一个学习器,学习器通过样例训练集的训练,学到假设空间里一个最优的算法(比如一个最优的分类器集合中的一个分类器)。其中,样例训练集可以理解为学习器要学
机器学习中的交叉验证(cross-validation)
交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合.有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力(generalize
【机器学习】交叉验证、正则化实例Python代码实现
前言 机器学习常用的数据集网址:数据集 运行环境:python3.6(这里我用的anaconda的jupyter notebook) 1. 对比不同模型的交叉验证的结果 数据集来源:红酒数据集 这份数据集包含来自3种不同起源的葡萄酒的共178条记录。13个属性是葡萄酒的13种化学成分。通过化学分析可以来推断葡萄酒的起源。值得一提的是所有属性变量都是连续变量。 from skle...
机器学习中常见的问题整理(三)
本文继续整理各个平台上最热门的机器学习问题及参考解答,如有问题欢迎补充~ 1. 激活函数ReLU相比Sigmoid的优势有哪些? (1)Relu计算量小; (2)Relu没有饱和区和梯度消失; (3)用Relu去估计非线型函数时收敛更快。AlexNet论文里说大概比sigmoid快6倍。 最后,Relu有个缺点是输出为0后,梯度没法反向传递,这个Relu就死掉了。。 2. dropou...
[读书笔记] 《Python 机器学习》- 使用嵌套交叉验证进行模型选择
通过嵌套交叉验证选择算法对特定数据集进行模型选择
为什么要用交叉验证
本文结构: 什么是交叉验证法? 为什么用交叉验证法? 主要有哪些方法?优缺点? 各方法应用举例? 什么是交叉验证法?它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。为什么用交叉验证法? 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。 还可以从有限的数据中获取尽可能多的有效信息。 主要有哪
机器学习之模型选择(交叉验证)
问题 模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归,也可以用多项式回归。那么使用哪种模型好呢(能够在偏差和方差之间达到平衡最优)? 还有一类参数选择问题:如果我们想使用带权值的回归模型,那么怎么选择权重w 公式里的参数τ? 形式化定义:假设可选的模型集合是Μ = {M1, M2, … , Md },比如我们想分类,那么SVM、logistic回归、神经网
Python - 回归(线性回归、RFE、LASSO 和 岭回归+K折交叉验证)
1. 普通线性回归:通过输出模型的真实值和预测值的平均平方差尽可能小(即最小二乘估计法),但容易陷入过度拟合(即低偏差),后续回归方法会有带正则化法来缩减数据。2. 普通线性回归+RFE:RFE是recursive feature elimination回归特征消除,让回归特征消除过程中只保留no_features个最重要的特征,可以避免过度拟合,但RFE会舍弃一些变量,原没有下面几个方法给变量赋...
「逗你一笑」一些关于程序员的笑话
一个程序员碰到了一个问题,他决定用多线程来解决。现在两个他问题了有\n\n有一个程序猿,他得到了一盏神灯。灯神答应实现他一个愿望。然后他向神灯许愿,希望在有生之年能写一个好项目。后来他得到了永生。 \n\n逗你一乐。
【机器学习】模型融合方法概述
转自:https://zhuanlan.zhihu.com/p/25836678我理解的Kaggle比赛中提高成绩主要有3个地方特征工程调参模型融合 之前每次打比赛都只做了前两部分,最后的模型融合就是简单的加权平均,对于进阶的Stacking方法一直没尝试,这几天摸索了一下还是把Stacking方法给弄懂了。(本文重点讲解Stacking,Bagging和Boosting有很多权威的好教程,所...
交叉验证集和测试集
在监督学习中主要有两种数据分类方法: 1. 将数据集分为三部分:训练集、验证集和测试集 2. 将数据集分为两部分:训练集、测试集   验证集合测试集的区别:验证集主要是用来进一步确定模型中的参数(正则项系数、隐含层节点个数),而测试集主要是用来评估模型的精确度(泛化能力)。   对于第一种方法即首先用取得最小误差的验证集的参数取值模型作为所选的最佳模型,然后采用测试集对这个最佳模型进行
机器学习总结(三):如何防止过拟合
通常过拟合由以下三种原因产生:1. 假设过于复杂;2. 数据存在很多噪音;3. 数据规模太小。 过拟合的解决方法通常有:1. early stopping;2. 数据集扩增;3. 正则化;4. Dropout。Early stopping:对模型的训练过程就是对模型参数的进行学习更新的过程。参数学习的过程中往往会用到一些迭代算法,比如梯度下降法。Early stopping的目的就是在迭代次数还未
机器学习(西瓜书)第三章 3.4 交叉验证+留一法
代码连接:https://github.com/taijizuomantou/machine_learning_zhouzhihua 注意:交叉验证和留一法,都只是用来评估误差的。训练实际得到的模型是使用所有数据集的。ok 采用的是uci使用最多的iris数据集。特别注意,得到的参数结果是不收敛的。但测试的结果却是完全正确的。 这里有些混淆。在吴恩达课程中,不使用批处理的情况下,一般情况会越...
机器学习——boosting 与 bagging 知识点+面试题总结
一、boosting与bagging: (1)bagging:从原始数据中随机抽样得到多个同样大小的数据集,来训练多个基学习 器,各学习器之间互不依赖。是一种并行的方法。各分类器的权重都是相等的。 (抽样方法为有放回的抽样:允许每个小数据集中可以有重复的值。) (2)boosting:用所有的数据去训练基学习器,个体学习器之间存在依赖关系,每一个学习器都是基于之前训练的学习器的结果,集中