交叉验证--关于最终选取模型的疑问

看最下面对这个回答。

2018/06/21
很多书上都说了交叉验证的方法,还有留出法的评估方法。(西瓜书)
他们也都说了多次抽样然后多次评估取平均的策略,这样是为了充分利用这个样本集的分布。


这里有一个问题,那就是,既然是取平均,那这个分类器到底是取的哪一个。
不同的样本得到的分类器应该是不一样的,你直接去一个平均值,只是说这次的模型评估过程得到了这样的一个指标,但是你真正利用于线上的分类器到底是哪一个????
(这里说的可能有点不清楚)
我们是利用训练集去得到一个分类器,那你多次取平均又是什么意思,你是用哪一个分类器作为最终的分类器???

例如进行100次随机划分,每次产生一个训练/测试集用于实验评估,100次后就得到了100个结果,而留出法返回的则是这100个结果的平均。

我想知道的就是,这样随机划分之后,最后真正使用的分类器到底是哪一个。


一个算是解决方案的例子:
http://lib.csdn.net/article/machinelearning/1078
他这里是这样理解的,他利用交叉验证来选择模型中的参数。
我每次去修改模型的参数,然后每次交叉验证,然后其中平均的最小的,就是我想要的了。然后再拿这整个的样本集去训练这个参数的模型。这当然算是一种解决方案。

跟我理解的有点偏差,主要的偏差在这个地方,就是我的想法是,我的参数都是从训练数据中得到的,你这样每次的参数都不一样,你怎么去弄。可能针对的关键点还不太一样。


就比如说,我直接去使用了这个决策树的方法。
然后我对样本集进行了交叉验证,然后取了平均,然后得到了一个值,但是我跟谁比,还是说,我拿不同的模型(不同的算法来比),这样的方式??最后如果选定了这个算法,就拿整个样本集去测试???


看了下这个李航的统计学习方法,他针对的呢,就是从模型的选择角度来说,也就是说,我每次验证都是对不同的模型来进行的。
这样的话,就有所理解了。
就是我这个模型在这个样本集上的性能。
我一开始的想法,就局限于这一个模型了。然后没办法从这个里面选择出最好的那个。


2018/10/01
这部分的这个讲解还是不够详细,还是没有领悟到真正的用途。
最后的这个模型可能并不是我想想的那样。可能选择的还是最小的测试误差的那个。
在《统计学习导论》的里面,这部分讲的,我还没看明白。10:41。

所以说,我还是没明白,这个交叉验证的过程究竟是为了干什么。


2018/10/01
看这个,这个基本上是解决了我的疑问。
https://stats.stackexchange.com/questions/52274/how-to-choose-a-predictive-model-after-k-fold-cross-validation
(看第一个回答他下面给别人的回复)
另外,这里有一个讲如何训练模型的。
转载:https://machinelearningmastery.com/train-final-machine-learning-model/(这个还没看)

(2018/10/25 看过了,很有用,这个就是说,交叉验证就是一个评估模型的工具,对后期的参数选区没有任何关系)

最终的回答:
首先说明一下我的问题是什么:

我的问题是,对于交叉验证部分,不说K-fold的K是多少,那么最后会产生多(K)个模型,一般来说,每次训练出来的模型的参数都是不一样的,所以最后既然已经训练完成了,那么我应该选取那个模型呢?
(这个问题基本上就跟我第一个链接里面的内容的问题一致)

回答:

交叉验证并不是为了去获取一个模型,他的主要目的是为了去评估这个模型的一些特性,(这也是我看了统计学习导论之后,慢慢在脑子里形成的一个认识。)所以说,你这个最后要选取的模型,这些个都不是,而应该是去采用全部数据来训练出来的模型。(看了知乎上的几个答案,不知道是问题不明确还是什么东西,说的都好像不对题一样,看来这部分还是去看google吧。)
(不过,多看看后面这个他们的追问,我感觉很有意义,讨论了一个问题,就是一些数据的问题和过拟合的问题,特别是这个维问题,就是说那你这个模型的一些指标是什么,我觉得可能就是说这个平均的吧。不太理解,但是应该是这个道理。毕竟如果你用了全部数据之后,就没有相应的数据做测试了。)
(其实还是应该把那部分variace or bias这个看清楚)

下面是几个比较不错的问答,从google上找到的。
https://stats.stackexchange.com/questions/11602/training-with-the-full-dataset-after-cross-validation
https://datascience.stackexchange.com/questions/13960/how-to-choose-a-classifier-after-cross-validation
https://stackoverflow.com/questions/45480894/which-model-to-pick-from-k-fold-cross-validation


2018/10/24
既然上面的这个问题得到了一定的解决,那么我想知道,就是如果我写论文的时候,这个比率应该怎么写。
写平均的???很是疑惑,他们论文里面都是那么高的一个精确率,。。。
我突然想起来了,最后交叉验证之后,他们会得到一个平均的值,我猜那个值应该就是他们这样写的。

2018/10/25
感觉这里的问题,从最开始对这个交叉验证的作用就没有搞清楚,应该是深刻认识这个交叉验证到底是什么再去看那。
上面的三个链接中,最后一个是问答,他的第一个回答,让我比较接受,他对模型进行了一定的阐述,这里面模型是什么;就比如我们使用线性模型,但是你通过不同的数据集(比如交叉验证产生)来训练出来的是一个模型,虽然参数不同。

  • 31
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值