机器学习中的数据验证与误差度量
在机器学习领域,从输入数据到模型预测,整个流程中数据的处理和模型的评估至关重要。我们需要考虑可用的历史数据及其局限性,以及未来用于预测的数据点。
交叉验证
在机器学习中有句名言:“所有模型都是错的,但有些是有用的”。机器学习算法能做出可重复的决策,通过验证模型性能可以确保其有用性。在机器学习里,用未参与训练的数据测试模型的过程被称为交叉验证(有时也叫样本外测试)。
为保证在有限规模数据集上估计的参数对更多数据仍然有效,我们要进行验证。通常把数据集至少分成两部分:训练集和测试集。先在训练集上估计参数,再在测试集上运行模型,以此了解模型对未见过数据点的预测质量。
graph LR
A[数据集] --> B[训练集]
A --> C[测试集]
B --> D[估计参数]
D --> E[模型]
C --> E
E --> F[评估模型质量]
在普通机器学习中,划分训练集和测试集前会随机打乱数据点。但在时间序列中,我们用较旧的数据点训练,较新的数据点测试。比如有一年客户打开邮件倾向的数据,我们可以用9个月的数据训练模型,2个月的数据验证,最后用剩下的数据测试最终性能。
验证和测试可看作嵌套过程,测试集用于检查涉及验证数据集的主要测试过程。不过,很多时候会省略验证集和测试集的区分,直接将数据集分为训练集和测试集。
需要注意术语区别:损失函数是训练模型优化过程的一部分,而指标用于评估模型。评估可以在训练后进行,也可在训
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



