机器学习调参神器

在机器学习实战中,常常会涉及到超参数优化,常见的超参数优化主要包括两种策略:

(1)网格搜索

这是一种广泛使用的传统方法,它通过执行超参数调整来确定给定模型的最佳值。网格搜索通过在模型中尝试所有可能的参数组合来工作,这意味着执行整个搜索将花费大量时间,这可能会导致计算成本非常高。

(2)随机搜索

在超参数值的随机组合用于为构建的模型寻找最佳解决方案时,这种方法的工作方式不同。随机搜索的缺点是有时会漏掉搜索空间中的重要点

下面主要记录三种调参神器。 

  • Hyperopt

        Hyperopt是一个强大的python库,它的全称是Hyperparameter Optimization。用于超参数优化,由jamesbergstra开发。Hyperopt使用贝叶斯优化的形式进行参数调整,允许你为给定模型获得最佳参数。它可以在大范围内优化具有数百个参数的模型。主要使用(1)随机搜索算法(2)模拟退火算法(3)TPE算法来对某个算法模型的最佳参数进行智能搜索。

  • SKOPT

        scikit-learn 中的一个标准方法是使用sklearn.model_selection.GridSearchCV类,它为每个参数尝试一组值,并简单地枚举参数值的所有组合。随着新参数的增加,这种搜索的复杂性呈指数增长。一种更具可扩展性的方法是使用sklearn.model_selection.RandomizedSearchCV,但是它没有利用搜索空间的结构。

        Scikit-optimize 算是sklearn.model_selection.GridSearchCV的一个替代品,它利用贝叶斯优化,其中一个称为“surrogate”的预测模型用于对搜索空间进行建模,并用于尽快获得良好的参数值组合。

        SKOPT 通过创建另一个模型来简化超参数优化,该模型通过更改其超参数试图最小化初始模型损失。

  • Optuna

Optuna 是一个特别为机器学习设计的自动超参数优化软件框架.它具有命令式的, define-by-run 风格的 API.由于这种 API 的存在, 用 Optuna 编写的代码模块化程度很高, Optuna 的用户因此也可以动态地构造超参数的搜索空间.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值