В статье мы рассмотрим, какие метрики машинного обучения бывают и в каких случаях они применимы, разберем типичные ошибки и найдем способы, как их можно обойти, а также расскажем о постановке задачи.
Введение в метрики машинного обучения: зачем их так много и что они меряют?
«Попугаи» машинного обучения весьма особенны и очень любят обманывать статистиков, показывая якобы хороший результат для плохих моделей. Для проверки моделей машинного обучения и их совершенствования необходимо определиться с метрикой, которая измеряет качество модели, и в способах ее измерения. Обычно для этого из всех полученных данных выделяют некоторый тестовый набор, для того чтобы проверить предсказание модели на выделенном наборе. При этом выбор правильной метрики — это отдельная сложная задача.
Сначала немного о наиболее популярных типах задач машинного обучения. Чаще всего речь идет о регрессии, классификации или кластеризации. Первые две задачи относят к обучению с учителем, т.е. предполагается, что есть некий размеченный набор данных, причем известно, какое значение требуется предсказать на основе некоего опыта. Задача кластеризации подразумевает поиск некоторой структуры в данных, выделение кластеров (например, категории клиентов), при этом нет предположений об этих кластерах. Данную задачу мы оставим за рамками статьи.
Регрессия предполагает предсказание некоторого значения: например, сумму чека клиента, или износостойкость материала, или количество километров до первой поломки автомобиля.
В качестве математической метрики, которую оптимизируют алгоритмы машинного обучения (функция потерь), используют разность между предсказанием модели и истинным значением. Но если за метрику взять сумму отклонений, при одинаковом количестве отклонений в обе стороны, эта сумма будет равна нулю и не покажет реальной ошибки. Поэтому обычно используют среднюю абсолютную (сумма абсолютных значений отклонений) или среднюю квадратичную ошибку (сумма квадратов отклонений от истинного значения). Иногда рассматривают более сложную формулу, логарифмируя или извлекая квадратный корень из этих сумм. Все эти метрики могут показать, как стала считать модель: лучше или хуже, — но для их использования этот результат надо еще с чем-то сравнить.
Рисунок 1. Матрица ошибок для задачи предсказания возвращения клиента
Хорошо, когда есть уже построенная модель и можно сравнить с ней. а что делать, если модель строится впервые? В этом случае часто используют коэффициент детерминации, или R2. Коэффициент детерминации выражается как единица минус отношение средней квадратичной ошибки модели к средней квадратичной ошибке среднего значения тестовой выборки.
Иными словами, коэффициент отвечает на вопрос, насколько модель лучше предсказывает.
Отметим, что иногда ошибка в одну сторону неравнозначна ошибке в другую. Например, в модели, предсказывающей заказ товара на склад магазина, заказать чуть больше не страшно — он останется на складе, а вот нехватка товара приведет к потере покупателей. В этом случае используют квантильную ошибку, где положительные и отрицательные отклонения от истинного значения учитывают с разными весами.
В задаче классификации модель машинного обучения разделяет объекты по двум классам: уйдет пользователь с сайта или не уйдет, будет брак в детали или нет, и т.д. Часто рассматривают точность предсказания: отношение количества верно определенных классов к общему количеству предсказаний. Однако эту характеристику редко можно использовать как адекватный параметр (рис. 1).
Пример: если из 100 застрахованных страховой случай происходит только у 7, модель, которая просто предсказывает всем отсутствие страхового случая, будет иметь точность 93%, не имея никакой предсказательной силы (рис. 2).
В зависимости от специфики задачи рассматривают метрики полноты (количество правильно определенных объектов класса среди всех объектов данного класса) и точности (количество правильно определенных объектов класса среди всех объектов, которые данная модель отнесла к данному классу). Если стоит задача учитывать одновременно полноту и точность, рассматривают среднее гармоническое между этими величинами (F1-мера).
Данные метрики позволяют оценивать уже состоявшееся разбиение по классам, а большинство моделей предсказывают вероятность отношения модели к определенному классу. И в этом разрезе можно варьировать порог вероятности, относительно которого будут определяться элементы в один или другой класс (например, клиентов, которые уходят с вероятностью менее 70%, считаем остающимися). Если конкретный порог не задан, чтобы учитывать эффективность модели, рисуют график зависимости метрик от разного порога (ROC-кривая или PR-кривая [1]) и в качестве метрики рассматривают площадь под этой кривой (рис. 3).
Бизнес-метрики
Если снова обратиться к названию нашей статьи, то можно провести следующую аналогию: метрики бизнеса похожи на слонов, их невозможно не заметить, они довольно понятны, но при этом в одном «слоне» от бизнеса может уместиться большое количество «попугаев» машинного обучения. Это вопрос улучшения: какие именно метрики МО приведут к увеличению прибыли. В конечном счете бизнес-метрики в том или ином виде привязаны к росту прибыли. Однако специалистам машинного обучения напрямую привести прибыль к вышеописанным метрикам практически никогда не удается.
Используются промежуточные метрики, например:
- количество дней, которые товар лежит на складе, и количество запросов товара, когда его не оказалось;
- количество денег, которыми обладают клиенты, собирающиеся уйти;
- количество материала, которое экономится в процессе производства.
При этом, когда мы говорим об оптимизации бизнеса с помощью машинного обучения, всегда подразумевается создание двух моделей: предсказательной и оптимизационной.
Вторая модель проще, она использует предсказания первой. Ошибки в модели предсказания вынуждают закладывать больший запас в модели оптимизации, из-за этого оптимизируемая сумма становится меньше.
Пример: чем более грубо мы предсказываем поведение клиентов или вероятность брака детали, тем меньше, соответственно, мы сможем удержать клиентов или сэкономить материалов на производстве.
В общем случае при постановке задачи машинного обучения редко удается использовать общепринятые метрики успешности бизнеса (EBITDA и др.), для этого приходится углубляться в тематику и использовать метрики той области, в которой происходит внедрение машинного обучения (средний чек, посещаемость и т.д.).
Трудности перевода
Для оптимизации моделей удобно использовать метрики машинного обучения, которые не находят понимания у бизнеса. Довольно сложно транслировать площадь под ROC-кривой модели определения тональности комментария в конкретные суммы выручки. В этом смысле перед бизнесом встают две задачи: как измерить эффект? как максимизировать эффект?
С первой задачей все несколько проще, при наличии ретроспективных данных и при условии, что остальные факторы можно нивелировать или измерить. В этом случае получаемые значения сравнивают с аналогичными ретроспективными данными. Но и здесь есть проблема: с одной стороны, выборка должна быть репрезентативной, а с другой — максимально похожей на ту, на которой происходит апробация модели.
Пример: мы должны найти наиболее похожих клиентов, чтобы убедиться, что средний чек у них увеличился, но при этом клиентов должно быть достаточно, чтобы избежать выбросов, т.е. нестандартного поведения. Для решения этого вопроса можно заранее зафиксировать достаточно большую группу близких друг к другу клиентов и оценивать результат на ней в целом.
Но тут встает вопрос: как перевести выбранную метрику в функцию потерь (минимизацией которой и занимается модель) для машинного обучения? Этот процесс может быть долгим — он требует погружения разработчиков моделей в бизнес-процессы. Но если в обучении использовать метрику, зависящую от бизнеса, качество моделей сразу вырастает. Например, если модель предсказывает уходящих клиентов, в качестве бизнес-метрики можно использовать график, где по одной оси отмечено количество клиентов, работать с которыми советует модель, а по другой — общее количество денег, которое эти клиенты должны увести. С помощью такого графика бизнес-заказчик может выбрать удобную для себя точку и работать с ней. Этот график линейными преобразованиями сводится к PR-кривой (кривой, где по осям отмечены точность и полнота), что оптимизирует площадь под этой кривой одновременно с бизнес-метрикой (рис. 4).
Другим моментом будет корректирование задачи бизнеса на основании анализа данных. Например, классифицируя пользователей, посещающих сайт и совершающих покупки, возможно выделять различные классы: те, кто покупает сразу, кто долго выбирает или кто просто сравнивает и не покупает и т.д. При этом некоторые классы могут быть хорошо различимы между собой, а некоторые нет. После построения классификаторов можно понять, каких пользователей модель умеет отличать, и уже ставить перед бизнесом задачу: как работать с такими пользователями (теми, кого мы научились отличать).
Заключение
Перед постановкой задачи машинного обучения и созданием модели необходимо договориться о метрике МО. Для оптимизации модели в качестве функции ошибок имеет смысл использовать одну из стандартных метрик. А выбор самой метрики, ее веса и другие параметры необходимо согласовать с заказчиком, преобразовав бизнес-метрики в модели машинного обучения. Этот этап может занять время, сравнимое с разработкой самой модели, но без него приступать к исследованиям бессмысленно. Существенно снизить риски ошибок в метриках может вовлечение специалистов-математиков в бизнес-процессы. Только понимание предметной области и совместная постановка задачи на уровне бизнеса и статистики позволят эффективно оптимизировать модель. Когда эти расчеты реализованы, можно увидеть, сколько денег было заработано (или сэкономлено) с каждым улучшением модели.