簡體   English   中英

使用 Optuna 進行微調時使超參數加起來為 1

[英]Making hyperparameters add up to 1 when fine tuning using Optuna

我有一個看起來像這樣的函數:

def fine_tuning(x,y,model1,model2,model3,trial):
   pred1 = model1.predict(x)
   pred2 = model2.predict(x)
   pred3 = model3.predict(x)
   
   h1 = trial.suggest_float('h1', 0.0001, 1, log = True)
   h2 = trial.suggest_float('h1', 0.0001, 1, log = True)
   h3 = trial.suggest_float('h1', 0.0001, 1, log = True)

   pred = pred1 * h1 + pred2 * h2 + pred3 * h3

   return mean_absolute_error(y, pred)

此函數的問題在於 h1+h2+h3 != 1。我將如何更改此函數以使 hyperparmaters 的總和 = 1?

基本上,您正在尋找 h1、2、3 的狄利克雷分布。這是有關如何為 Optuna 實現該分布的指南: https ://optuna.readthedocs.io/en/latest/faq.html#how-do- i-suggest-variables-which-represent-the-proportion-that-are-in-accordance-with-dirichlet-distribution

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM