Github项目推荐 | Optuna - 支持剪枝&并行化的贝叶斯超参数优化框架

2019 年 1 月 22 日 AI研习社

Optuna: A hyperparameter optimization framework

Homepage:(注:一定要点击文末【阅读原文】才能访问划线链接)

https://optuna.org/

项目地址:

https://github.com/pfnet/optuna



网页 | 文档 | 安装向导 | 教程


Optuna是一种自动超参数优化软件框架,专为机器学习而设计。 它具有一个命令式的、按运行方式定义的用户API。由于我们的运行API定义,使用Optuna编写的代码具有很高的模块性,Optuna的用户可以动态构建超参数的搜索空间。


  主要特性

Optuna具有如下现代化的功能:

  • 并行分布式优化

  • 修剪没有希望的试验

  • Web仪表板


  基本概念

我们使用的术语研究 试验 如下:

  • 研究:基于目标函数的优化

  • 试验:单个执行目标函数

请参阅下面的示例代码。 研究 的目的是通过多次试验(例如,n_trials = 100)找出最佳的超参数值集(例如,分类器svm_c)。 Optuna是一个专为自动化和加速优化研究 而设计的框架。

import ...

# Define an objective function to be minimized.def
objective(trial):
   # Invoke suggest methods of a Trial object to generate hyperparameters.
   classifier_name = trial.suggest_categorical('classifier', ['SVC', 'RandomForest'])    
   if classifier_name == 'SVC':
       svc_c = trial.suggest_loguniform('svc_c', 1e-10, 1e10)
       classifier_obj = sklearn.svm.SVC(C=svc_c)    
   else:
       rf_max_depth = trial.suggest_int('rf_max_depth', 2, 32)
       classifier_obj = sklearn.ensemble.RandomForestClassifier(max_depth=rf_max_depth)

   iris = sklearn.datasets.load_iris()
   x, y = iris.data , iris.target
   score = sklearn.model_selection.cross_val_score(classifier_obj , x, y)
   accuracy = score.mean()    
   return 1.0 - accuracy  # A objective value linked with the Trial object.
   
study = optuna.create_study()  # Create a new study.
study.optimize(objective , n_trials=100)  # Invoke optimization of the objective function.


  安装

用以下的pip命令安装Optuna

$ pip install optuna

Optuna支持Python 2.7、Python 3.5或更新版本


  贡献

欢迎任何对Optuna的贡献! 当您在发送拉取请求时,请按照贡献指南进行操作。


  Licence

MIT License (查看 LICENSE).


Homepage:https://optuna.org/

项目地址:https://github.com/pfnet/optuna



【AI求职百题斩 - 每日一题】

赶紧来看看今天的题目吧!

想知道正确答案?

点击公众号菜单栏【每日一题】→【每日一题】在公众号回复“0122”即可答题获取!

点击阅读原文,查看更多内容

登录查看更多
9

相关内容

在贝叶斯统计中,超参数是先验分布的参数; 该术语用于将它们与所分析的基础系统的模型参数区分开。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【硬核书】可扩展机器学习:并行分布式方法
专知会员服务
85+阅读 · 2020年5月23日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
86+阅读 · 2020年5月11日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
Github项目推荐 | DeepHash - 深度学习哈希开源库
AI研习社
26+阅读 · 2019年4月30日
Github项目推荐 | gensim - Python中的主题建模
AI研习社
15+阅读 · 2019年3月16日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
自动机器学习工具全景图:精选22种框架
深度学习世界
8+阅读 · 2018年8月23日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
Arxiv
4+阅读 · 2018年4月30日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【硬核书】可扩展机器学习:并行分布式方法
专知会员服务
85+阅读 · 2020年5月23日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
86+阅读 · 2020年5月11日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
相关资讯
Github项目推荐 | Pytorch TVM 扩展
AI研习社
11+阅读 · 2019年5月5日
Github项目推荐 | DeepHash - 深度学习哈希开源库
AI研习社
26+阅读 · 2019年4月30日
Github项目推荐 | gensim - Python中的主题建模
AI研习社
15+阅读 · 2019年3月16日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
自动机器学习工具全景图:精选22种框架
深度学习世界
8+阅读 · 2018年8月23日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
Top
微信扫码咨询专知VIP会员