optuna.samplers.nsgaii.BaseCrossover

class optuna.samplers.nsgaii.BaseCrossover[source]

交叉操作の基底クラス。

交叉操作は NSGAIISamplern 個の親個体のパラメータから 新しいパラメータ組み合わせを生成する際に使用されます。

Note

このクラスの具体的な実装では、数値分布からのパラメータのみを受け付ける必要があります。 現時点では、カテゴリカルパラメータに対する交叉操作(一様交叉)のみが NSGAIISampler に組み込まれています。

Methods

crossover(parents_params, rng, study, ...)

Perform crossover of selected parent individuals.

Attributes

n_parents

Number of parent individuals required to perform crossover.

abstractmethod crossover(parents_params, rng, study, search_space_bounds)[source]

選択された親個体の交叉を実行します。

このメソッドは sample_relative() で呼び出されます。

Parameters:
  • parents_params (np.ndarray) – numpy.ndarray 型で、形状は num_parents x num_parameters です。 各親個体のパラメータ空間を表します。この空間は数値パラメータに対して連続的です。

  • rng (np.random.RandomState) – numpy.random.RandomState のインスタンス。

  • study (Study) – 対象のスタディオブジェクト。

  • search_space_bounds (np.ndarray) – 変換された探索空間から構築された数値分布の範囲を表す numpy.ndarray 型で、形状は len_search_space x 2 です。

Returns:

新しいパラメータ組み合わせを含む 1 次元の numpy.ndarray 型。

Return type:

np.ndarray

abstract property n_parents: int

交叉操作に必要な親個体の数。