参数设置不同,最终模型结果也会不同,因此需要进行调参.
机器学习通常设计两类参数,一类是算法的参数, 也叫做超参数,数目较少;另一类是模型的参数,有可能有上百亿个。
模型参数 (Parameters)
这些是模型在训练过程中学习的参数。例如,在线性回归中,权重和偏差就是模型参数。模型参数是通过使用训练数据和学习算法(如梯度下降)进行优化来确定的。
超参数 (Hyperparameters)
是在开始学习过程之前设置的参数,用于控制学习过程(如学习率)或模型的结构(如神经网络中的层数或每层的节点数)。常见的超参数包括学习率、批次大小、正则化参数、树的深度(在决策树或随机森林中)等。
在实际应用中,我们对于每个参数设置一个范围和步长,在几个确定的候选参数中进行选择。假设我们拥有一个包含 m 个 example 的数据集 D,我们仅仅使用大部分 example 用于训练,少部example 进行测试,用来选择模型。此时我们得到的学习算法和参数都确定,应该使用完整的数据集进行训练,得到最终交付的模型.
注意,我们在模型评估与选择时使用的是训练集 training set 和验证集 validation set,基于模型在验证集上的表现来进行模型选择和调参。在评估不同算法的泛化能力时,我们通常是使用测试集testing set 来对模型进行测试