2 cunxinlitian cunxinlitian 于 2018.08.11 09:37 提问

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

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

3个回答

caozhy
caozhy   2018.08.11 12:08

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

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

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

qq1491599481
qq1491599481   2018.08.12 22:10

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【机器学习】k-fold cross validation(k-折叠交叉验证)
k-折叠交叉验证就是将训练集的1/k作为测试集,每个模型训练k次,测试k次,错误率为k次的平均,然后平均率最小的模型Mi。
机器学习中的交叉验证
交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合.有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力(generalize
机器学习之模型选择(交叉验证)
问题 模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归,也可以用多项式回归。那么使用哪种模型好呢(能够在偏差和方差之间达到平衡最优)? 还有一类参数选择问题:如果我们想使用带权值的回归模型,那么怎么选择权重w 公式里的参数τ? 形式化定义:假设可选的模型集合是Μ = {M1, M2, … , Md },比如我们想分类,那么SVM、logistic回归、神经网
【机器学习基础概念】过拟合,交叉验证,VC维
过拟合 概念理解:为了使分类器能够对训练数据进行完全正确的分类,而把分类器构造得过度精细复杂,使得训练数据稍微有改动,分类器就会失效。简单点理解就是,能够正确甚至百分百分类训练数据,对于测试数据却不能得到很好的结果。 出现原因:出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少 交叉验证 也称为循环估计,是将一个样本集,分割成两个子集,一个作为训练数据用,一
机器学习---之交叉验证的用处与优点
一.评价模型性能 交叉验证主要可以用来评估模型的性能,比如说有一个模型,有一个数据集,如果不使用交叉验证,那就是直接将数据放到网络当中去训练,训练结束后,用新的数据来进行测试,来看看这个模型是否好,但是这个模型对这个新的数据测试效果好不代表对其他新来的数据效果就好,也就是你并不知道这个模型泛化能力是否好,是否过拟合,也许你要用很多不同的数据集来测试一下,如果数据集有限的话,就很难评估模型的泛
机器学习——sklearn中的交叉验证
转载自http://blog.csdn.net/jasonding1354/article/details/50562513。 内容概要¶ 训练集/测试集分割用于模型验证的缺点K折交叉验证是如何克服之前的不足交叉验证如何用于选择调节参数、选择模型、选择特征改善交叉验证1. 模型验证回顾¶ 进行模型验证的一个重要目的是要选出一个最合适的模型,对于监督学习而言,我们希望模型对于未知数据的泛化能力强,所以
机器学习练习(三)——交叉验证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
机器学习 交叉验证
首先,要明确交叉验证是什么?有一点很明确,交叉验证需要将数据集分为训练集和验证集(或者称测试集),在训练集上对模型训练参数,在验证集上看训练出的模型的好坏。当数据比较少的时候,验证集上的泛化误差并不可靠,所以不能表明一个模型比另一个模型要好。交叉验证通过划分数据,确保性能指标是所有数据给出的。  交叉验证分为三种:  - held-out:  最简单,将数据集分成两部分,一部分作为训练集,一
机器学习----交叉验证(Cross Validation)简介
转自知乎:https://www.zhihu.com/question/23561944 交叉验证的定义 交叉验证(Cross Validation),有的时候也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法,该理论是由Seymour Geisser提出的。 在模式识别(Pattern Recognitio
机器学习——交叉验证与特征选择
k-折叠交叉验证是一种在机器学习中很常用的方法,简单来说就是手头有是10个数据,取2-10为样本数据,用来学习,生成公式后将第一个数据送入公式进行计算,下次则选取第二个数据作为测试数据,1,3-10这九个数据作为样本数据进行学习,如此计算。如此循环十次,可以得到一个错误率,用以判定学习的结果怎么样。  k指的是将你的数据分为k份,进行k次循环,上面的例子的k就是10。如果每一个样例都做测试, 这