Как работает n_points в skopt BayesSearchCV?
Я не понимаю, как работают n_points в skopt BayesSearchCV. Как я понял, поиск Байеса последовательный. Но в skopt BayesSearchCV мы можем установить параметр n_point, который указывает количество настроек параметров для параллельной выборки. Как работает этот параллелизм? Выполняет ли он количество независимых байесовских поисков n_points или выполняет пакетную байесовскую оптимизацию?
1 ответ
На основе исходного кода,
BayesSearchCV
генерирует и пробует пакет наборов параметров размером
n_points
на каждом этапе оптимизации. (видеть
BayesSearchCV._step
а также
optimzer.ask
)
Таким образом, наборы параметров в пакете генерируются с одинаковым объемом «знаний» о пространстве параметров. Это компенсирует более быстрый поиск в пространстве параметров (при условии, что
n_jobs
> 1) с повышенным риском использования некачественных наборов параметров.
Обратите внимание, что размер партии будет вычтен из
n_iter
подсчитывается, поэтому появляется различие между количеством испробованных наборов параметров и количеством итераций байесовской оптимизации. Например, если
n_iter=100
а также
n_points=5
то будет 20 раундов оптимизации.