0

我正在尝试使用 Optuna 在 ML 算法中测试不同的参数集。

Optuna 的自动采样非常有用,但是有没有办法将一组特定的参数强制放入 Optuna 定义的建议批次中?

例如,如果我有 ax,y 参数:

def objective(trial)
   x = trial.suggest_uniform('x', -10, 10)
   y = trial.suggest_uniform('x', -5, 5)
   return (x+y-2)**2
study = optuna.create_study(study_name='study_name')
study.optimize(objective, n_trials=10)

我还想将一组 x=0.1, y=0.2 定义为自动生成的一组。这可能吗?

将某些 ML 算法的“直观”值与其他值进行比较可能会很有趣。

4

2 回答 2

3

此外,我还看到:

study = optuna.create_study()
study.enqueue_trial({'x':0.1, 'y':0.2})
study.optimize(objective, n_trials=10)

这可能特别有趣,因为它将试验整合到研究中(稍后将所有试验分组到数据框等)

于 2020-06-04T22:14:01.247 回答
2

是的。一种方法是使用FixedTrial,它会显示您直观猜测的结果。

print(objective(optuna.trial.FixedTrial({'x': 0.1, 'y': 0.2})))

于 2020-05-28T05:06:11.747 回答