Combined method for tuning hyperparameters of a mathematical model
- Authors: Palmov S.V.1, Alfiya D.A.1
-
Affiliations:
- Povolzhskiy State University of Telecommunications and Informatics
- Issue: Vol 21, No 3 (2023)
- Pages: 56-62
- Section: New information technologies
- URL: https://journals.eco-vector.com/2073-3909/article/view/633724
- DOI: https://doi.org/10.18469/ikt.2023.21.3.08
- ID: 633724
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 моделей, будут равными: , а время, затрачиваемое на обучение, – нет: . Вывод очевиден: необходимо использовать значение «2».
Предлагаемый метод позволяет достаточно быстро найти часть подобных сочетаний, поскольку использует сочетание GS и RS.
Также присутствует возможность задания числа повторных прогонов для одного набора значений гиперпараметров, следствием чего является повышение вероятности формирования более качественной оценки создаваемых моделей. Для некоторых алгоритмов доступна рандомизация начальных значений генератора случайных чисел. То есть в этом случае каждый новый прогон для фиксированного набора параметров будет порождать отличные модели. Указанное решение призвано снизить вероятность переобучения.
Обобщенно работу метода можно описать следующим образом:
- Выбрать гиперпараметр (h*) категориального типа, который имеет наибольшую вариативность значений, то есть: , где H – множество гиперпараметров категориального типа, V(h) – функция, возвращающая вариативность значений гиперпараметра h.
- Выбрать одно из значений h* и зафиксировать его. На остальные h такие ограничения не накладываются.
- Выполнить GS в указанных в п. 2 рамках. При необходимости, если получено низкое значение mGS (это решение принимает пользователь), возможно повторение прогона для другого значения h*. Число повторных прогонов желательно установить равным единице или несколько превышающим данный порог.
- Выполнить RS для всей сетки (без ограничений п. 1). Число повторных прогонов желательно установить превышающим единицу (задается пользователем, исходя из доступных времени / вычислительных ресурсов). Число итераций RS выбирается много меньшим числа итераций из п. 1. Возможно потребуется более одного выполнения п. 4.
- Критерий останова сформулирован так:
, ,
где 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].
Алгоритм работы с созданным ПО:
- Отредактировать конфигурационный файл (или создать его в случае отсутствия).
- Запустить ПО.
- Задать требуемые настройки GS.
- Загрузить данные (одним из двух доступных способов).
- Загрузить настройки.
- Выполнить поиск посредством GS.
- Выполнить поиск посредством 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, SamaraDiyazitdinova A. Alfiya
Povolzhskiy State University of Telecommunications and Informatics
Email: a.diyazitdinova@psuti.ru
Senior Teacher of Information Systems and Technologies Department
Russian Federation, SamaraReferences
- Helena.4.0 – A new algorithm for selecting hyperparameters. URL: https://habr.com/ru/companies/rosbank/articles/763026/ (accessed: 15.11.2023). (In Russ.)
- Hyperparameter Tuning with GridSearchCV. URL: https://www.mygreatlearning.com/blog/gridsearchcv/ (accessed: 17.11.2023).
- RandomizedSearchCV to Find Optimal Parameters in Python. URL: https://www.projectpro.io/recipes/find-optimal-parameters-using-randomizedsearchcv-for-regression (accessed: 17.11.2023).
- Gradient descent – full, batch and stochastic. URL: https://craftappmobile.com/градиентный-спуск-полный-пакетный-и-с/ (accessed: 18.11.2023). (In Russ.)
- 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).
- 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.)
- 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.)
- 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.)
- How to Manually Optimize Machine Learning Model Hyperparameters. URL: https://machinelearningmastery.com/manually-optimize-hyperparameters/ (accessed: 18.11.2023).
- 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).
![](/img/style/loading.gif)