каковы параметры оптимизации байеса для настройки параметров? - PullRequest
0 голосов
/ 06 ноября 2019

Я использую байесовскую оптимизацию для настройки параметров SVM для задачи регрессии. В следующем коде, какое должно быть значение init_grid_dt = initial_grid? Я получил верхнюю и нижнюю границы параметров sigma и C SVM, но не знаете, какой должна быть начальная сетка?

В одном из примеров в Интернете они взяли случайные результаты поиска в качестве входных данных для начальной сетки. Код следующий:

ctrl <- trainControl(method = "repeatedcv", repeats = 5)

svm_fit_bayes <- function(logC, logSigma) {
   ## Use the same model code but for a single (C, sigma) pair. 
   txt <- capture.output(
     mod <- train(y ~ ., data = train_dat,
                  method = "svmRadial",
                  preProc = c("center", "scale"),
                  metric = "RMSE",
                  trControl = ctrl,
                  tuneGrid = data.frame(C = exp(logC), sigma = exp(logSigma)))
  )
list(Score = -getTrainPerf(mod)[, "TrainRMSE"], Pred = 0)
 }
lower_bounds <- c(logC = -5, logSigma = -9)
 upper_bounds <- c(logC = 20, logSigma = -0.75)
 bounds <- list(logC = c(lower_bounds[1], upper_bounds[1]),
                logSigma = c(lower_bounds[2], upper_bounds[2]))

## Create a grid of values as the input into the BO code
 initial_grid <- rand_search$results[, c("C", "sigma", "RMSE")]
 initial_grid$C <- log(initial_grid$C)
 initial_grid$sigma <- log(initial_grid$sigma)
 initial_grid$RMSE <- -initial_grid$RMSE
 names(initial_grid) <- c("logC", "logSigma", "Value")

library(rBayesianOptimization)

    ba_search <- BayesianOptimization(svm_fit_bayes,
                                       bounds = bounds,
                                       init_grid_dt = initial_grid, 
                                       init_points = 0, 
                                       n_iter = 30,
                                       acq = "ucb", 
                                       kappa = 1, 
                                       eps = 0.0,
                                       verbose = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...