【问题标题】:What is the purpose of cross-validation if the model is thrown away each iteration如果每次迭代都抛弃模型,交叉验证的目的是什么
【发布时间】:2020-04-18 00:46:49
【问题描述】:

在交叉验证中,比方说 k 折,每次迭代我们基本上都是从头开始创建新模型 - 我们丢弃之前评分的模型并根据不同的训练集创建一个新模型。

众所周知,模型的优势在于它所训练的数据(当然,除了它的超参数)。

所以我的问题是 - 如果模型一直在变化,那么评分的意义何在?

在交叉验证之后,我们不取模型值的平均值。只是计算不再存在的模型分数的平均值。 我显然错过了一些东西,但除了选择超参数和 maby 来指示最适合的模型(从非常高的角度来看)- 我看不到交叉验证的好处。

【问题讨论】:

    标签: machine-learning artificial-intelligence analytics data-science cross-validation


    【解决方案1】:

    您进行交叉验证以估计您的模型在看不见的数据上的表现。关键是看它的概括性如何。

    完成交叉验证并对分数感到满意后,您可以在整个训练集上重新训练,然后查看它在测试集上的表现如何。如果您的测试集来自与您的训练集相似的分布,并且您正确地进行了交叉验证,那么您应该会得到相似的分数。

    你不能从一开始就使用测试集的原因是你应该只使用一次测试集 - 如果你对测试集的分数不满意,你不能回去重新训练否则你有过拟合的风险。

    【讨论】:

    • 这是我不理解的部分——每次迭代我们得到的模型都有点不同,因为我们使用不同的训练集。可能第一个模型在看不见的数据上表现出色(因为它处理的特定 Trianing 集),最后一个不是。所以我想得到第一个。但我们从 CV 过程中得到的唯一东西是平均分数。但现在我又想起来了——可能我把它弄错了。。CV 的重点不是得到一个 TRUE 分数预测模型的准确性?
    【解决方案2】:

    交叉验证是一种非常有用的统计方法,常用于机器学习中,用于比较和选择一个好的模型。

    但是您可能会错过什么时候应该使用交叉验证? .

    那么,如果有两个模型使用不同的算法或对特征进行一些修改(特征工程)或任何敏感修改,并且两者在测试集上执行相同,我该怎么办。

    这些修改中哪一个是最好的,(将在我的应用程序或实际案例中表现良好)。

    通常我们有很多模型需要比较。交叉验证可帮助您确定应该使用其中哪一个模型,因为交叉验证在多个场景(各种测试输入)下拟合模型。

    即如果您使用的是 k 折交叉验证,您现在有 (k) 批测试集,用于测量您的模型在每批测试集中的性能。

    【讨论】:

      猜你喜欢
      • 2021-04-23
      • 2021-04-09
      • 2015-06-26
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2013-05-19
      • 2013-12-08
      • 1970-01-01
      相关资源
      最近更新 更多