00:01
5.2网格搜索现在我们知道了如何评估一个模型的泛化能力,下面继续学习通过调看来提升模型的泛化技能。第二章和第三章中讨论过的S论中许多算法的参数设置,在尝试调参之前,重要的是要理解参数的含义,找到一个模型的重要参数,提供最佳泛化性能。参数的取值是一项。非常麻烦的任务,但对于几乎所有模型和数据来说都是必要的。由于这项任务如此常见,所以S论中有一些标准方法可以帮你完成。最常用的方法就是网格搜索great search。他主要是尝试。我们关心的参数的所有可能组合。考虑一个具有RBF镜像积函数和的和支持向量积的例子,它在SBC类中实现。正如第二当中所说,它有两个重要的参数和宽度,伽尔玛和正则化参数C。假设我们希望尝试C的取值为0.001 0.01,零点一一十和100伽马,也许这六个值。由于我想要尝试的C和伽马都有六个不同的取值,所以总共有36种参数组合。所有可能组合组成SBM参数设置表,也就是网格。
01:32
这个网格具体是什么样的,大家可以看一下书上的201页的那么一张表格。5.2.1简单网格搜索我们可以实现一个简单的网格搜索,在两个参数上使用或循环,对每种参数组合分别训练并评估一个分类器。
07:54
5.2.2。参数过拟合的风险与验证集看到这个结果。
08:02
我们可能忍不住要报告,我们找到了一个在数据集上精度达到97%的模型。然而,这种说法可能过于乐观了,或者说就是错的。其原因如下,我们尝试了许多不同的参数,并选择了在测试集上精度最高的那个,但这个精度不一定能推广到C数据上。由于我们使用测试数据进行调参,所以不能再用它来评估模型的好坏。我们最开始需要将数据划分为训练集和测试集。也是因为这个原因,我们需要一个独立的数据集来进行评估一个在创建模型时没有用到的数据集。为了解决这个问题,一种方法是再次划分数据,这样我们得到了三个数据集,用于构建模型的训练集。用于选择模型参数的验证集,也叫开发用于评估所选参数性能的测试集。
09:21
这幅图给出了这三个集合的图是。利用验证及选定最佳参数之后,我们可以利用找到的参数设置重新构建一个模型,但是要同时在训练数据和验证数据上做训练,这样我们可以利用尽可能多多的数据来构建模型。
17:08
验证题上的最高分数是96%,这比之前略低,可能是因为我们使用了更少的数据来训练模型。现在X更小,因为我们对数据集做了两次划分。但测试题上的分数,这个分数实际反映了模型的泛化能力。它也更低为92%。我们只能声称对92%的C数据正确的分类,而不是我们之前认为的97%。训练级、验证级和测试级之间的区别在于。在实践中,应用机器学习方法至关重要。任何根据测试及精度所做的选择都会将测试及信息泄露link到模型中。因此,保留一个单独的测试题是很重要的,它仅用最终的评估。好的做法是利用训练集和验证集的组合来完成所有的探索性分析与模型的选择,并保留测试题用于最终的评估。
18:24
即使对于探索性可视化也是如此。严格来说,在测试机上对不止一个模型进行评估,并选择更好的那一个。将会导致对模型精度过于乐观的一个估计。
我来说两句