----------------------记录自西瓜书
大多数学习算法都有些参数需要设定,参数配置不同,学得模型的性能往往有显著差别。因此,在进行模型评估与选择时,除了要对适用学习算法进行选择,还需要对算法参数进行设定,这就是通常所说的“参数调节”。
我们可能马上就想到,调参和算法选择没什么本质区别:对每种参数配置都训练出模型,然后把对应最好模型的参数作为结果。这样的考虑基本时正确的,但有一点需要注意:学习算法的很多参数是在实数范围内取值,因此,对每种参数配置都训练出模型是不可行的。现实中常用的做法,是对每个参数选定一个范围和变化步长,例如在【0,0.2】范围内以0.05为步长,则实际要评估的候选参数数值有5个,最终是从这5个候选值中产生选定值。显然,这样选定的参数值往往不是“最佳”值,但这是在计算开销和性能估计之前进行折中的结果,通过这个折中,学习过程中变得可行。事实上,即便在进行这样的这种后,调参往往仍很困难。很多强大的学习算法有不少参数需要设定,这将导致极大的调参工程量,以至于在不少应用任务中,参数调得不好往往对最终模型性能有关键性影响。
给定包含m个样本得数据集D,在模型评估与选择过程中由于需要留出一部分数据进行评估测试,事实上我们只使用了一部分数据训练模型。因此,在模型选择完成后,学习算法和参数配置已选定,此时应该用数据集D重新训练模型。这个模型在训练过程中使用了所有m个样本,这才是我们最终提交给用户得模型。
调参时使用得数据被称作验证集