超参数的调整和使用交叉验证的评估

问题描述 投票:-1回答:1

我很难掌握如何使用交叉验证进行超参数调整和评估的标准方法。我尝试做10折简历。以下哪项是正确的方法?

  1. 所有数据都用于参数调整(例如,使用带有交叉验证的随机网格搜索)。这将返回最佳超参数。然后,使用这些超参数构造一个new模型,并可以通过进行交叉验证来评估该模型(用于训练的九折,用于测试的九折,最后将诸如准确性或混淆矩阵之类的度量平均)。] >

  2. 我发现的另一种方法是先将数据分为训练和测试集,然后仅对训练集执行交叉验证。然后将使用测试集进行评估。但是,据我了解,这将破坏交叉验证的整个概念,因为其背后的思想是独立于拆分,对吧?

  3. 最后,我的主管告诉我,我将使用八折进行训练,其中一项用于超参数估计,而另一项用于测试(因此进行评估)。但是,我找不到使用这种方法的任何材料。这是一个标准程序,还是我刚刚在那儿理解不对?

  4. 我很难掌握如何使用交叉验证进行超参数调整和评估的标准方法。我尝试做10折简历。以下哪项是正确的方法?所有...

通常,您可以将数据分成3组。

  • 训练集
  • 验证集
  • 测试集
  • 测试集:测试集是最容易解释的测试集。创建测试集后(数据的15-30%)。您可以将此数据集存储在某个位置,并且在您认为完成之前不要再触摸该数据集。-原因很简单,一旦您开始关注此数据集(例如增加AUC或...),那么您就开始过度拟合数据...

    验证集(+/-)也相同。当您对参数等进行超调时,您将开始专注于此集合……这意味着您不再在泛化了。 (一个好的模型应该适用于所有数据,而不仅适用于测试和验证集)。

    话虽如此,现在您只设置了培训和验证。

    交叉验证:使用交叉验证的某些动机是为了更好地泛化和查看您的模型/数据(想象一下,某些特殊情况仅存在于验证集中,等等。+您不会将单个决定视为理所当然。 。-的主要缺点10倍交叉验证是...需要10倍的时间才能完成... ...但它为您提供了更值得信赖的结果...(例如,如果您进行10倍交叉验证并且您的AUC在80 85 75 77 81 65之间波动...->那么您可能会有一些数据问题...在理想情况下,AUC之间的差异应该很小...

    尽管如此……我会做什么(这也取决于您的资源,模型,时间,数据集大小)

    • 创建10个随机褶皱。 (并跟踪它们)

    • 如有可能,进行10倍网格搜索(以大致了解每个参数的重要性,(您不必花太多时间。例如,随机森林具有max_features参数,但是如果您注意到则当该值为log2时,所有模型的性能均会降低,那么您就可以消除该超级参数)

    • 检查哪些超参数表现良好
    • 在效果良好的区域中进行10倍随机搜索或网格搜索
    • 但是对于每个新实验,请始终使用相同的折叠倍数,这样您就可以将模型彼此进行比较。 +通常,您会发现某些折痕比其他折痕更难,但对所有型号而言都是困难的]

      enter image description here

    machine-learning cross-validation hyperparameters
    1个回答
    0
    投票

    通常,您可以将数据分成3组。

    © www.soinside.com 2019 - 2024. All rights reserved.