结合算法选择和超参数优化(CASH优化)

机器学习模型的选择和配置可能是应用机器学习中最大的挑战。

为了发现什么最适合给定的分类或回归预测建模任务,必须进行受控的实验。考虑到大量的数据准备方案、学习算法和模型超参数,这可能会让人不知所措。

常用的方法是使用捷径,例如使用流行的算法或测试少量具有默认超参数的算法。

一个现代的替代方案是将数据准备、学习算法和算法超参数的选择视为一个大型全局优化问题。这种表述通常被称为“结合算法选择和超参数优化”,或简称“CASH优化”。

在这篇文章中,您将了解机器学习模型选择的挑战以及被称为CASH优化的现代解决方案。

阅读本文后,你将了解:

  • 机器学习模型和超参数选择的挑战。
  • 使用流行模型或做出系列顺序决策的捷径。
  • 现代AutoML所依据的“结合算法选择和超参数优化”的表述。

让我们开始吧。

Combined Algorithm Selection and Hyperparameter Optimization (CASH Optimization)

结合算法选择和超参数优化(CASH优化)
照片由 Bernard Spragg. NZ 拍摄,部分权利保留。

概述

本教程分为三个部分;它们是:

  1. 模型和超参数选择的挑战
  2. 模型和超参数选择的解决方案
  3. 结合算法选择和超参数优化

模型和超参数选择的挑战

机器学习算法与预测建模任务之间没有明确的映射关系。

我们无法查看一个数据集就知道要使用什么最佳算法,更不用说用于准备数据的最佳数据转换,或者给定模型的最佳配置了。

相反,我们必须使用受控的实验来发现什么最适合给定的数据集。

因此,应用机器学习是一门经验性学科。它更多的是工程和艺术,而不是科学。

问题在于,有数十种,甚至上百种机器学习算法可供选择。每种算法可能有几十个超参数需要配置。

对于初学者来说,问题的范围是压倒性的。

  • 从哪里开始?
  • 从什么开始?
  • 什么时候放弃一个模型?
  • 什么时候坚持一个模型?

大多数从业者,无论是有经验还是没有经验,都采用了几种标准解决方案来解决这个问题。

模型和超参数选择的解决方案

让我们来看看选择数据转换、机器学习模型和模型超参数方面最常见的两种捷径。

使用流行的算法

一种方法是使用流行的机器学习算法。

面对如此大的自由度,做出正确选择可能很困难,许多用户会根据声誉或直观吸引力来选择算法,或者让超参数保持默认值。当然,这种方法可能导致性能远不如最佳方法和超参数设置。

Auto-WEKA:分类算法的组合选择和超参数优化,2012。

例如,如果似乎每个人都在谈论“随机森林”,那么随机森林就成为了您遇到的所有分类和回归问题的最佳算法,并且您将实验限制在随机森林算法的超参数上。

  • 捷径 #1:使用“随机森林”或“xgboost”等流行算法。

随机森林在广泛的预测任务中确实表现良好。但我们无法知道它是否对给定的数据集有益,甚至是最佳选择。风险在于,我们可能可以用一个更简单的线性模型获得更好的结果。

一种解决方法可能是测试一系列流行的算法,这引出了下一个捷径。

顺序测试转换、模型和超参数

另一种方法是将问题视为一系列顺序决策。

例如,审查数据并选择使数据更趋于高斯分布、去除异常值等的数据转换。然后测试一套具有默认超参数的算法,并选择一个或几个表现良好的算法。然后调整这些表现最佳模型的超参数。

  • 捷径 #2:顺序选择数据转换、模型和模型超参数。

这是我建议的快速获得良好结果的方法;例如

这种捷径也可能有效,并降低了错过对您的数据集表现良好的算法的可能性。缺点则更微妙,如果您正在寻求出色或卓越的结果,而不是仅仅快速获得好的结果,它就会影响您。

风险在于,在选择模型之前选择数据转换,可能意味着您会错过能最大程度发挥算法作用的数据准备序列。

同样,在选择模型超参数之前选择模型或模型子集,意味着您可能会错过一个具有非默认超参数的模型,该模型比所选模型子集及其后续配置中的任何模型都表现更好。

AutoML中的两个重要问题是(1)没有一种单一的机器学习方法在所有数据集上都表现最佳,(2)一些机器学习方法(例如非线性SVM)高度依赖于超参数优化。

— 第115页,自动化机器学习:方法、系统、挑战,2019。

一种解决方法是在算法抽查时,抽查每个算法的良好或表现良好的配置。这只是一个部分的解决方案。

有一个更好的方法。

结合算法选择和超参数优化

选择数据准备管道、机器学习模型和模型超参数是一个搜索问题。

每个步骤中的可能选择定义了一个搜索空间,而单个组合代表该空间中的一个点,该点可以通过数据集进行评估。

高效地导航搜索空间被称为全局优化。

在机器学习领域,这一点已经得到了长期的理解,尽管可能是默示的,但通常关注的是问题的某一个方面,例如超参数优化。

重要的见解是,每个步骤之间都存在依赖关系,这会影响搜索空间的大小和结构。

……[这个问题]可以看作是一个单一的层次化超参数优化问题,其中甚至算法的选择本身也被视为一个超参数。

— 第82页,自动化机器学习:方法、系统、挑战,2019。

这要求数据准备和机器学习模型,以及模型超参数,必须构成优化问题的范围,并且优化算法必须了解它们之间的依赖关系。

这是一个具有挑战性的全局优化问题,尤其因为依赖关系,也因为在数据集上估计机器学习模型的性能是随机的,导致性能分数分布存在噪声(例如,通过重复k折交叉验证)。

……学习算法及其超参数的组合空间非常难以搜索:响应函数带有噪声,空间是高维的,包含类别和连续的选择,并包含层次结构依赖关系(例如,学习算法的超参数只有在选择了该算法时才有意义;集成方法中的算法选择只有在选择了该集成方法时才有意义;等等)。

Auto-WEKA:分类算法的组合选择和超参数优化,2012。

Chris Thornton 等人在他们 2013 年的论文《Auto-WEKA:分类算法的组合选择和超参数优化》中最好地描述了这一挑战。在论文中,他们将此问题称为“结合算法选择和超参数优化”,或简称“CASH优化”。

……机器学习的一个自然挑战:给定一个数据集,自动且同时地选择一个学习算法并设置其超参数以优化经验性能。我们将此称为组合算法选择和超参数优化问题(简称:CASH)。

Auto-WEKA:分类算法的组合选择和超参数优化,2012。

这种表述有时也被称为“全模型选择”或简称 FMS。

FMS 问题包括以下内容:给定一系列预处理方法、特征选择和学习算法,选择这些方法的组合,以在给定数据集上获得最低的分类错误。此任务还包括对所考虑方法的超参数的选择,从而产生一个巨大的搜索空间,该空间非常适合随机优化技术。

粒子群模型选择,2009。

Thornton 等人继续使用能够感知依赖关系的全局优化算法,即所谓的顺序全局优化算法,例如特定版本的贝叶斯优化。然后,他们继续实现他们的 WEKA 机器学习工作台的方法,称为AutoWEKA 项目

一种有前途的方法是贝叶斯优化,特别是顺序基于模型的优化(SMBO),它是一个通用的随机优化框架,可以处理类别和连续超参数,并可以利用源自条件参数的层次结构。

— 第85页,自动化机器学习:方法、系统、挑战,2019。

这现在为被称为“自动化机器学习”或简称 AutoML 的研究领域提供了主导范式。AutoML 致力于提供工具,使技术技能一般的从业者能够快速找到机器学习任务的有效解决方案,例如分类和回归预测建模。

AutoML 旨在提供有效的现成学习系统,让专家和非专家都能摆脱为手头数据集选择正确算法以及正确预处理方法和所有组件的各种超参数的繁琐且耗时的任务。

— 第136页,自动化机器学习:方法、系统、挑战,2019。

AutoML 技术由机器学习库提供,并且越来越多地作为服务提供,即所谓的机器学习即服务,或简称 MLaaS。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

论文

书籍

文章

总结

在这篇文章中,您了解了机器学习模型选择的挑战以及被称为 CASH 优化的现代解决方案。

具体来说,你学到了:

  • 机器学习模型和超参数选择的挑战。
  • 使用流行模型或做出系列顺序决策的捷径。
  • 现代AutoML所依据的“结合算法选择和超参数优化”的表述。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

发现 Python 中的快速机器学习!

Master Machine Learning With Python

在几分钟内开发您自己的模型

...只需几行 scikit-learn 代码

在我的新电子书中学习如何操作
精通 Python 机器学习

涵盖自学教程端到端项目,例如
加载数据可视化建模调优等等...

最终将机器学习带入
您自己的项目

跳过学术理论。只看结果。

查看内容

6 条关于结合算法选择和超参数优化(CASH优化)的回复

  1. Amaal 2020年9月18日 下午12:34 #

    非常感谢……信息和指导非常棒且有帮助

  2. David 2020年10月6日 下午8:35 #

    这是一篇非常棒的文章,Jason。我主要在我的机器学习问题中使用捷径2。

    但我对这个 CASH 优化技术很感兴趣。现在,如果我想在获取数据后的问题上实施 CASH 优化,我该如何进行?

    它是像一个我可以导入的库还是什么?

    再次感谢您撰写如此出色的博客。

  3. Sagar 2022年2月10日 下午9:33 #

    在 CASH 优化过程中,我们可以为模型训练过程指定超参数范围吗?

发表评论

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