Гиперпараметры контролируют, как обучается модель машинного обучения, и влияют на качество модели. Тогда поиск лучших гиперпараметров является одним из важных этапов моделирования машинного обучения.
Алгоритмы обучения поставляются с гиперпараметрами по умолчанию. Эти значения обеспечивают более точные результаты в большинстве ситуаций. Этот подход используется, когда мы начинаем процесс моделирования. Леса решений Tensorflow также предоставляют шаблоны гиперпараметров (hyperparameter_template=”benchmark_rank1).
Существует два основных подхода к настройке гиперпараметров.
- Ручная настройка — мы можем выбирать разные значения и выбирать значения, которые работают лучше всего.
- Автоматическая настройка. Мы можем использовать алгоритмы настройки для автоматического поиска наилучших значений гиперпараметров.
Мы можем обучить модель с автоматической настройкой гиперпараметров и ручным определением гиперпараметров.
Мой код доступен на Github Нажмите здесь
Объект тюнера содержит все конфигурации тюнера (пространство поиска, оптимизатор, пробную версию и цель).
tuner = tfdf.tuner.RandomSearch(num_trials=20) tuner.choice("max_depth", [4, 5, 6, 7]).choice("num_trees",[300,400])
Затем обучите модель
# Specify the model. model_1 = tfdf.keras.RandomForestModel(verbose=2,tuner=tuner) # Train the model. model_1.compile(metrics=["accuracy"]) model_1.fit(train_ds)
Мы можем обучить модель с автоматической настройкой гиперпараметров и автоматическим определением гиперпараметров (рекомендуемый подход).
# Create a Random Search tuner with 50 trials and automatic hp configuration. tuner_2 = tfdf.tuner.RandomSearch(num_trials=50, use_predefined_hps=True) # Define and train the model. model_2 = tfdf.keras.RandomForestModel(tuner=tuner_2) model_2.fit(train_ds, verbose=2)
Сводка
Когда мы настраиваем тюнер вручную, мы должны вручную добавлять дополнительные параметры. Некоторые параметры действительны только для определенных значений других,
Пример :
- Параметр max_depth в основном полезен, когда growing_strategy=LOCAL, тогда как max_num_nodes лучше подходит, когда growing_strategy strong>=BEST_FIRST_GLOBAL
Когда мы используем подход автоматической настройки гиперпараметров, он автоматически ищет наилучшую комбинацию гиперпараметров, обеспечивающую максимальную производительность модели. Этот метод может сэкономить много времени и усилий по сравнению с настройкой гиперпараметров вручную.
Ресурсы