Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 33(161)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2

Библиографическое описание:
Хорошавцев Н.Д. ИССЛЕДОВАНИЕ ПРИМЕНИМОСТИ МЕТОДА ИМИТАЦИИ ОТЖИГА ДЛЯ РЕШЕНИЯ ЗАДАЧИ КЛАССИФИКАЦИИ С НЕЛИНЕЙНОЙ ФУНКЦИЕЙ ПОТЕРЬ // Студенческий: электрон. научн. журн. 2021. № 33(161). URL: https://sibac.info/journal/student/161/227251 (дата обращения: 25.04.2024).

ИССЛЕДОВАНИЕ ПРИМЕНИМОСТИ МЕТОДА ИМИТАЦИИ ОТЖИГА ДЛЯ РЕШЕНИЯ ЗАДАЧИ КЛАССИФИКАЦИИ С НЕЛИНЕЙНОЙ ФУНКЦИЕЙ ПОТЕРЬ

Хорошавцев Никита Денисович

студент бакалавриата, 3 курс, МИРЭА-Российский технологический университет (РТУ МИРЭА),

РФ, г. Москва

STUDY OF THE APPLICABILITY OF THE ANNEALING IMITATION METHOD FOR SOLVING THE CLASSIFICATION PROBLEM WITH A NONLINEAR LOSS FUNCTION

 

Nikita Khoroshavtsev

Bachelor student, 3 course, MIREA-Russian Technological University (MIREA Russian Technical University),

Russia, Moscow

 

АННОТАЦИЯ

Задача классификации является одной из наиболее распространённых задачей машинного обучения с учителем. В виду простоты применения и эффективности, часто её решают с помощью градиентных методов, таких как градиентный спуск. Все такие методы требуют, чтобы функция потерь была кусочно дифференцируемой, поэтому для обучения используют такие функции потерь как LogLoss, на самом деле стремясь улучшить показатели по недифференцируемым метрикам, например, accuracy или ROC_AUC. В данной статье исследуется применимость метода отжига для оптимизации недифференцируемых функций потерь, а именно ROC_AUC, F1-score и accuracy.

ABSTRACT

The classification task is one of the most common supervised learning tasks. Because of its ease of use and efficiency, it is often solved using gradient techniques such as gradient descent. All such methods require the loss function to be piecewise differentiable, so they use loss functions such as LogLoss for training, in fact, trying to improve performance on non-differentiable metrics, for example, accuracy or ROC_AUC. This article examines the applicability of the annealing method to optimize undifferentiated loss functions, namely ROC_AUC, F1-score and accuracy.

 

Ключевые слова: отжиг, логистическая регрессия, классификация, функция потерь, нелинейность.

Keywords: annealing, logistic regression, classification, loss function, nonlinearity.

 

Метод отжига служит для поиска глобального минимума некоторой функции E(s), заданной для s из некоторого пространства S. Элементы множества S представляют собой состояние воображаемой физической системы, а значения функции E в этих точках используется как энергия системы e = E(s). В каждый момент предполагается заданной температура системы T, как правило, уменьшающаяся с течением времени. После попадания в состояние si при температуре T, следующее состояние генерируется с помощью функции F(si), которая создаёт новое состояние, незначительно меняя старое. Функция F(s) при фиксированных s и T задаёт случайный элемент F(s, T) со значениями в пространстве S. После генерации нового состояния si+1 = F(s, T), система с вероятностью P(ΔE, T) переходит к следующему шагу в состояние si+1, в противном случае генерация si+1 повторяется. Здесь ΔE обозначает приращение функции энергии E(si+1) – E(si).

Переформулируем алгоритм метода отжига для оптимизации логистической регрессии. Пусть S – множество векторов s = {s1, s2, …, sn | si ~ N(0, 1)}, где si – весовые коэффициенты. Тогда предсказанием классификатора в состоянии si для объекта с вектором параметров x будет:

                                                     (1)

Где x@s – скалярное произведение векторов x и s.

Проведём эксперименты, обучая алгоритм на метрики accuracy, ROC_AUC и F1. После чего проверим качество на всех 3 перечисленных метриках. Модифицируем так же сам алгоритм отжига: ограничим количество повторных попыток генерации si+1, чтобы ускорить алгоритм, возможно, потеряв при этом качество.

Применим метод отжига в этом виде к набору данных pima Indian Diabetes Database, в котором необходимо предсказать наличие диабета у пациента по таким признакам как содержание инсулина в крови, кровяное давление и т.д. Получим следующие результаты:

Таблица 1

Результаты обучения

 

Accuracy

ROC_AUC

F1

Эталонный

0.769513

0.832274

0.635439

Отжиг, обученный на Accuracy

0.648438

0.354021

0.122592

Отжиг, обученный на ROC_AUC

0.347656

0.804114

0.516879

Отжиг, обученный на F1

0.347656

0.631786

0.510636

 

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

 

Рисунок 1. Кривые обучения алгоритма отжига в зависимости от метрики на которую обучается алгоритм

 

По графикам видно, что при обучении на метрику accuracy алгоритм не увеличивает ни одну из метрик. Понять почему это происходит можно, увидев распределение классов в наборе данных: класс «0» - 500 объектов, класс «1» - 268 объектов. То есть метод отжига находит тривиальное решение, при котором все значения равны 1, и задерживается в нём.

Заметим, что при обучении на метрику ROC_AUC заметно уменьшается итоговое значение accuracy. Это происходит потому, что метрика ROC_AUC оценивает не близость ответа к правильному классу, а порядок элементов. То есть алгоритм, обученный на эту метрику, стремится лишь, чтобы объекты, принадлежащие к классу 1 получили значение на выходе алгоритма больше, чем объекты, принадлежащие к классу 0. Для решения этой проблемы сделаем регуляризацию: добавим к значению метрики стандартное отклонение разницы ответов алгоритма на обучающей выборке и 0,5:

f(w) = roc_auc_score(sigmoid(X@w)) + std(sigmoid(X@w) -0.5)                           (2)

Тогда получим следующий результат:

Таблица 2.

Результаты обучения с регуляризацией

 

Accuracy

ROC_AUC

F1

Эталонный

0.769513

0.832274

0.635439

Отжиг, обученный на ROC_AUC

0.347656

0.804114

0.516879

Отжиг, обученный на ROC_AUC с регуляризацией

0.350260

0.790363

0.517927

 

 

Рисунок 2. Кривые обучения при регуляризации ROC_AUC

 

Применение регуляризации незначительно увеличило качество по остальным метрикам, ценой уменьшения ROC_AUC. Однако, достичь таких же результатов, как и логистическая регрессия не удалось.

Графики кривых обучения стали более стабильными с применением регуляризации. Это происходит из-за того, что мы просто прибавляем коэффициент к нашей метрике, то есть «идеальный» алгоритм теперь получил бы метрику не 1, а ~1,5. Из-за этого повышается вероятность выбора направления, улучшающего метрику несмотря на температуру.

Результаты

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

 

Список литературы:

  1. Лопатин, С.А. Метод отжига. Санкт-Петербургский государственный университет, 2005. — 17 с.
  2. Pima Indians Diabetes Database [Электронный ресурс] URL: https://www.kaggle.com/uciml/pima-indians-diabetes-database

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.