Комбинированный метод настройки гиперпараметров математической модели
- Авторы: Пальмов С.В.1, Диязитдинова А.А.1
-
Учреждения:
- Поволжский государственный университет телекоммуникаций и информатики
- Выпуск: Том 21, № 3 (2023)
- Страницы: 56-62
- Раздел: Новые информационные технологии
- URL: https://journals.eco-vector.com/2073-3909/article/view/633724
- DOI: https://doi.org/10.18469/ikt.2023.21.3.08
- ID: 633724
Цитировать
Полный текст
Аннотация
Автоматизация процессов обработки данных является важным направлением в области информационных технологий. Основное внимание исследователей, как правило, сосредоточено на обучении интеллектуальных систем. Одним из ключевых аспектов упомянутого процесса является подбор гиперпараметров моделей. В работе рассмотрен комбинированный метод настройки гиперпараметров классификационной математической модели. Он совмещает в себе возможности двух известных подходов: полного и ограниченного переборов. Сначала для поиска предварительной оценки максимума значения метрики качества модели применяется первый из них. Далее посредством второго создается окончательная оценка достижимого качества и формируется список сочетаний значений гиперпараметров, максимизирующих эффективность классификатора. Проверка метода осуществлена посредством авторского программного обеспечения, созданного с применением алгоритма стохастического градиентного спуска. Полученные результаты свидетельствуют об эффективности предложенного метода.
Полный текст
Введение
Построение математических моделей в настоящее время является распространенной задачей, с которой сталкиваются исследователи в различных областях. Такая ситуация вызвана значительным интересом к методам машинного обучения. Создание искусственного разума пока не представляется возможным, однако системы, в той или иной мере имитирующие «разумное» поведение, получили широкое распространение, темпы которого продолжают возрастать; требуется решать все более трудные задачи. Последний факт значит, что сложность математических моделей, лежащих в основе создаваемых «интеллектуальных» продуктов, также увеличивается. Одна из характеристик сложности модели – число ее гиперпараметров [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») и уменьшение числа сочетаний до пяти?
Вывод
Из полученных результатов следует, что метод продемонстрировал достаточную высокую эффективность: доля обнаруженных сочетаний с максимальным значением метрики качества колеблется около единицы, даже при принудительном снижении требований к качеству получаемых моделей. Следовательно, представляется оправданным сделать вывод о возможности практического применения предложенного авторами метода при решении реальных задач, связанных с разработкой интеллектуальных систем.
Об авторах
Сергей Вадимович Пальмов
Поволжский государственный университет телекоммуникаций и информатики
Автор, ответственный за переписку.
Email: psvzo@yandex.ru
к.т.н., доцент, доцент кафедры информационных систем и технологий (ИСТ)
Россия, СамараАльфия Асхатовна Диязитдинова
Поволжский государственный университет телекоммуникаций и информатики
Email: a.diyazitdinova@psuti.ru
ст. преподаватель кафедры ИСТ
Россия, СамараСписок литературы
- Helena.4.0 – новый алгоритм для подбора гиперпараметров. URL: https://habr.com/ru/companies/rosbank/articles/763026/ (дата обращения: 15.11.2023).
- Hyperparameter Tuning with GridSearchCV. URL: https://www.mygreatlearning.com/blog/gridsearchcv/ (дата обращения: 17.11.2023).
- RandomizedSearchCV to Find OPTIMAL Parameters in Python. URL: https://www.projectpro.io/recipes/find-optimal-parameters-using-randomizedsearchcv-for-regression (дата обращения: 17.11.2023).
- Градиентный спуск – полный, пакетный и стохастический. URL: https://craftappmobile.com/градиентный-спуск-полный-пакетный-и-с/ (дата обращения: 18.11.2023).
- Sklearn.linear_model.SGDClassifier. URL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier (дата обращения: 18.11.2023).
- Что такое Scikit Learn – гайд по популярной библиотеке Python для начинающих. URL: https://datastart.ru/blog/read/chto-takoe-scikit-learn-gayd-po-populyarnoy-biblioteke-python-dlya-nachinayuschih (дата обращения: 19.11.2023).
- Пальмов С.В., Диязитдинова А.А., Губарева О.Ю. Исследование телекоммуникационного трафика средствами аналитической системы Orange // Моделирование, оптимизация и информационные технологии. 2019. Т. 7, № 1(24). С. 378–386. doi: 10.26102/2310-6018/2019.24.1.031
- Нормально делай – нормально будет: нормализация на практике – методы и средства Data Preparation. URL: https://bigdataschool.ru/blog/нормализация-методы-средства-data-preparation.html (дата обращения: 18.11.2023).
- How to Manually Optimize Machine Learning Model Hyperparameters. URL: https://machinelearningmastery.com/manually-optimize-hyperparameters/ (дата обращения: 18.11.2023).
- What is the Difference between a Parameter and a Hyperparameter? URL: https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ (дата обращения: 18.11.2023).
