首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在k折叠简历之后下一步是什么?

在k折叠简历之后下一步是什么?
EN

Data Science用户
提问于 2020-10-23 03:28:31
回答 2查看 942关注 0票数 3

我偶然看到了https://www.youtube.com/watch?v=wjILv3-UGM8关于k折叠交叉验证(CV)的视频讲座。视频讲座中给出的算法如下:

对于k= 1:5的列车,除k得到模型外,M_{\tilde{k}}k上的计算精度为A_k端,计算最终交叉验证精度:A = > \frac{1}{5}\sum_{k=1}^5 A_k

这对我来说是很清楚的。这里我猜M只是一种单一类型的ML算法。然而,在时间戳6:35时,演讲者提出了这样一个问题:我们如何处理所有5种不同的模型?根据他的说法,我们要么把所有的模型结合起来,并在此基础上做出决定,要么从5个模型中选出最好的模型。这句话是真的吗?

在许多网站,包括这里(https://stats.stackexchange.com/questions/310953/doubt-about-k-fold-crossvalidation?noredirect=1&lq=1https://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validationhttps://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation)和研究论文中,我了解到:

--对于使用k折叠CV进行模型训练,我们在CV循环结束后对整个数据集进行重新训练,这是最后的模型。

--如果进行CV训练的目的是检查整个数据集上ML算法的准确性,我们不会从CV循环中选择任何模型。

-然而,如果我们有多个ML算法,比如随机森林,神经网络,支持向量机在CV循环中,那么我们选择了精度最高的算法。

-另一种技术,嵌套交叉验证用于超参数调整。

我的理解正确吗?

EN

回答 2

Data Science用户

回答已采纳

发布于 2020-10-23 14:42:08

我没有看链接视频,但基于你的解释:是的,你的理解是正确的。

一个常见的混淆是假设交叉验证类似于一个常规的培训阶段,因此产生了一个模型。这种假设是错误的: CV包括重复训练/测试,以评估方法/参数。根据这一理解,可以得出以下结论:

对于使用k折叠CV进行模型训练,我们在CV循环结束后对整个数据集进行重新训练,这是最后的模型。

是的,因为我们想得到尽可能准确的最终模型,所以我们应该使用所有的数据。在这种情况下,CV已经被用来计算一个很好的性能估计。

如果进行CV训练的目的是检查整个数据集上ML算法的准确性,则不从CV循环中选择任何模型。

正确,否则使用简历是没有意义的。

然而,如果循环内有随机林型、神经网络、支持向量机等多个ML算法,则选择精度最高的算法。

任何正在评估多个方法和/或参数的情况都比单个方法的常规情况要复杂一些:评估多个系统本身就是一个额外的培训层,也就是说我们根据数据选择一些参数(通常是最好的模型)。这意味着选择本身是基于在CV阶段使用的全部数据,因此最佳模型的CV性能类似于在训练集上获得的性能。这就是为什么我们需要另一个测试集(或嵌套的CV)来获得模型的最终性能。要理解这一点,一种直观的方法是想象用简历对数百万模型进行评估:唯一能知道最佳性能是偶然还是偶然的方法是在一些新的测试集上评估相应的模型。

注:合并所有模型的输出的情况是不同的,因为这归结为一个单一的元模型。

票数 2
EN

Data Science用户

发布于 2020-10-24 07:39:19

在录影带里

我相信,在视频中,当你有5个不同的数据集训练的5个模型,这是有点不正确。

你有一个模型对5个数据集进行了培训。因此,你有5个受过训练的模型。

然后建议选择一个基于投票等的模型。这是集成模型的工作方式,但交叉验证并不适用于模型的封装过程。

为什么K-折叠简历

K折叠CV的关键目标是利用现有的列车数据,对测试误差进行可靠的估计。

在一种简单的拆分方法中,我们可能只是幸运的是,验证集包含了更简单的示例,从而导致了对模型的过于乐观的评估。

或者,当验证集包含更多困难的示例,而模型的性能被低估时,我们可能会感到不走运。

它不依赖于模型误差的一个估计,而是依赖于一个估计数(K)。

要记住的最重要的一点是,您仍然在处理您的火车数据集。

通过这种方法,您可以更好地确信,在对测试数据进行检查之前,培训的分数是最好的(可靠性)。

因此,您可以对模型配置有更多的信任(超参数)

由于这仍然是培训数据,您应该在整个数据集上使用已识别的超参数对模型进行培训。

但是,如果循环内有随机林型、神经网络、支持向量机等多个ML算法,则选择精度最高的算法。

我不认为我们可以有多个模型在一个K-折叠。如果我们的意思是在一个简单的循环中在多个模型上重复k折叠。如果“分数”是评价的唯一标准,那么我们可以选择得分最高的模型。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/84395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档