Итак, в первом примере рассмотрим телекоммуникационную компанию, в которой с применением методов машинного обучения решается задача прогнозирования склонности абонентов к приобретению дополнительных услуг. Специфика данной задачи заключается в том, что есть только небольшой процент абонентской базы оператора, кто готов подключить дополнительные услуги. Продажа дополнительных услуг происходит через контактный центр компании, и ресурсы для проведения подобных обзвонов ограничены. Таким образом, необходимо настроить модель таким образом, чтобы в небольшой выборке было сконцентрировано максимально возможное количество абонентов, готовых приобрести дополнительные услуги оператора (то есть, возможно, «зачерпнуть» не всех склонных абонентов, но при этом максимально уменьшить долю не склонных абонентов в выборке).
Второй пример, как было отмечено, относится в области здравоохранения. Рассмотрим одно из отделений медицинской клиники, специализирующейся на серьезных пищеварительных заболеваниях (язва желудка, хронический гастрит, онкологические заболевания брюшной полости и пр. Пациенты с обычными отравлениями в данное отделение не попадают. В качестве эксперимента в отделении решили ввести практику прогнозирования возникновения серьезного заболевания брюшной полости у пациентов, базируясь на их амбулаторной карте. Была разработана предиктивная модель для определения пациентов, у которых с высокой вероятностью может возникнуть подобное заболевание. Отметим, что так как на кону стояли жизнь и здоровье пациентов, модель должна была определять всех пациентов, у которых заболевание действительно случится по факту, иными словами, чтобы максимально сократить количество ложных срабатываний модели в случае положительного исхода (то есть ситуаций, когда модель определяет отсутствие заболевания при его наличии).
Данные примеры демонстрируют, что разные задачи бинарной классификации могут требовать разных подходов к решению. Для оптимальной настройки модели необходимо понимать, как правильно интерпретировать полученные результаты, которые можно оценить с использованием метрик качества моделей бинарной классификации:
· точность модели (precision);
· полнота модели (recall);
· доля правильных ответов (accuracy);
· ROC AUC [17, с. 73-86].
Также необходимо понимание того, какие исходы возникают при решении задач бинарной классификации. Для этого необходимо рассмотреть матрицу ошибок (confusion matrix), описание которой дано в Таблице 2.
Таблица 2
Матрица ошибок при решении задач бинарной классификации Николай Палкин - «Логистическая регрессия и ROC-анализ - математический аппарат», 2006
https://basegroup.ru/community/articles/logistic
|
Фактически |
|||
|
Модель |
Положительно |
Отрицательно |
|
|
Положительно |
TP |
FP |
|
|
Отрицательно |
FN |
TN |
В представленной таблице введены следующие обозначения:
· TP (True Positives) - положительные случаи, классифицированные верно (истинно-положительные).
· TN (True Negatives) - отрицательные случаи, классифицированные верно (истинно-отрицательные).
· FN (False Negatives) - положительные случаи, классифицированные отрицательными (ошибка I рода, ложноотрицательные).
· FP (False Positives) - отрицательные случаи, классифицированные положительными (ошибка II рода, ложноположительные исходы) [18, с. 120-121].
Основываясь на матрице ошибок, можно определить упомянутые выше метрики качества предиктивных моделей, решающих задачу бинарной классификации (точность, полноту, долю правильных ответов, ROC AUC).
Точность модели (precision) - отношение количества положительных исходов, классифицированных верно, ко всему количеству положительно классифицированных событий:
Полнота модели (recall, данный показатель также называют sensitivity (чувствительность) и True Positive Rate (TPR)) - отношение количества положительных исходов, классифицированных верно, ко всему количеству фактически положительных событий:
Доля правильных ответов (accuracy) - отношение количества всех исходов, классифицированных верно, ко всем существующим событиям:
Для разбора метрики ROC AUC введем еще одно понятие - False Positive Rate (FPR) - показатель, равный отношению ложноположительных исходов ко всем фактически отрицательным исходам:
ROC AUC (Area under the ROC-curve) - площадь под ROC-кривой - показатель, который характеризует значения метрик TPR и FPR в зависимости от выбранного вероятностного порога t. Рассчитывается как площадь под ROC-кривой [21].
ROC-curve (Receiver Operating Characteristic, рабочая характеристика приёмников) - график, позволяющий определить качество модели, решающей задачу бинарной классификации [21].
Построение ROC-кривой при решении задачи бинарной классификации происходит следующим образом: при построении модели алгоритм выдаёт некоторую оценочную вероятность принадлежности объекта к классу 1.
Предположим, модель спрогнозировала вероятности, представленные в Таблице 3. В первую очередь, необходимо упорядочить строки таблицы по убыванию оценочных вероятностей, в результате чего получится результат, представленный в Таблице 4.
Таблица 3
Исходные данные и оценка алгоритма
|
Id записи |
Класс (факт) |
Оценка алгоритма |
|
|
1 |
0 |
0.5 |
|
|
2 |
0 |
0.1 |
|
|
3 |
0 |
0.25 |
|
|
4 |
1 |
0.6 |
|
|
5 |
1 |
0.2 |
|
|
6 |
1 |
0.3 |
|
|
7 |
0 |
0.0 |
Таблица 4
Исходные данные и оценка алгоритма
|
Id записи |
Класс (факт) |
Оценка алгоритма |
|
|
4 |
1 |
0.6 |
|
|
1 |
0 |
0.5 |
|
|
6 |
1 |
0.3 |
|
|
3 |
0 |
0.25 |
|
|
5 |
1 |
0.2 |
|
|
2 |
0 |
0.1 |
|
|
7 |
0 |
0.0 |
Для построения ROC-кривой необходимо взять единичный квадрат на координатной плоскости (Рисунок 1), поделить его на j равных частей горизонтальными линиями и на i - вертикальными, где j - количество единиц среди фактических меток класса (в нашем случае j = 3), i - число нулей (i = 4). В результате квадрат разбивается сеткой на j Ч i блоков.
После выполненных действий можно переходить к построению. Для этого необходимо пройти по строкам Таблицы 2 сверху вниз и прорисовывать на сетке отрезки, переходя от одного узла к другому. Построение начинается из точки (0, 0). Если значение метки класса в просматриваемой строке равно одному, то делается шаг наверх; если ноль - вправо. В конечном итоге график придет в точку (1, 1), так как будет произведено j шагов вверх и i шагов вправо.
Рисунок 1 Пример построения ROC-кривой
Детальное описание данной ROC-кривой представлено в Таблице 5:
Таблица 5
Детальное описание построения ROC-кривой
|
Id записи |
Класс (факт) |
Оценка алгоритма |
TPR |
FPR |
Комментарий |
|
|
Шаг 0 |
0 |
0 |
t > 0.6, определены положительными: 0 |
|||
|
4 |
1 |
0.6 |
1/3 |
0 |
0.5 < t ? 0.6, определены положительными: 1 |
|
|
1 |
0 |
0.5 |
1/3 |
0.25 |
0.3 < t ? 0.5, определены положительными: 2 |
|
|
6 |
1 |
0.3 |
2/3 |
0.25 |
0.25 < t ? 0.3, определены положительными: 3 |
|
|
3 |
0 |
0.25 |
2/3 |
0.5 |
0.2 < t ? 0.25, определены положительными: 4 |
|
|
5 |
1 |
0.2 |
1 |
0.5 |
0.1 < t ? 0.2, определены положительными: 5 |
|
|
2 |
0 |
0.1 |
1 |
0.75 |
0.0 < t ? 0.1, определены положительными: 6 |
|
|
7 |
0 |
0.0 |
1 |
1 |
t = 0.0, определены положительными: 7 |
Ранее было отмечено, что решение вариативных задач бинарной классификации зачастую требует различных подходов в зависимости от поставленных целей. Каждая из описанных выше метрик помогает откалибровать предиктивную модель в соответствии с целями и задачами. Но перед настройкой модели необходимо определиться с алгоритмом, который будет взят за основу для моделирования.
1.2 Обзор алгоритмов для решения задачи бинарной классификации
Существует огромное множество алгоритмов, методов и их разновидностей для решения задач бинарной классификации:
· Алгоритмическая композиция:
o бустинг (вариативные методы, в основе которых лежат различные базовые алгоритмы);
o бэггинг;
o и др.
· Байесовский классификатор:
o линейный дискриминант Фишера;
o метод ближайших соседей;
o наивный байесовский классификатор;
o и др.
· Индукция правил:
o решающее дерево;
o решающий лес;
o и др.
· Линейный разделитель:
o логистическая регрессия;
o машина опорных векторов (support vector machine, SVM);
o и др.
· Нейронная сеть:
o гибридная сеть встречного распространения;
o персептрон;
o и др.
· Сокращение размерности:
o метод главных компонент;
o метод независимых компонент;
o и др. [22, с. 45-94].
В рамках данного исследования будут рассмотрены только наиболее популярные и эффективные методы, использующиеся при решении задач бинарной классификации.
1.2.1 Бустинг
Градиентный бустинг (от англ. boosting - улучшение) - метод является последовательностью построения ансамбля алгоритмов машинного обучения, когда каждый новый алгоритм стремится компенсировать ошибки, возникшие при построении композиции ранее построенных алгоритмов.
Градиентный бустинг очень популярен среди аналитиков данных благодаря своей эффективности при решении большого количества проблем, в том числе задач бинарной классификации.
Сильными сторонами данного метода являются простота, гибкость и широкая функциональность.
Из слабых сторон можно выделить частые случаи переобучения моделей при некорректной настройке алгоритма [23, с. 142-153].
1.2.2 Машина опорных векторов
Машина опорных векторов (support vector machine, SVM) - алгоритм машинного обучения, относящийся к бинарным классификаторам.
Принцип работы метода опишем с помощью примера. Даны точки на плоскости (обучающая выборка), разбитые на два класса (А и В) (Рисунок 2). Красная линия, проведенная на плоскости, разделяет эти классы. Новые точки, не принадлежащие обучающей выборке, будут разделяться на классы в соответствии со следующим алгоритмом:
· Точка выше прямой попадает в класс А;
· Точка ниже прямой попадает в класс В.
Рисунок 2 Демонстрация работы машины опорных векторов
Стоит отметить, что в пространствах высоких размерностей прямая не будет являться разделителем классов, так как понятие «ниже прямой» или «выше прямой» теряет всякий смысл. Поэтому в качестве разделителей классов необходимо рассматривать гиперплоскости - пространства, размерность которых на единицу меньше размерности исходного пространства. В , например, гиперплоскостью является двумерная плоскость.
В описанном примере существует несколько прямых, разделяющих классы (Рисунок 3):
Рисунок 3 Альтернативные разделяющие прямые
С точки зрения точности классификации лучше всего выбрать прямую, расстояние от которой до каждого класса максимально. Другими словами, выберем ту прямую, которая разделяет классы наилучшим образом (красная прямая на Рисунке 3). Такая прямая, а в общем случае -- гиперплоскость, называется оптимальной разделяющей гиперплоскостью.
Вектора, лежащие ближе всех к разделяющей гиперплоскости, называются опорными векторами (support vectors). На Рисунке 3 они помечены красными кругами.
К преимуществам метода относятся следующие факторы:
· SVM является наиболее быстрым методом нахождения решающих функций.
· Метод сводится к решению задачи квадратичного программирования, которая всегда имеет одно решение.
· Метод находит разделяющую полосу максимальной ширины, что позволяет осуществлять более уверенную классификацию.
Среди недостатков выделяют следующие факторы:
· Метод чувствителен к шумам и стандартизации данных.
· Не существует общего подхода к автоматическому выбору ядра и построению спрямляющего пространства в случае линейной неразделимости классов [24, с. 82-85].
1.2.3 Решающее дерево
Деревья решений - один из методов автоматизированного анализа данных, который позволяет интерпретировать данные в иерархической структуре, где каждому объекту соответствует один узел, дающий единственный ответ. Решающие деревья строятся по определенным правилам формата «если … то …».
Сильными сторонами данного метода являются быстрый процесс обучения, возможность получения сформированных правил на естественном языке, интуитивно понятная модель классификации.
Из слабых сторон выделяют трудность восприятия, сложность настройки моделей, базирующихся на данном методе [25].
1.2.4 Логистическая регрессия
Логистическая регрессия - алгоритм построения линейного классификатора, который позволяет оценивать вероятности принадлежности объектов к классам. В общем смысле метод предназначен для анализа связей между несколькими независимыми (экзогенными) переменными и зависимой (эндогенной).