Combined method for tuning hyperparameters of a mathematical model

Cover Page

Cite item

Full Text

Abstract

Automation of data processing processes is an important direction in the field of information technology. The main focus of researchers is usually on training intelligent systems. One of the key aspects of this process is the selection of hyperparameters for models. This research paper analyzes a combined method for tuning hyperparameters in a classification mathematical model. The method integrates the functionalities of two well-established approaches: exhaustive search and limited search. Initially, the first approach is employed to discover a preliminary estimation of the model’s quality metric’s maximum value. Subsequently, the second approach is utilized to generate a final estimation of achievable quality and compile a list of hyperparameter value combinations that optimize the classifier’s efficiency. To verify the validity of the method, custom software was developed using the stochastic gradient descent algorithm. The results obtained from the experiment demonstrate the effectiveness of the proposed method.

Full Text

Введение

Построение математических моделей в настоящее время является распространенной задачей, с которой сталкиваются исследователи в различных областях. Такая ситуация вызвана значительным интересом к методам машинного обучения. Создание искусственного разума пока не представляется возможным, однако системы, в той или иной мере имитирующие «разумное» поведение, получили широкое распространение, темпы которого продолжают возрастать; требуется решать все более трудные задачи. Последний факт значит, что сложность математических моделей, лежащих в основе создаваемых «интеллектуальных» продуктов, также увеличивается. Одна из характеристик сложности модели – число ее гиперпараметров [10]. «Ручной» подбор оптимальной конфигурации малоэффективен [9]. Существует две группы методов для автоматизации указанного процесса: полный и ограниченный перебор. Каждый из них обладает определенными достоинствами и недостатками.

Существуют реализации как методов первой группы (например, «Grid Search», GS) [2], так и второй (например, «Randomized Search», RS) [3]. Кроме этого, разработаны альтернативные решения (например, «Helena4»).

Алгоритм «Grid Search» получил свое название из-за способа, которым выполняется обход пространства поиска. Создается «сетка» (grid) доступных значений для каждого гиперпараметра и затем перебираются их комбинации. Таким образом, исследуются все участки сетки в поисках оптимального сочетания.

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

RS, в отличие от GS, выбирает случайные комбинации на каждой итерации, что позволяет заметно снизить время, затрачиваемое на поиск решения, но ценой возможности появления сильной корреляции между качеством получаемых результатов и числом итераций.

Основная идея алгоритма «Helena4» состоит в поэтапном уменьшении объема пространства, в котором осуществляется поиск максимума функции. При этом уменьшение объема пространства осуществляется не за счет уменьшения количества измерений, а посредством сокращения диапазона, в котором ищется максимум. Этот диапазон сокращается по каждому измерению. С течением времени объем пространства, на котором алгоритм ищет максимум, сводится к небольшой величине, в котором и находится максимум функции [1].

Достоинства: достаточно высокое качество получаемых результатов (со слов автора). Недостатки: сложность алгоритма.

Предлагаемый метод

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

Определенные значения некоторого гиперпараметра могут по-разному влиять на скорость построения модели (при сохранении максимального качества последней). Таким образом, появится возможность выбрать вариант, удовлетворяющий паре критериев: qlt → max, t → min, а не только первому (qlt – качество модели, t – время ее формирования). Например, гиперпараметр h1 может принимать два значения: «1» и «2». Пусть максимальные значения метрики качества (вероятность правильного распознавания объекта), формируемые на основе h1 моделей, будут равными: mh1=1=mh1=2, а время, затрачиваемое на обучение, – нет: th1=1=th1=2. Вывод очевиден: необходимо использовать значение «2».

Предлагаемый метод позволяет достаточно быстро найти часть подобных сочетаний, поскольку использует сочетание GS и RS.

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

Обобщенно работу метода можно описать следующим образом:

  1. Выбрать гиперпараметр (h*) категориального типа, который имеет наибольшую вариативность значений, то есть: h*=argmax(hH)V(h), где H – множество гиперпараметров категориального типа, V(h) – функция, возвращающая вариативность значений гиперпараметра h.
  2. Выбрать одно из значений h* и зафиксировать его. На остальные h такие ограничения не накладываются.
  3. Выполнить GS в указанных в п. 2 рамках. При необходимости, если получено низкое значение mGS (это решение принимает пользователь), возможно повторение прогона для другого значения h*. Число повторных прогонов желательно установить равным единице или несколько превышающим данный порог.
  4. Выполнить RS для всей сетки (без ограничений п. 1). Число повторных прогонов желательно установить превышающим единицу (задается пользователем, исходя из доступных времени / вычислительных ресурсов). Число итераций RS выбирается много меньшим числа итераций из п. 1. Возможно потребуется более одного выполнения п. 4.
  5. Критерий останова сформулирован так:

NД:NNД, mRSmGS,

где NД – достаточное число сочетаний (определяется пользователем), N – общее число сочетаний, mGS и mRS – максимальные значения метрик качества для моделей, полученных при помощи GS и RS.

Программная реализация предложенного метода

Для демонстрации возможностей предложенного метода было создано программное обеспечение (ПО) на Python. Графический интерфейс представлен на рисунке 1. Использовались готовые реализации GS и RS (библиотека scikit-learn) [6]. Интерфейс описан в таблице 1.

 

Рисунок 1. Главное окно ПО

 

Рисунок 2. Основное меню ПО

 

Таблица 1. Элементы интерфейса ПО

Элемент

Описание

Параметры для GS и RS

Число циклов проверок

Число повторных прогонов для одного набора значений гиперпараметров

Степень логирования

Уровень детализации сообщений, выводимых по ходу процесса подбора параметров

Число блоков

Число блоков (folds) перекрестной проверки

Предобработка

Размер кэша заданий для процессора

Число сочетаний

Число итераций для RS

Основное меню

Загрузить данные (с обработкой / без обработки)

Входные данные могут быть загружены «как есть» или с дополнительной обработкой, заключающейся в кодировке строковых значений переменных

Загрузить настройки

Загрузка диапазонов значений гиперпараметров из конфигурационного файла

Автонастройка

Применение GS или RS (r)

 

В работе для формирования математических моделей используется алгоритм стохастического градиентного спуска [4]. Конфигурационный файл содержит соответствующие гиперпараметры [5] и диапазоны их значений. Пример указанной информации представлен в таблице 2.

 

Таблица 2. Содержимое конфигурационного файла (пример)

Гиперпараметр

Значение

loss

hinge, log_loss, modified_huber, squared_hinge, perceptron, squared_error, huber, epsilon_insensitive, squared_epsilon_insensitive

penalty

l2, l1, elasticnet, None

alpha

0.0001

l1_ratio

0.15

fit_intercept

True, False

max_iter

1000

tol

0.001, None

shuffle

True, False

verbose

0

epsilon

0.1

n_jobs

-1

random_state

10

learning_rate

optimal, constant, invscaling, adaptive

eta0

0.00001

power_t

0.5

early_stopping

False, True

validation_fraction

0.1

n_iter_no_change

5

class_weight

balanced, None

warm_start

False, True

average

False, True

 

Также предусмотрена возможность настройки размера очереди заданий для процессора, что способствует более полному использованию ресурсов компьютера.

Кроме этого, в ПО реализована предобработка входных данных (нормализация к интервалу [0, 1]) [8].

Алгоритм работы с созданным ПО:

  1. Отредактировать конфигурационный файл (или создать его в случае отсутствия).
  2. Запустить ПО.
  3. Задать требуемые настройки GS.
  4. Загрузить данные (одним из двух доступных способов).
  5. Загрузить настройки.
  6. Выполнить поиск посредством GS.
  7. Выполнить поиск посредством RS.

Результаты выполнения п. 6 выводятся в консоль.

После каждого выполнения п. 7 автоматически формируется файл, в строках которого содержатся значения параметров каждой итерации, а также лучшее значение метрики качества для каждого сочетания. Изучив данный массив информации, пользователь получит перечень наборов значений гиперпараметров, способных порождать модели максимального качества (или близким к нему).

Исследование возможностей разработанного ПО

Была проведена серия экспериментов, направленная на демонстрацию возможностей предлагаемого метода. В ее ходе производилось тестирование ПО при различных настройках. Ниже приведено краткое описание каждого эксперимента и его входные данные. Результаты, полученные в ходе экспериментов, представлены в таблице 3.

 

Таблица 3. Результаты экспериментов

Номер эксперимента

Результат

Метрика качества (МК)

Значение МК

Число сочетаний с определенной МК, шт.

1

МКGS

0,938

1

2

МКRS

0,938

49

0,685

1

3

МКRS

0,938

49

0,763

1

4

МКRS

0,938

50

5

МКRS

0,938

48

0,880

1

0,826

6

МКRS

0,938

47

0,702

1

0,616

0,588

 

Использовался модифицированный датасет (было исключено поле «time») из [7].

Эксперимент № 1. Заключался в выполнении пп. 1–3 обобщенного описания работы метода.

h* = «loss», h*(loss) = «hinge». Остальные настройки соответствуют данным в таблице 2 и рисунок 1 (секция «Параметры Grid Search»).

Эксперимент № 2. Заключался в выполнении пп. 4–5 обобщенного описания работы метода.

Число циклов проверок RS, шт.: 50. Остальные настройки соответствуют данным в таблица 2 и рисунок 1 (секция «Параметры Randomized Search»).

Во втором эксперименте были получены высокие результаты. Имея такой «запас прочности», попытаемся оценить, как скажется на качестве моделей ограничение диапазонов значений гиперпараметров.

Эксперимент № 3. Проверим, как повлияет на качество снижение значения гиперпараметра «maxiter» (максимальное количество итераций) c «1000» до «100»? Все остальные настройки эквивалентны № 2.

Эксперимент № 4. Проверим, как повлияет на качество снижение значения гиперпараметра «maxiter» c «1000» до «100» и выключение «фиксированной» рандомизации (random_state = «None»)? Все остальные настройки эквивалентны № 2.

Эксперимент № 5. Проверим, как повлияет на качество снижение значения гиперпараметра «maxiter» c «1000» до «100», выключение «фиксированной» рандомизации (random_state = «None») и уменьшение числа сочетаний до семи?

Эксперимент № 6. Проверим, как повлияет на качество снижение значения гиперпараметра «maxiter» c «1000» до «100», выключение «фиксированной» рандомизации (random_state = «None») и уменьшение числа сочетаний до пяти?

Вывод

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

×

About the authors

Sergey V. Palmov

Povolzhskiy State University of Telecommunications and Informatics

Author for correspondence.
Email: psvzo@yandex.ru

Associated Professor of Information Systems and Technologies Department, PhD in Technical Science

Russian Federation, Samara

Diyazitdinova A. Alfiya

Povolzhskiy State University of Telecommunications and Informatics

Email: a.diyazitdinova@psuti.ru

Senior Teacher of Information Systems and Technologies Department

Russian Federation, Samara

References

  1. Helena.4.0 – A new algorithm for selecting hyperparameters. URL: https://habr.com/ru/companies/rosbank/articles/763026/ (accessed: 15.11.2023). (In Russ.)
  2. Hyperparameter Tuning with GridSearchCV. URL: https://www.mygreatlearning.com/blog/gridsearchcv/ (accessed: 17.11.2023).
  3. RandomizedSearchCV to Find Optimal Parameters in Python. URL: https://www.projectpro.io/recipes/find-optimal-parameters-using-randomizedsearchcv-for-regression (accessed: 17.11.2023).
  4. Gradient descent – full, batch and stochastic. URL: https://craftappmobile.com/градиентный-спуск-полный-пакетный-и-с/ (accessed: 18.11.2023). (In Russ.)
  5. Sklearn.linear_model.SGDClassifier. URL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier (accessed: 18.11.2023).
  6. What is Scikit Learn – A guide to the popular python library for beginners. URL: https://datastart.ru/blog/read/chto-takoe-scikit-learn-gayd-po-populyarnoy-biblioteke-python-dlya-nachinayuschih (accessed: 19.11.2023). (In Russ.)
  7. Palmov S.V., Diyazitdinova A.A., Gubareva O.Yu. Telecommunication traffic analysis using ORANGE analytical system. Modelirovanie, optimizaciya i informacionnye tekhnologii, 2019, vol. 7, no. 1(24), pp. 378–386. doi: 10.26102/2310-6018/2019.24.1.031 (In Russ.)
  8. Do things right – things will be fine: normalization in practice – methods and means of data preparation. URL: https://bigdataschool.ru/blog/нормализация-методы-средства-data-preparation.html (accessed: 18.11.2023). (In Russ.)
  9. How to Manually Optimize Machine Learning Model Hyperparameters. URL: https://machinelearningmastery.com/manually-optimize-hyperparameters/ (accessed: 18.11.2023).
  10. What is the Difference between a Parameter and a Hyperparameter? URL: https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ (accessed: 18.11.2023).

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Figure 1. Software main window

Download (432KB)
3. Figure 2. Software main menu

Download (514KB)

Copyright (c) 2024 Palmov S.V., Alfiya D.A.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies