Гиперпараметры контролируют, как обучается модель машинного обучения, и влияют на качество модели. Тогда поиск лучших гиперпараметров является одним из важных этапов моделирования машинного обучения.

Алгоритмы обучения поставляются с гиперпараметрами по умолчанию. Эти значения обеспечивают более точные результаты в большинстве ситуаций. Этот подход используется, когда мы начинаем процесс моделирования. Леса решений Tensorflow также предоставляют шаблоны гиперпараметров (hyperparameter_template=”benchmark_rank1).

Существует два основных подхода к настройке гиперпараметров.

  1. Ручная настройка — мы можем выбирать разные значения и выбирать значения, которые работают лучше всего.
  2. Автоматическая настройка. Мы можем использовать алгоритмы настройки для автоматического поиска наилучших значений гиперпараметров.

Мы можем обучить модель с автоматической настройкой гиперпараметров и ручным определением гиперпараметров.

Мой код доступен на 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)

Сводка

Когда мы настраиваем тюнер вручную, мы должны вручную добавлять дополнительные параметры. Некоторые параметры действительны только для определенных значений других,

Пример :

  1. Параметр max_depth в основном полезен, когда growing_strategy=LOCAL, тогда как max_num_nodes лучше подходит, когда growing_strategy strong>=BEST_FIRST_GLOBAL

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

Ресурсы

  1. https://www.tensorflow.org/decision_forests/tutorials/automatic_tuning_colab
  2. https://www.tensorflow.org/decision_forests/api_docs/python/tfdf/keras/RandomForestModel
  3. https://www.tensorflow.org/decision_forests/api_docs/python/tfdf/tuner/RandomSearch