optuna.samplers.RandomSampler
- class optuna.samplers.RandomSampler(seed=None)[source]
ランダムサンプリングを行うサンプラー
このサンプラーは*独立サンプリング*に基づいています。 「独立サンプリング」の詳細については
BaseSampler
も参照してください。使用例
import optuna from optuna.samplers import RandomSampler def objective(trial): x = trial.suggest_float("x", -5, 5) return x**2 study = optuna.create_study(sampler=RandomSampler()) study.optimize(objective, n_trials=10)
- Parameters:
seed (int | None) – 乱数生成器のシード値
メソッド
after_trial
(study, trial, state, values)Trial post-processing.
before_trial
(study, trial)Trial pre-processing.
infer_relative_search_space
(study, trial)Infer the search space that will be used by relative sampling in the target trial.
Reseed sampler's random number generator.
sample_independent
(study, trial, param_name, ...)Sample a parameter for a given distribution.
sample_relative
(study, trial, search_space)Sample parameters in a given search space.
- after_trial(study, trial, state, values)
トライアルの事後処理
このメソッドは目的関数の実行後、トライアルが終了して状態が保存される直前に呼び出されます。
Note
v2.4.0で実験的機能として追加されました。インターフェースは予告なく変更される可能性が あります。詳細は https://github.com/optuna/optuna/releases/tag/v2.4.0 を参照してください。
- Parameters:
study (Study) – 対象のスタディオブジェクト
trial (FrozenTrial) – 対象のトライアルオブジェクト このオブジェクトを変更する前にコピーを取得してください
state (TrialState) – トライアルの最終状態
values (Sequence[float] | None) – トライアルの最終値 トライアルが成功した場合、
None
ではありません
- Return type:
None
- before_trial(study, trial)
トライアルの事前処理
このメソッドは目的関数が呼び出される前、トライアルがインスタンス化された直後に呼び出されます。 より正確には、トライアルの初期化中、
infer_relative_search_space()
が呼び出される直前に実行されます。つまり、探索空間を推論する前に行うべき事前処理を担当します。Note
v3.3.0で実験的機能として追加されました。インターフェースは予告なく変更される可能性が あります。詳細は https://github.com/optuna/optuna/releases/tag/v3.3.0 を参照してください。
- Parameters:
study (Study) – 対象のスタディオブジェクト
trial (FrozenTrial) – 対象のトライアルオブジェクト
- Return type:
None
- infer_relative_search_space(study, trial)[source]
対象トライアルで使用する探索空間を推論します
このメソッドは
sample_relative()
が呼び出される直前に 実行され、このメソッドが返す探索空間が渡されます。探索空間に含まれないパラメータはsample_independent()
メソッドでサンプリングされます。- Parameters:
study (Study) – 対象のスタディオブジェクト
trial (FrozenTrial) – 対象のトライアルオブジェクト このオブジェクトを変更する前にコピーを取得してください
- Returns:
パラメータ名とパラメータの分布を含む辞書
- Return type:
See also
intersection_search_space()
はinfer_relative_search_space()
の実装例です
- reseed_rng()[source]
サンプラーの乱数生成器のシードを再設定します
このメソッドは
n_jobs>1
オプションでトライアルを並列実行する際にStudy
インスタンスによって呼び出されます。この場合、乱数生成器の状態も複製され、 同じ値が提案される可能性があります。この問題を防ぐため、各乱数生成器に異なるシードを割り当てます。- Return type:
None
- sample_independent(study, trial, param_name, param_distribution)[source]
指定された分布からパラメータをサンプリングします
このメソッドは
sample_relative()
が返す探索空間に含まれない パラメータに対してのみ呼び出されます。ランダムサンプリングや TPE など、パラメータ間の関係を 利用しないサンプリングアルゴリズムに適しています。Note
組み込みサンプラーは失敗したトライアルを無視して新しいパラメータをサンプリングします。 したがって、失敗したトライアルはサンプラーの観点では削除されたものとして扱われます。
- Parameters:
study (Study) – 対象のスタディオブジェクト
trial (FrozenTrial) – 対象のトライアルオブジェクト このオブジェクトを変更する前にコピーを取得してください
param_name (str) – サンプリングするパラメータ名
param_distribution (distributions.BaseDistribution) – サンプリングアルゴリズムの事前分布とスケールを指定する分布オブジェクト
- Returns:
パラメータ値
- Return type:
Any
- sample_relative(study, trial, search_space)[source]
指定された探索空間からパラメータをサンプリングします
このメソッドは各トライアルの開始時に1回、目的関数の評価直前に呼び出されます。 ガウス過程や CMA-ES など、パラメータ間の関係を利用するサンプリングアルゴリズムに適しています。
Note
組み込みサンプラーは失敗したトライアルを無視して新しいパラメータをサンプリングします。 したがって、失敗したトライアルはサンプラーの観点では削除されたものとして扱われます。
- Parameters:
study (Study) – 対象のスタディオブジェクト
trial (FrozenTrial) – 対象のトライアルオブジェクト このオブジェクトを変更する前にコピーを取得してください
search_space (dict[str, BaseDistribution]) –
infer_relative_search_space()
が返す探索空間
- Returns:
パラメータ名と値を含む辞書
- Return type: