来自竞争性机器学习的模型选择技巧

在对您的机器学习问题 进行抽样检查算法 并调优少数表现好的算法后,您最终需要选择一到两个最佳模型来继续进行。

这个问题称为模型选择,它可能令人烦恼,因为您需要在信息不全的情况下做出选择。这就是您创建的 测试框架 和您选择的 测试选项 至关重要。

在本篇文章中,您将发现受竞争性机器学习启发的模型选择技巧,以及如何将这些技巧提升到新的水平并像研究其他复杂系统一样研究您的测试框架。

Model Selection

模型选择
照片作者:tami.vroma,部分权利保留

竞赛中的模型选择

在机器学习竞赛中,您将获得一份数据样本,您需要根据这份数据样本来构建您的模型。

您将您对未见过的测试数据集的预测提交上去,其中一小部分预测会被评估,其准确性会在公共排行榜上报告。在竞赛结束时,您在竞赛中的排名将由您对完整测试数据集的预测决定。

在某些竞赛中,您必须选择您认为代表您最佳努力的一到两组预测(以及创建它们的模型),以与其他所有参与者竞争最终排名。选择需要您根据自己测试框架的估计准确性以及公共排行榜报告的准确性来评估模型的准确性。

这是一个模型选择问题,并且由于信息不全而具有挑战性。更糟糕的是,公共排行榜报告的准确性和您自己的私有测试框架的准确性很可能不一致。您应该选择哪个模型,以及如何在这种不确定性下做出明智的决定?

避免过拟合训练数据集

Log0 在他的文章“如何在 Kaggle 竞赛中选择您的最终模型”中探讨了这个问题。

他提到,他个人在之前的竞赛中曾遭受过训练数据集过拟合的问题,现在他努力避免这个陷阱。在竞赛中,其症状是您在公共排行榜上排名靠前,但当最终分数发布时,您的排名在私有排行榜上会下降,通常会下降很多。

他提供了一些他建议可以帮助克服这个问题的小贴士。

1. 始终使用交叉验证

他提到,单个验证数据集对模型在未见过数据上的准确性估计是不可靠的。单个小的验证数据集正是公共排行榜的实质。

他建议始终使用交叉验证 (CV) 并在选择模型时参考您自己的 CV 准确性估计,即使它可能很乐观。

2. 不要相信公共排行榜

公共排行榜非常令人分心。它向所有参与者展示了您与其他人相比有多优秀。但事实是,它充满了谎言。它不是对您模型准确性的有意义的估计,事实上,它通常是对您模型准确性的糟糕估计。

Log0 提到,与您自己的离线 CV 测试框架相比,公共排行榜分数是不稳定的。他提到,如果您的 CV 看起来不稳定,您可以增加折数,如果运行缓慢,您可以对数据样本进行操作。

这些是针对不使用交叉验证的常见反对意见的良好对策。

3. 选择多样化的模型

实现多样化。Log0 建议,如果您能够选择两个或更多模型,您应该利用这个机会选择一个多样化的模型子集。

他建议按类型或方法对模型进行分组,然后从每个组中选择最佳模型。从这个短列表中,您可以选择最终模型。

他建议选择相似的模型意味着,如果策略不佳,模型将一起失败,让您一无所有。一种反驳是,多样化是在您无法做出明确决定时使用的策略,而加倍下注可能会带来最大的回报。您需要仔细考虑您对模型的信任程度。

Log0 还警告要选择稳健的模型,例如参数很多的大模型,它们本身不太可能过拟合。

稳健测试框架的扩展

这是一篇很棒的文章,还有一些很棒的技巧,但我认为您可以而且应该做得更多。

您可以像研究任何系统一样研究您的测试框架的稳定性。

研究交叉验证框架的稳定性

您可以采用一个标准的稳健算法,并评估您的交叉验证配置中折数的稳定性。对每个交叉验证 (CV) 折执行 30 次重复,并对 CV 折数从 1 到 10 进行重复。绘制结果,并考虑给定 CV 折数的分布以及随着 CV 折从 1(您的基线)增加而导致的准确性变化。

您可以将给定 CV 折数的上限/下限用作准确性的大致不确定性。您还可以使用 CV 折数=1 与您选择的 CV 折数之间的准确性差异来纠正乐观偏差。

研究数据样本的稳定性

在抽样时可以使用类似的技巧。抽样理论是一个庞大而复杂的主题。我们可以执行与上述类似的过程,抽取 n 个给定大小的样本并估计准确性,然后尝试不同大小的样本。

将结果绘制成箱线图或类似图表,可以了解您的样本大小(以及抽样方法,如果您在进行分层或重新平衡类别 - 您可能应该尝试)的稳定性。

小心

过拟合无处不在。

对您的 CV 参数或抽样方法的研究使用了您所有可用的数据。您正在了解给定标准算法在数据集上的稳定性,但您也在选择一个使用比给定折数或用于评估模型的样本更多数据的配置。这可能导致过拟合。

尽管如此,这可能是有用且有价值的,您需要平衡过拟合这一实际问题与改进您对问题的理解。

总结

在本篇文章中,您了解了在机器学习工作中选择最终模型时可以使用的三个技巧。这些技巧对竞争性机器学习很有用,也可以用于数据分析和生产系统,在这些系统中,少数选定模型的预测会被集成。

您还了解了如何扩展这些技巧,以及如何研究您特定机器学习问题的测试框架配置,就像研究任何机器学习算法的参数一样。

对问题稳定性(由您的样本数据描述)的洞察可以为您提供关于模型在未见过数据上预期准确性的宝贵见解。

暂无评论。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。