Байесовская оптимизация и гипербэнд (BOHB) настройка гиперпараметров с примером

Bayesian Optimization and Hyperband (BOHB) for Hyperparameter Tuning with an Example.

Модели машинного обучения часто требуют настройки гиперпараметров для достижения наилучших результатов. Настройка гиперпараметров может быть трудоемкой и затратной задачей, поскольку она включает в себя экспериментирование с различными комбинациями параметров для нахождения оптимальных настроек. Байесовская оптимизация и Hyperband (BOHB) – это передовая техника, которая использует байесовскую оптимизацию и алгоритм Hyperband для эффективного поиска лучших гиперпараметров для моделей машинного обучения. В этой статье мы рассмотрим, что такое BOHB, его преимущества и предоставим практический пример настройки гиперпараметров для модели XGBoost с использованием BOHB.

Что такое BOHB?

BOHB означает Байесовскую оптимизацию и Hyperband. Он объединяет два мощных концепта:

  1. Байесовскую оптимизацию: Это вероятностная модельная оптимизационная техника, которая использует замещающую модель (обычно гауссовский процесс) для моделирования целевой функции (например, точность модели) и принимает обоснованные решения о том, где исследовать гиперпространство следующим шагом. Она особенно полезна, когда целевая функция дорого вычисляется.
  2. Hyperband: Hyperband – это алгоритм выделения ресурсов, который эффективно использует ограниченный бюджет (например, время или вычисления) для настройки гиперпараметров. Он постепенно распределяет ресурсы наиболее перспективным конфигурациям гиперпараметров и отбрасывает неэффективные.

BOHB объединяет эти два концепта для создания эффективного процесса оптимизации гиперпараметров.

Преимущества BOHB

  1. Эффективность: BOHB эффективно использует ресурсы, фокусируясь на перспективных конфигурациях гиперпараметров. Он рано отбрасывает плохо работающие конфигурации, экономя ценное время вычислений.
  2. Масштабируемость: BOHB хорошо масштабируется для больших пространств гиперпараметров и может работать как с непрерывными, так и с категориальными гиперпараметрами. Это делает его подходящим для настройки широкого спектра моделей машинного обучения.
  3. Автоматическая конфигурация: BOHB автоматизирует процесс настройки гиперпараметров, уменьшая необходимость в ручном вмешательстве. Это особенно полезно при работе с комплексными моделями и пространствами гиперпараметров.
  4. Современная производительность: BOHB часто превосходит традиционные методы оптимизации гиперпараметров, такие как сеточный поиск и случайный поиск, в терминах нахождения оптимальных гиперпараметров.

Пример: Обучение с использованием популяции и XGBoost

Теперь давайте рассмотрим практический пример использования BOHB для оптимизации гиперпараметров модели XGBoost.

Шаг 1: Импорт библиотек и загрузка данных

Импортируйте необходимые библиотеки, включая xgboost для классификатора XGBoost, NumPy для числовых операций, load_iris для загрузки набора данных Iris и связанные с BOHB библиотеки.

Шаг 2: Загрузка и подготовка данных

Загрузите набор данных Iris с помощью load_iris() и разделите его на обучающий и тестовый наборы в соотношении 75-25. Этот набор данных будет использован для обучения и проверки модели XGBoost.

Шаг 3: Определение класса BOHB Worker

Этот шаг определяет целевую функцию, которую BOHB будет использовать для оценки производительности каждой конфигурации гиперпараметров. Целевая функция должна возвращать отрицательное значение, где более низкие значения указывают на лучшую производительность. В данном случае целевая функция просто является отрицательным значением точности на тестовом наборе данных.

Шаг 4: Определение пространства поиска гиперпараметров

Этот шаг определяет конфигурационное пространство для гиперпараметров, которые мы хотим настроить. Конфигурационное пространство – это словарь, который отображает каждый гиперпараметр на диапазон возможных значений.

Шаг 5: Инициализация оптимизатора BOHB

Этот шаг создает объект оптимизатора BOHB. Параметр config_space указывает конфигурационное пространство для гиперпараметров.

Шаг 6: Запуск оптимизации

Этот шаг запускает оптимизацию BOHB. Параметр objective function указывает целевую функцию для использования, а параметр budget указывает количество оценок, которые необходимо выполнить.

Шаг 7: Получение лучших гиперпараметров и оценки

Этот шаг получает лучшую конфигурацию гиперпараметров, найденную BOHB, и выводит ее на консоль.

После выполнения приведенного выше кода лучшая конфигурация параметров, найденная BOHB, выглядит так:

Заключение

В постоянно развивающейся области машинного обучения стремление к оптимальной производительности модели часто начинается с настройки гиперпараметров. Байесовская оптимизация и Hyperband (BOHB) являются мощным решением этой задачи, эффективно навигируя по сложному пространству гиперпараметров для обнаружения конфигураций, максимизирующих производительность модели. В этой статье рассматриваются принципы работы BOHB, его преимущества и практическое применение с использованием популярного алгоритма XGBoost.

Эффективность, масштабируемость и автоматизация BOHB делают его привлекательным выбором для оптимизации гиперпараметров. Его способность адаптивно выделять ресурсы на перспективные конфигурации, отбрасывая неэффективные, ускоряет процесс оптимизации и сохраняет ценные вычислительные ресурсы.

Представленный пример кода демонстрирует, как BOHB легко интегрируется в рабочий процесс машинного обучения. Используя эту мощную технику, ученые-исследователи данных и практики машинного обучения могут упростить настройку гиперпараметров, сосредоточившись на разработке и внедрении моделей.

У вас есть какие-либо вопросы по этой статье? Оставьте комментарий и задайте свой вопрос; я постараюсь на него ответить.

Спасибо за чтение!