Hyperopt: a Python library for model selection and hyperparameter optimization

J. Bergstra, Brent Komer, C. Eliasmith, Daniel L. K. Yamins, David D. Cox
{"title":"Hyperopt: a Python library for model selection and hyperparameter optimization","authors":"J. Bergstra, Brent Komer, C. Eliasmith, Daniel L. K. Yamins, David D. Cox","doi":"10.1088/1749-4699/8/1/014008","DOIUrl":null,"url":null,"abstract":"Sequential model-based optimization (also known as Bayesian optimization) is one of the most efficient methods (per function evaluation) of function minimization. This efficiency makes it appropriate for optimizing the hyperparameters of machine learning algorithms that are slow to train. The Hyperopt library provides algorithms and parallelization infrastructure for performing hyperparameter optimization (model selection) in Python. This paper presents an introductory tutorial on the usage of the Hyperopt library, including the description of search spaces, minimization (in serial and parallel), and the analysis of the results collected in the course of minimization. This paper also gives an overview of Hyperopt-Sklearn, a software project that provides automatic algorithm configuration of the Scikit-learn machine learning library. Following Auto-Weka, we take the view that the choice of classifier and even the choice of preprocessing module can be taken together to represent a single large hyperparameter optimization problem. We use Hyperopt to define a search space that encompasses many standard components (e.g. SVM, RF, KNN, PCA, TFIDF) and common patterns of composing them together. We demonstrate, using search algorithms in Hyperopt and standard benchmarking data sets (MNIST, 20-newsgroups, convex shapes), that searching this space is practical and effective. In particular, we improve on best-known scores for the model space for both MNIST and convex shapes. The paper closes with some discussion of ongoing and future work.","PeriodicalId":89345,"journal":{"name":"Computational science & discovery","volume":"8 1","pages":"014008"},"PeriodicalIF":0.0000,"publicationDate":"2015-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1088/1749-4699/8/1/014008","citationCount":"614","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computational science & discovery","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1088/1749-4699/8/1/014008","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 614

Abstract

Sequential model-based optimization (also known as Bayesian optimization) is one of the most efficient methods (per function evaluation) of function minimization. This efficiency makes it appropriate for optimizing the hyperparameters of machine learning algorithms that are slow to train. The Hyperopt library provides algorithms and parallelization infrastructure for performing hyperparameter optimization (model selection) in Python. This paper presents an introductory tutorial on the usage of the Hyperopt library, including the description of search spaces, minimization (in serial and parallel), and the analysis of the results collected in the course of minimization. This paper also gives an overview of Hyperopt-Sklearn, a software project that provides automatic algorithm configuration of the Scikit-learn machine learning library. Following Auto-Weka, we take the view that the choice of classifier and even the choice of preprocessing module can be taken together to represent a single large hyperparameter optimization problem. We use Hyperopt to define a search space that encompasses many standard components (e.g. SVM, RF, KNN, PCA, TFIDF) and common patterns of composing them together. We demonstrate, using search algorithms in Hyperopt and standard benchmarking data sets (MNIST, 20-newsgroups, convex shapes), that searching this space is practical and effective. In particular, we improve on best-known scores for the model space for both MNIST and convex shapes. The paper closes with some discussion of ongoing and future work.
Hyperopt:用于模型选择和超参数优化的Python库
基于序列模型的优化(也称为贝叶斯优化)是最有效的函数最小化方法之一。这种效率使得它适合于优化训练缓慢的机器学习算法的超参数。Hyperopt库为在Python中执行超参数优化(模型选择)提供了算法和并行化基础设施。本文提供了关于Hyperopt库使用的介绍性教程,包括搜索空间的描述、最小化(串行和并行)以及最小化过程中收集的结果的分析。本文还概述了Hyperopt-Sklearn,这是一个提供Scikit-learn机器学习库自动算法配置的软件项目。根据Auto-Weka,我们认为分类器的选择甚至预处理模块的选择可以放在一起来表示一个单一的大超参数优化问题。我们使用Hyperopt定义了一个包含许多标准组件(例如SVM、RF、KNN、PCA、TFIDF)和将它们组合在一起的常见模式的搜索空间。通过在Hyperopt和标准基准数据集(MNIST、20-新闻组、凸形)中使用搜索算法,我们证明了搜索这个空间是实用和有效的。特别是,我们改进了MNIST和凸形状的模型空间的最知名分数。论文最后讨论了正在进行的和未来的工作。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信