将一组特定的参数强加到采样批次中

Force one specific set of parameters into the sampled batch

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

Optuna 的自动采样非常有用,但是有什么方法可以将一组特定的参数强制到 Optuna 定义的建议批次中吗?

例如,如果我有一个 x,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 算法的 "intuitive" 值与其他值进行比较可能会很有趣。

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

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

还有,我看过:

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

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