首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个是第一个?调整参数或选择模型

哪个是第一个?调整参数或选择模型
EN

Data Science用户
提问于 2018-11-27 21:00:11
回答 4查看 4.8K关注 0票数 10

我一直在阅读我们如何将我们的数据分成3部分;通常,我们使用验证集来帮助我们调整参数和测试集,以便对我们的模型的表现有一个无偏的估计,这样我们就可以根据测试集的结果来比较模型。然而,我也读过模型选择应该在调优参数之前完成。我有点糊涂了。哪一个必须先做另一个?验证集是否用于调优?如果是这样的话,我们应该如何在调整参数之前进行模型选择?

EN

回答 4

Data Science用户

回答已采纳

发布于 2018-11-28 16:18:40

只有在您已经对模型进行了培训之后,您才能调优参数,否则就没有什么可调的了。

然而,我也读过模型选择应该在调优参数之前完成。

在调优之前,您需要在调优参数之前进行某种预处理。通常,您的管道将包括:

  1. 获取数据并清理它。
  2. 做一些EDA (探索性数据分析)做得更好地了解你的数据。
  3. 做一些特性工程--粗略地说,如果可能的话,你会想要转换当前的数据,这样它就更适合你的ML了。
  4. 根据验证数据对模型进行培训和评估。
  5. 调整您的模型的参数,以获得更好的性能(与过度适合的战斗包括在内)。
  6. 对测试集的评价

在调整参数之前,我们应该如何进行模型选择?

关于模型选择--我认为即使没有对数据有很深的了解,你也可以选择一些基线模型(我认为从线性回归或know这样的简单模型开始来获得“性能的感觉”是一条很好的规则),因为在大多数情况下,您都知道您可能在处理回归/分类/聚类任务,所以您已经可以指定要尝试的模型集--但是在尝试大量ML模型之前,您应该准备好数据。

有些帖子像这个能给你一种可用的ml的感觉吗?,但是还有很多要尝试的地方。

此外,我认为如果您开始使用ML,本论文可能会非常有用。

票数 9
EN

Data Science用户

发布于 2018-11-28 16:54:44

然而,我也读过模型选择应该在调优参数之前完成。如果是...,那么我们应该如何在调整参数之前进行模型选择?

当然,在调整参数之前,应该先进行模型选择。

假设您选择了一个模型,然后对参数进行调优(当然,这需要大量时间)。结果很好。但是,然后测试另一个模型,即使不调整参数,结果也会更好。您使用第一个模型所做的所有工作都是无用的,您将花费数天,甚至几周的时间来优化一个在数据上表现不佳的模型。

模型选择是第一位的,因为为不保留的模型调优参数是无用的。当然,在用数据测试它之前,您可能不知道选择哪个模型。你必须猜哪一个表现最好,或者试几个,看看哪个更好,即使有几个数据集或几个训练时代。

验证集是否用于调优?

验证集可以用来调优模型的超参数。通常,您测试一个超参数子集,在几个时期内对每个模型进行培训,并查看哪些性能最好。然后保留这组超参数,并根据实际数据集对模型进行训练,使模型具有良好的性能。

当然,要拥有最好的模型,您需要对它们进行测试,并尽可能使用所有的超参数。但是你不能这样做,所以你需要优化你的训练,首先选择一个模型,然后用几个超参数来优化它。

票数 2
EN

Data Science用户

发布于 2018-11-30 14:08:32

模型的选择过程如下:

1]选择适当的算法来组合您的数据集。

2)建立模型,在此过程中,我们将算法与训练数据相结合,再加上其他几种机器学习技术,如网格搜索和交叉validation.If,您可能需要将数据分割成训练、验证和测试数据。在机器学习中,如果您使用交叉验证,则不需要作为交叉验证的验证数据,它本身将分割数据进行验证。

3]现在,根据上述步骤的结果,您可以调优超参数并再次检查结果。您可以重复这个过程,直到得到具有最佳度量的最优模型为止。通过这种方式,您可以通过超参数调优来选择最佳模型。

关于选择模型的另一件事,您可以在第一步修改算法,然后继续使用step2和step3。现在,您将有不同的模型与他们自己最好的最优模型与最佳的超参数。然后,您可以选择适合您的需要的最佳型号。

,例如

1]首先选择决策树来创建模型,然后使用step2和step3选择具有超参数优化的最佳模型。

第二,将算法更改为随机森林,以创建模型,然后使用step2和step3再次选择具有超参数优化的最佳模型。

3)现在我们将有不同的模型,每个模型都被选择为使用超参数调整的最佳模型。通过这种方式,您可以尝试创建几个模型并对它们进行比较,然后最终选择最佳模型。

因此,在选择模型时,实际上有两个场景。

1]使用算法创建模型,然后通过超参数调优选择最佳的模型。

2]您使用不同的算法创建不同的模型,每个模型都有各自的最佳最优模型,并从中选择最佳模型。

然而,我也读过模型选择应该在调优参数之前完成。我有点糊涂了。哪一个必须先做另一个?

有时,我们可能会在创建模型和选择模型时感到困惑。当我们创建模型时,我们必须选择合适的算法,有时这个步骤(我们选择算法)也可以被称为选择模型。因此,超级参数有助于选择最佳模型,因此在选择模型之前需要进行超参数调整。

验证集是否用于调优?

验证集用于在对测试数据进行测试之前对模型性能进行评估。一旦我们评估了模型的性能,如果它不像您预期的那么好,那么您将更改超级参数并再次检查性能。因此,是的,我们将使用验证数据集来调优超参数。

您可以将验证数据看作是在开发软件应用程序时进行单元测试。您以开发人员的身份开发应用程序并进行单元测试。如果单元测试失败,那么您必须作为开发人员进行更改,以修复单元测试错误,然后只有它将由测试团队进行测试。一旦测试团队批准,应用程序将被部署到生产中。类似地,在机器学习中,您使用培训数据开发模型,并对验证数据进行第一次测试。然后进行超参数调优,并选择最佳模型。该模型将在测试数据集上进行测试。一旦测试数据集上的结果令人满意,您将在生产中部署该模型。

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

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

复制
相关文章

相似问题

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