防止过拟合
训练 BigQuery ML 模型时经常会遇到过拟合的问题。当模型与训练数据的匹配过于紧密时就会出现过拟合,这会导致模型在新数据上表现不佳。BigQuery ML 支持两种防止过拟合的方法:早停法和正则化。
如需了解如何修改下述选项,请参阅 CREATE MODEL
语句。
早停法
早停法是 BigQuery ML 中预防过拟合的默认方法。启用早停法后,系统会在训练期间监控留出数据的损失,并在最近迭代的损失改进幅度低于阈值时停止训练。由于训练期间不使用留出数据,因此这是对模型在新数据上的损失的合理估算。early_stop
、min_rel_progress
、data_split_method
和 data_split_eval_fraction
选项用于控制早停法的行为。
正则化
正则化可防止模型权重过大,防止模型与训练数据的匹配过于紧密。BigQuery ML 支持两种方法来控制模型权重的大小:L1 正则化和 L2 正则化。
默认情况下,l1_reg
和 l2_reg
的值为零,这会停用正则化。在某些数据集上,为 l1_reg
和 l2_reg
设置正值将改进经过训练的模型在新数据上的表现。正则化参数的最佳值通常是通过反复试验确定的,试验通常会使用几个数量级的值(例如,0.01、0.1、1、10 和 100)。
以下是关于使用正则化的一些建议:
如果您正在试验正则化参数,请尝试停用早停法,以使正则化的效果更清晰。
如果特征数量大于训练集的大小,请尝试使用较大的正则化参数值。当每个特征只有少量观察结果时,过拟合的风险会更大。
如果您担心很多特征与预测标签无关,请尝试将
l1_reg
设置为大于l2_reg
的值,反之亦然。有理论证据表明,当存在许多不相关特征时,L1 正则化的效果更好。
L1 正则化的另一个好处是,它会将许多模型权重设置为零,这有助于确定最相关特征以及训练紧凑模型。
后续步骤
- 如需大致了解 BigQuery ML,请参阅 BigQuery ML 简介。
- 如需开始使用 BigQuery ML,请参阅在 BigQuery ML 中创建机器学习模型。
- 如需详细了解如何使用模型,请参阅以下内容: