optuna.samplers.nsgaii.UniformCrossover

class optuna.samplers.nsgaii.UniformCrossover(swapping_prob=0.5)[source]

NSGAIISampler 使用的均匀交叉操作。

以相等的概率从两个父个体中选择每个参数。有关均匀交叉的更多信息,请参阅以下论文:

参数:

swapping_prob (float) – 交叉过程中交换父代每个参数的概率。

方法

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

对选定的父个体执行交叉操作。

属性

n_parents

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

对选定的父个体执行交叉操作。

sample_relative() 方法中调用此方法。

参数:
  • parents_params (np.ndarray) – 维度为 num_parents x num_parametersnumpy.ndarray。表示每个父个体的参数空间。此空间对于数值参数是连续的。

  • rng (np.random.RandomState) – numpy.random.RandomState 的一个实例。

  • study (Study) – 目标研究对象。

  • search_space_bounds (np.ndarray) – 维度为 len_search_space x 2numpy.ndarray,表示由转换后的搜索空间构建的数值分布边界。

返回:

包含新参数组合的 1 维 numpy.ndarray

返回类型:

np.ndarray