KerasTuner:超参数调优 / API文档 / Tuners / 贝叶斯优化调参器

贝叶斯优化调参器

[源]

BayesianOptimization

keras_tuner.BayesianOptimization(
    hypermodel=None,
    objective=None,
    max_trials=10,
    num_initial_points=None,
    alpha=0.0001,
    beta=2.6,
    seed=None,
    hyperparameters=None,
    tune_new_entries=True,
    allow_new_entries=True,
    max_retries_per_trial=0,
    max_consecutive_failed_trials=3,
    **kwargs
)

使用高斯过程进行贝叶斯优化调参。

参数

  • hypermodelHyperModel 类实例(或接受超参数并返回 Model 实例的可调用对象)。当覆盖 Tuner.run_trial() 且不使用 self.hypermodel 时,此参数是可选的。
  • objective:一个字符串、keras_tuner.Objective 实例,或由 keras_tuner.Objective 实例和字符串组成的列表。如果是一个字符串,则将推断优化的方向(最小化或最大化)。如果是由 keras_tuner.Objective 组成的列表,我们将最小化所有需要最小化的目标项之和,并减去所有需要最大化的目标项之和。当 Tuner.run_trial()HyperModel.fit() 返回单个浮点数作为需要最小化的目标时,objective 参数是可选的。
  • max_trials:整数,最多要测试的总试验次数(模型配置)。请注意,如果搜索空间已耗尽,oracle 可能会在测试 max_trial 模型之前中断搜索。默认为 10。
  • num_initial_points:可选的随机生成样本数量,用作贝叶斯优化的初始训练数据。如果未指定,则使用超参数空间维度的 3 倍作为值。
  • alpha:浮点数,拟合期间添加到核矩阵对角线的值。它表示在贝叶斯优化中观察到的性能的预期噪声量。默认为 1e-4。
  • beta:浮点数,探索与利用的平衡因子。值越大,越倾向于探索。默认为 2.6。
  • seed:可选整数,随机种子。
  • hyperparameters:可选的 HyperParameters 实例。可用于覆盖(或提前注册)搜索空间中的超参数。
  • tune_new_entries:布尔值,指示超模型请求但未在 hyperparameters 中指定的超参数条目是否应添加到搜索空间。如果否,则将使用这些参数的默认值。默认为 True。
  • allow_new_entries:布尔值,指示是否允许超模型请求未在 hyperparameters 中列出的超参数条目。默认为 True。
  • max_retries_per_trial:整数。默认为 0。如果试验崩溃或结果无效,重试 Trial 的最大次数。
  • max_consecutive_failed_trials:整数。默认为 3。连续失败的 Trial 的最大数量。达到此数量时,搜索将停止。当所有重试均未成功时,Trial 被标记为失败。
  • **kwargs:与所有 Tuner 子类相关的关键字参数。请参阅 Tuner 的文档字符串。