【问题标题】:What happens when I add/remove parameters dynamically during an Optuna study?在 Optuna 研究期间动态添加/删除参数时会发生什么?
【发布时间】:2020-12-18 18:25:00
【问题描述】:

Optuna 的常见问题解答中有一个clear answer,当涉及到在研究期间动态调整参数范围时:它没有问题,因为每个采样器都是单独定义的。

但是添加和/或删除参数呢? Optuna 是否能够处理此类调整?

我在执行此操作时注意到的一件事是,在结果数据框中,这些参数会获得 nan 其他试验的条目。能够将这些nans 设置为未采样时的(默认)值会有什么好处吗?在所有这些未知值的情况下,这项研究仍然合理吗?

【问题讨论】:

    标签: python optuna


    【解决方案1】:

    问题已回答here:

    感谢您的提问。 Optuna 内部支持两种类型的采样:optuna.samplers.BaseSampler.sample_independentoptuna.samplers.BaseSampler.sample_relative

    前者optuna.samplers.BaseSampler.sample_independent是对每个参数独立采样的方法,不受参数增减影响。添加的参数从添加的时机开始考虑。

    后者optuna.samplers.BaseSampler.sample_relative是一种通过考虑参数相关性进行采样的方法,受参数增减影响。 Optuna 的默认相关搜索空间是从超参数调整开始到现在存在的参数域的乘积集。实现采样器的开发者可以实现自己的搜索空间计算方法optuna.samplers.BaseSampler.infer_relative_search_space。这可能允许为已添加或删除的超参数考虑相关性,但这取决于采样算法,因此没有供普通用户修改的 API。

    【讨论】:

      猜你喜欢
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      相关资源
      最近更新 更多