我一直在阅读我们如何将我们的数据分成3部分;通常,我们使用验证集来帮助我们调整参数和测试集,以便对我们的模型的表现有一个无偏的估计,这样我们就可以根据测试集的结果来比较模型。然而,我也读过模型选择应该在调优参数之前完成。我有点糊涂了。哪一个必须先做另一个?验证集是否用于调优?如果是这样的话,我们应该如何在调整参数之前进行模型选择?
发布于 2018-11-28 16:18:40
只有在您已经对模型进行了培训之后,您才能调优参数,否则就没有什么可调的了。
然而,我也读过模型选择应该在调优参数之前完成。
在调优之前,您需要在调优参数之前进行某种预处理。通常,您的管道将包括:
在调整参数之前,我们应该如何进行模型选择?
关于模型选择--我认为即使没有对数据有很深的了解,你也可以选择一些基线模型(我认为从线性回归或know这样的简单模型开始来获得“性能的感觉”是一条很好的规则),因为在大多数情况下,您都知道您可能在处理回归/分类/聚类任务,所以您已经可以指定要尝试的模型集--但是在尝试大量ML模型之前,您应该准备好数据。
有些帖子像这个能给你一种可用的ml的感觉吗?,但是还有很多要尝试的地方。
此外,我认为如果您开始使用ML,本论文可能会非常有用。
发布于 2018-11-28 16:54:44
然而,我也读过模型选择应该在调优参数之前完成。如果是...,那么我们应该如何在调整参数之前进行模型选择?
当然,在调整参数之前,应该先进行模型选择。
假设您选择了一个模型,然后对参数进行调优(当然,这需要大量时间)。结果很好。但是,然后测试另一个模型,即使不调整参数,结果也会更好。您使用第一个模型所做的所有工作都是无用的,您将花费数天,甚至几周的时间来优化一个在数据上表现不佳的模型。
模型选择是第一位的,因为为不保留的模型调优参数是无用的。当然,在用数据测试它之前,您可能不知道选择哪个模型。你必须猜哪一个表现最好,或者试几个,看看哪个更好,即使有几个数据集或几个训练时代。
验证集是否用于调优?
验证集可以用来调优模型的超参数。通常,您测试一个超参数子集,在几个时期内对每个模型进行培训,并查看哪些性能最好。然后保留这组超参数,并根据实际数据集对模型进行训练,使模型具有良好的性能。
当然,要拥有最好的模型,您需要对它们进行测试,并尽可能使用所有的超参数。但是你不能这样做,所以你需要优化你的训练,首先选择一个模型,然后用几个超参数来优化它。
发布于 2018-11-30 14:08:32
模型的选择过程如下:
1]选择适当的算法来组合您的数据集。
2)建立模型,在此过程中,我们将算法与训练数据相结合,再加上其他几种机器学习技术,如网格搜索和交叉validation.If,您可能需要将数据分割成训练、验证和测试数据。在机器学习中,如果您使用交叉验证,则不需要作为交叉验证的验证数据,它本身将分割数据进行验证。
3]现在,根据上述步骤的结果,您可以调优超参数并再次检查结果。您可以重复这个过程,直到得到具有最佳度量的最优模型为止。通过这种方式,您可以通过超参数调优来选择最佳模型。
关于选择模型的另一件事,您可以在第一步修改算法,然后继续使用step2和step3。现在,您将有不同的模型与他们自己最好的最优模型与最佳的超参数。然后,您可以选择适合您的需要的最佳型号。
1]首先选择决策树来创建模型,然后使用step2和step3选择具有超参数优化的最佳模型。
第二,将算法更改为随机森林,以创建模型,然后使用step2和step3再次选择具有超参数优化的最佳模型。
3)现在我们将有不同的模型,每个模型都被选择为使用超参数调整的最佳模型。通过这种方式,您可以尝试创建几个模型并对它们进行比较,然后最终选择最佳模型。
因此,在选择模型时,实际上有两个场景。
1]使用算法创建模型,然后通过超参数调优选择最佳的模型。
2]您使用不同的算法创建不同的模型,每个模型都有各自的最佳最优模型,并从中选择最佳模型。
然而,我也读过模型选择应该在调优参数之前完成。我有点糊涂了。哪一个必须先做另一个?
有时,我们可能会在创建模型和选择模型时感到困惑。当我们创建模型时,我们必须选择合适的算法,有时这个步骤(我们选择算法)也可以被称为选择模型。因此,超级参数有助于选择最佳模型,因此在选择模型之前需要进行超参数调整。
验证集是否用于调优?
验证集用于在对测试数据进行测试之前对模型性能进行评估。一旦我们评估了模型的性能,如果它不像您预期的那么好,那么您将更改超级参数并再次检查性能。因此,是的,我们将使用验证数据集来调优超参数。
您可以将验证数据看作是在开发软件应用程序时进行单元测试。您以开发人员的身份开发应用程序并进行单元测试。如果单元测试失败,那么您必须作为开发人员进行更改,以修复单元测试错误,然后只有它将由测试团队进行测试。一旦测试团队批准,应用程序将被部署到生产中。类似地,在机器学习中,您使用培训数据开发模型,并对验证数据进行第一次测试。然后进行超参数调优,并选择最佳模型。该模型将在测试数据集上进行测试。一旦测试数据集上的结果令人满意,您将在生产中部署该模型。
https://datascience.stackexchange.com/questions/41758
复制相似问题