问题描述
Optuna 的常见问题解答在研究期间动态调整参数范围时有一个clear answer:它不会造成任何问题,因为每个采样器都是单独定义的。
但是如何添加和/或删除参数呢? Optuna 是否能够处理此类调整?
这样做时我注意到的一件事是,在结果数据框中,这些参数为其他试验获得 nan
条目。能够将这些 nan
设置为它们在未采样时的(默认)值有什么好处吗?所有这些未知值的研究仍然合理吗?
解决方法
问题已回答here:
感谢您的提问。 Optuna 内部支持两种类型的采样:optuna.samplers.BaseSampler.sample_independent
和 optuna.samplers.BaseSampler.sample_relative
。
前者optuna.samplers.BaseSampler.sample_independent
是对每个参数独立采样的方法,不受参数增减影响。添加的参数从添加的时间开始考虑。
后者optuna.samplers.BaseSampler.sample_relative
是一种考虑参数相关性进行采样的方法,受参数增加或去除的影响。 Optuna 的默认相关搜索空间是从超参数调整开始到现在存在的参数域的乘积集。实现采样器的开发者可以实现自己的搜索空间计算方法optuna.samplers.BaseSampler.infer_relative_search_space
。这可能允许对已添加或删除的超参数考虑相关性,但这取决于采样算法,因此没有可供普通用户修改的 API。