Keras 3 API 文件 / KerasTuner / 預測器 / 貝葉斯優化預測器

貝葉斯優化預測器

[來源]

BayesianOptimizationOracle 類別

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

貝葉斯優化預測器。

它使用基於高斯過程模型的貝葉斯優化。使用的提取函數是置信上限 (UCB),可以在 這裡 找到。

參數

  • objective:一個字串、keras_tuner.Objective 实例或 keras_tuner.Objectives 和字串的清單。如果是一個字串,則會推斷優化的方向(最小化或最大化)。如果是 keras_tuner.Objective 的清單,我們將最小化所有目標的總和以最小化,減去所有目標的總和以最大化。當 Tuner.run_trial()HyperModel.fit() 返回單個浮點數作為最小化的目標時,objective 參數是可选的。
  • max_trials:整數,最多要測試的試驗(模型配置)總數。請注意,如果搜索空間已耗盡,預測器可能會在測試 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 發生當機或結果無效,則重試 Trial 的最大次數。
  • max_consecutive_failed_trials:整數。預設值為 3。連續失敗的 Trial 次數上限。達到此數目時,搜尋將會停止。當所有重試均未成功時,Trial 會被標記為失敗。