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

貝葉斯優化器

[來源]

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:整數,最多要測試的試驗(模型配置)總數。請注意,如果搜索空間已耗盡,預測器可能會在測試 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 會被標記為失敗。
  • **kwargs:與所有 Tuner 子類別相關的關鍵字引數。請參閱 Tuner 的說明文件。