как оценить качество модели машинного обучения

Наука о данных. Модуль 6

Как проверить качество модели с помощью метрик

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

В этом модуле вы узнаете:

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

Оглавление

Модуль 6. Как проверить качество модели с помощью метрик

Почему мы выбираем метрику на самом старте проекта

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

Давайте вспомним общую схему, по которой можно вести диалог и формулировать запрос к специалисту, и уточним ее, добавив в конец еще один шаг — выбор метрики. Чтобы вам было проще, разберем все на примере:

1. Определите бизнес-задачу

Вы: Компании нужно поднять выручку на 5% до конца года и…

2. Расскажите о конкретных шагах по ее достижению

Вы: … и для достижения этой цели мы хотим допродавать существующим клиентам цифровые продукты, которые будут удачно сочетаться с теми, что они уже у нас покупают. Но чтобы вероятность дополнительной покупки была высокой, рекомендации продуктов должны быть по-настоящему релевантными и качественными (по прикидкам отдела маркетинга, чтобы достичь показателей, мы должны убедить каждого десятого клиента).

3. Определите, можно ли решить задачу с помощью машинного обучения

Дата-сайентист: Можно проанализировать текущую базу клиентов, выявить их поведенческие паттерны и объединить клиентов со схожими паттернами в отдельные сегменты. Затем для каждого сегмента подобрать наиболее релевантные услуги или товары.

4. Определите, что у вас с данными, целевой переменной, объектами и прочим

Вы: У нас есть CRM (англ. Customer Relationship Management, система управления взаимоотношений с клиентами) и другие источники данных о клиентах — мы знаем, что и с какой частотой они покупали ранее, откуда они, какими еще услугами и продуктами компании пользовались или пользуются в их домохозяйстве.

Дата-сайентист: По идее, мы можем набрать достаточно признаков, а модель сама определит их веса и сгруппирует клиентов. Здесь угадывается задача кластеризации.

5. Определите метрику качества

Дата-сайентист: Итак, решено: мы строим рекомендательную систему. Остается понять, как мы определим, что алгоритм подсказывает именно то, что нужно людям? По какой метрике будем оценивать качество?

Чтобы вы могли ответить на этот вопрос, в модуле мы изучим основные метрики машинного обучения.

Метрики для задач регрессии: какие бывают, плюсы и минусы

Любой прогноз может быть не на 100% точен, а вот какое отклонение допустимо, решаете вы, исходя из задач и целей бизнеса. В этом видео Элен расскажет о пяти популярных метриках для работы с числовыми прогнозами и о том, как они помогают выявлять расхождения между оценкой модели и реальностью и «штрафовать» алгоритм за слишком неточные предсказания. Как всегда — с примерами.

Источник

Заметки Дата Сайентиста: на что обратить внимание при выборе модели машинного обучения — персональный топ-10

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Мы снова в эфире и продолжаем цикл заметок Дата Сайентиста и сегодня представляю мой абсолютно субъективный чек-лист по выбору модели машинного обучения.

Это топ-10 свойств задачи и просто пунктов (без порядка в них), с точки зрения которых я начинаю выбор модели и вообще моделирование задачи по анализу данных.

Совсем не обязательно, что у вас он будет таким же — здесь все субъективно, но делюсь опытом из жизни.

А какая у нас вообще цель? Интерпретируемость и точность — спектр

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Источник

Пожалуй самый важный вопрос, который стоит перед дата сайентист перед тем, как начать моделирование это:

В чем, собственно, состоит бизнес задача?

Или исследовательская, если речь об академии, etc.

Например, нам нужна аналитика на основе модели данных или наоборот нас только интересуют качественные предсказания вероятности того, что письмо — это спам.

Классический баланс, который я видел, это как раз спектр между интерпретируемостью метода и его точностью (как на графике выше).

Но по сути нужно не просто прогнать Catboost / Xgboost / Random Forest и выбрать модельку, а понять, что хочет бизнес, какие у нас есть данные и как это будет применяться.

На моей практике — это сразу будет задавать точку на спектре интерпретируемости и точности (чтобы это не значило здесь). А исходя из этого уже можно думать о методах моделирования задачи.

Тип самой задачи

Дальше, после того как мы поняли, что хочет бизнес — нам нужно понять к какому математическому типу задач машинного обучения относится наша, например

Данные: имеются два класса и набор записей без меток:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

И нужно построить модель, которая разметит эти самые данные:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Или как вариант никаких меток нет и нужно выделить группы:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Как например вот здесь:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Картинки отсюда.

А вот собственно пример иллюстрирует разницу между двумя понятиями: классификация, когда N > 2 классов — multi class vs. multi label

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Взято отсюда

Вы удивитесь, но очень часто этот пункт тоже стоит напрямую проговорить с бизнесом — это может сэкономить вам действительно много сил и времени. Не стесняйтесь рисовать картинки и давать простые примеры (но не слишком упрощенные).

Точность и как она определена

Начну с простого примера, если вы банк и выдаете кредит, то на неудачном кредите мы теряем в пять раз больше, чем получаем на удачном.

Поэтому вопрос об измерении качества работы первичен! Или представьте, что у вас присутствует существенный дисбаланс в данных, класс А = 10%, а class B = 90%, тогда классификатор, который просто возвращает B всегда умеет 90% точность! Скорее всего это не то, чтобы хотели увидеть, обучая модель.

Поэтому критично определить метрику оценки модели включая:

Model post analysis

Часто приходится проводить аналитику на основе самой модели. Например, какой вклад имеют разные признаки в исходный результат: как правило, большинство методов могут выдать что-то похожее на вот это:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Однако, что если нам нужно знать направление — большие значения признака A увеличивают принадлежность классу Z или наоборот? Назовем их направленные feature importance — их можно получить у некоторых моделей, например, линейных (через коэффициенты на нормированных данных)

Для ряда моделей, основанных на деревьях и бустинге — например, подходит метод SHapley Additive exPlanations.

Это один из методов анализа модели, который позволяет заглянуть «под капот» модели.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Он позволяет оценить направление эффекта:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Причем для деревьев (и методах на них основанных) он точный. Подробнее об этом тут.

Noise level — устойчивость, линейная зависимость, outlier detection и тд

Устойчивость к шуму и все эти радости жизни — это отдельная тема и нужно крайне внимательно анализировать уровень шума, а также подбирать соответствующие методы. Если вы уверены, что в данных будут выбросы — нужно их обязательно качественно чистить и применять методы устойчивые к шуму (высокий bias, регуляризация и тд).

Также признаки могут быть коллинеарны и присутствовать бессмысленные признаки — разные модели по-разному на это реагируют. Приведем пример на классическом датасете German Credit Data (UCI) и трех простых (относительно) моделях обучения:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Как мы видим просто модель гребневой регрессии, которая имеет высокий bias и регуляризацию, показывает результаты даже лучше, чем CatBoost — тут много признаков не слишком полезных и коллинеарных, поэтому методы, которые к ним устойчивы показывают хорошие результаты.

Еще про DT — а если чуть чуть поменять датасет? Feature importance может поменяться, так как decision trees вообще чувствительные методы, даже к перемешиванию данных.

Вывод: иногда проще — лучше и эффективнее.

Масштабируемость

Действительно ли вам нужен Spark или нейросети с миллиардами параметров?

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

Спарк усложняет отладку, добавляет overhead и усложняет разработку — не стоит его применять там, где не нужно. Классика.

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

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

И конечно же необходимо учитывать, что если у вас и правда крупные данные, то модель должна быть способной работать на них — как обучаться по батчам, либо иметь какие-то механизмы распределенного обучения (и тд). А там же не слишком терять в скорости при увеличении объема данных. Например, мы знаем, что kernel methods требуют квадрата памяти для вычислений в dual space — если вы ожидаете увеличение размера данных в 10 раз, то стоит дважды подумать, а умещаетесь ли вы в имеющиеся ресурсы.

Наличие готовых моделей

Еще одна важнейшая деталь — это поиск уже натренированных моделей, которые можно до-обучить, идеально подходит, если:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Pre-trained модели как GPT-2 и BERT могут существенно упростить решение вашей задачи и если уже натренированные модели существуют — крайне рекомендую не проходит мимо и использовать этот шанс.

Feature interactions и линейные модели

Некоторые модели лучше работают, когда между признаками (features) нет сложных взаимодействий — например весь класс линейных моделей — Generalized Additive Models. Есть расширение этих моделей на случай взаимодействия двух признаков под название GA2M — Generalized Additive Models with Pairwise Interactions.

Как правило такие модели показывают хорошие результаты на таких данных, отлично регуляризируются, интерпретируемые и устойчивы к шуму. Поэтому однозначно стоит обратить на них внимание.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Однако, если признаки активно взаимодействуют группами больше 2, то данные методы уже не показывают таких хороших результатов.

Package and model support

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Многие крутые алгоритмы и модели из статей бывают оформлены в виде модуля или пакета для python, R и тд. Стоит реально дважды подумать, прежде чем использовать и в долгосрочной перспективе полагаться на такое решение (это я говорю, как человек написавший немало статей по ML с таким кодом). Вероятность того, что через год будет нулевая поддержка — очень высок, ибо автору скорее всего сейчас необходимо заниматься другими проектами нет времени, и никаких incentives вкладываться в развитие модуля или репозитория.

В этом плане библиотеки а-ля scikit learn хороши именно тем, что у них фактически есть гарантированная группа энтузиастов вокруг и если что-то будет серьезно поломано — это рано или поздно пофиксят.

Biases and Fairness

Вместе с автоматическими принятиями решений к нам в жизнь приходят люди недовольные такими решениями — представьте, что у нас есть какая-то система ранжирования заявок на стипендию или грант исследователя в универе. Универ у нас будет необычный — в нем только две группы студентов: историки и математики. Если вдруг система на основе своих данных и логики вдруг раздала все гранты историкам и ни одному математику их не присудила — это может неслабо так обидеть математиков. Они назовут такую систему предвзятой. Сейчас об это только ленивый не говорит, а компании и люди судятся между собой.

Условно, представьте упрощенную модель, которая просто считает цитирования статей и пусть историки друг друга цитируют активно — среднее 100 цитат, а математики нет, у них среднее 20 — и пишут вообще мало, тогда система распознает всех историков, как «хороших» ибо цитируемость высокая 100 > 60 (среднее), а математиков, как «плохих» потому что у них у всех цитируемость куда ниже среднего 20

Источник

В чём мерить будем? Как выбрать правильные ML-метрики под задачи бизнеса

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Сегодня одним из главных препятствий на пути внедрения машинного обучения в бизнес является несовместимость метрик ML и показателей, которыми оперирует топ-менеджмент. Аналитик прогнозирует увеличение прибыли? Но ведь нужно понять, в каких случаях причиной увеличения станет именно машинное обучение, а в каких — прочие факторы. Увы, но довольно часто улучшение метрик ML не приводит к росту прибыли. К тому же иногда сложность данных такова, что даже опытные разработчики могут выбрать некорректные метрики, на которые нельзя ориентироваться.

Давайте рассмотрим, какие бывают метрики ML и когда их целесообразно использовать. Разберём типичные ошибки, а также расскажем о том, какие варианты постановки задачи могут подойти для машинного обучения и бизнеса.

ML-метрики: зачем их так много?

Метрики машинного обучения весьма специфичны и часто вводят в заблуждение, показывая хорошую мину при плохой игре хороший результат для плохих моделей. Для проверки моделей и их совершенствования нужно выбрать метрику, которая адекватно отражает качество модели, и способы её измерения. Обычно для оценки качества модели используют отдельный тестовый набор данных. И как вы понимаете, выбор правильной метрики — задача сложная.

Какие задачи чаще всего решаются с помощью машинного обучения? В первую очередь это регрессия, классификация и кластеризация. Первые две — так называемое обучение с учителем: есть набор размеченных данных, на основе какого-то опыта нужно предсказать заданное значение. Регрессия — это предсказание какого-то значения: например, на какую сумму купит клиент, какова износостойкость материала, сколько километров проедет автомобиль до первой поломки.

Кластеризация — это определение структуры данных с помощью выделения кластеров (например, категорий клиентов), причём у нас нет предположений об этих кластерах. Этот тип задач мы рассматривать не будем.

Алгоритмы машинного обучения оптимизируют (вычисляя функцию потерь) математическую метрику — разность между предсказанием модели и истинным значением. Но если метрика представляет собой сумму отклонений, то при одинаковом количестве отклонений в обе стороны эта сумма будет равна нулю, и мы просто не узнаем о наличии ошибки. Поэтому обычно используют среднюю абсолютную (сумма абсолютных значений отклонений) или среднюю квадратичную ошибку (сумма квадратов отклонений от истинного значения). Иногда формулу усложняют: берут логарифм или извлекают квадратный корень из этих сумм. Благодаря этим метрикам можно оценить динамику качества вычислений модели, но для этого полученный результат нужно с чем-то сравнить.

C этим не возникнет сложностей, если уже есть построенная модель, с которой можно сравнить полученные результаты. А что если вы в первый раз создали модель? В этом случае часто используют коэффициент детерминации, или R2. Коэффициент детерминации выражается как:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Где:
R^2 — коэффициент детерминации,
et^2 — средняя квадратичная ошибка,
yt — верное значение,
yt с крышкой — среднее значение.

Единица минус отношение средней квадратичной ошибки модели к средней квадратичной ошибке среднего значения тестовой выборки.

То есть коэффициент детерминации позволяет оценить улучшение предсказания моделью.

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

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

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Рис. 1. Матрица ошибок для задачи предсказания возвращения клиента

Пример: если из 100 застрахованных за возмещением обращаются 7 человек, то модель, предсказывающая отсутствие страхового случая, будет иметь точность 93%, не имея никакой предсказательной силы.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Рис. 2. Пример зависимости фактической прибыли компании от точности модели в случае разбалансированных классов

Для каких-то задач можно применить метрики полноты (количество правильно определенных объектов класса среди всех объектов этого класса) и точности (количество правильных определенных объектов класса среди всех объектов, которые модель отнесла к этому классу). Если необходимо учитывать одновременно полноту и точность, то применяют среднее гармоническое между этими величинами (F1-мера).

С помощью этих метрик можно оценить выполненное разбиение по классам. При этом многие модели предсказывают вероятность отношения модели к определенному классу. С этой точки зрения можно изменять порог вероятности, относительно которого элементы будут присваиваться к одному или другому классу (например, если клиент уйдёт с вероятностью 60 %, то его можно считать остающимися). Если конкретный порог не задан, то для оценки эффективности модели можно построить график зависимости метрик от разных пороговых значений (ROC-кривая или PR-кривая), взяв в качестве метрики площадь под выбранной кривой.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Рис. 3. PR-кривая

Бизнес-метрики

Выражаясь аллегорически, бизнес-метрики — это слоны: их невозможно не заметить, и в одном таком «слоне» может уместиться большое количество «попугаев» машинного обучения. Ответ на вопрос, какие метрики ML позволят увеличить прибыль, зависит от улучшения. По сути, бизнес-метрики так или иначе привязаны к увеличению прибыли, однако нам почти никогда не удаётся напрямую связать с ними прибыль. Обычно применяются промежуточные метрики, например:

Первая сложнее, её результаты использует вторая. Ошибки в модели предсказания вынуждают закладывать больший запас в модели оптимизации, поэтому оптимизируемая сумма уменьшается.

Пример: чем ниже точность предсказания поведения клиентов или вероятности промышленного брака, тем меньше клиентов удаётся удержать и тем меньше объём сэкономленных материалов.

Общепринятые метрики успешности бизнеса (EBITDA и др.) редко получается использовать при постановках задач ML. Обычно приходится глубоко изучать специфику и применять метрики, принятые в той сфере, в который мы внедряем машинное обучение (средний чек, посещаемость и т.д.).

Трудности перевода

По иронии судьбы удобнее всего оптимизировать модели с помощью метрик, которые трудно понять представителям бизнеса. Как площадь под ROC-кривой в модели определения тональности комментария соотносится с конкретным размером выручки? С этой точки зрения перед бизнесом встают две задачи: как измерить и как максимизировать эффект от внедрения машинного обучения?

Первая задача проще в решении, если у вас есть ретроспективные данные и при этом остальные факторы можно нивелировать или измерить. Тогда ничто не мешает сравнить полученные значения с аналогичными ретроспективными данными. Но есть одна сложность: выборка должна быть репрезентативна и при этом максимально похожа на ту, с помощью которой мы апробируем модель.

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

Однако вы спросите: как перевести выбранную метрику в функцию потерь (минимизацией которой и занимается модель) для машинного обучения. С наскока эту задачу не решить: разработчикам модели придётся глубоко вникнуть в бизнес-процессы. Но если при обучении модели использовать метрику, которая зависит от бизнеса, качество моделей сразу вырастает. Скажем, если модель предсказывает, какие клиенты уйдут, то в роли бизнес-метрики можно использовать график, где по одной оси отложено количество уходящих, по мнению модели, клиентов, а по другой оси — общий объём средств у этих клиентов. С помощью такого графика бизнес-заказчик может выбрать удобную для себя точку и работать с ней. Если с помощью линейных преобразований свести график к PR-кривой (по одной оси точность, по второй полнота), то можно оптимизировать площадь под этой кривой одновременно с бизнес-метрикой.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Рис. 4. Кривая денежного эффекта

Заключение

Прежде чем ставить задачу для машинного обучения и создавать модель, нужно выбрать разумную метрику. Если вы собираетесь оптимизировать модель, то в качестве функции ошибок можно использовать одну из стандартных метрик. Обязательно согласуйте с заказчиком выбранную метрику, её веса и прочие параметры, преобразовав бизнес-метрики в модели ML. По длительности это может быть сравнимо с разработкой самой модели, но без этого не имеет смысла приступать к работе. Если привлечь математиков к изучению бизнес-процессов, то можно сильно уменьшить вероятность ошибок в метриках. Эффективная оптимизация модели невозможна без понимания предметной области и совместной постановки задачи на уровне бизнеса и статистики. И уже после проведения всех расчётов вы сможете оценить полученную прибыль (или экономию) в зависимости от каждого улучшения модели.

Николай Князев (iRumata), руководитель группы машинного обучения «Инфосистемы Джет»

Источник

Основные метрики задач классификации в машинном обучении

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Абрамов Роман,
Data Scientist

В каждой задаче машинного обучения ставится вопрос оценки результатов моделей.

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

Несмотря на популярность машинного обучения, во многих её сферах до сих пор не сформировалась единая теоретическая концепция. Исключением не стала и рассматриваемая область. Хоть и существуют некоторые общие рекомендации к применению метрик для некоторых задач, конечное решение лежит на плечах аналитика.

Бинарная классификация

Возьмём к примеру задачу выявления подозрения на определенное заболевание. Если у пациента оно есть, то это будет положительным классом. Если нет – отрицательным. Результатом работы модели может быть определение – следует ли «заподозрить» у пациента какой-то определенный диагноз (тогда результат = true) или нет (тогда результат = false).

Пусть какой-то набор медицинских данных характерен для данного диагноза. Если наша модель верно определила и поставила положительный класс, тогда это истинно положительный исход, если же модель ставит отрицательную метку класса, тогда это ложно отрицательный исход. В случае отсутствия диагноза у рассматриваемого набора данных исходы модели остаются аналогичными. Тогда если модель относит запись к классу положительную, то мы говорим о ложно положительном исходе (модель «сказала» что диагноз есть, но на самом деле его нет), и наоборот, если модель определят запись как отрицательный класс, то это — истинно отрицательный исход.

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Рисунок 1: Матрица сопряженности возможных результатов бинарной классификации

Accuracy

Одной из наиболее простых, а поэтому и распространенной метрикой является точность. Она показывает количество правильно проставленных меток класса (истинно положительных и истинно отрицательных) от общего количества данных и считается следующим образом [Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation]:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Однако, эта простота является также и причиной, почему её часто критикуют и почему она может абсолютно не подойти под решаемую задачу. Она не учитывает соотношения ложных срабатываний модели, что может быть критическим, особенно в медицинской сфере, когда стоит задача распознать все истинные случаи диагноза.

Вернемся к примеру с подозрением на заболевание. Если наша точность равна 80%, то можно сказать, что в среднем из 100 человек она правильно определит наличие или отсутствие диагноза лишь у 80 человек, тогда как ещё 20 будут либо ложно отрицательными, либо ложно положительными.

Стоит обратить внимание на то, что в некоторых задачах необходимо определить всех пациентов с диагнозом и можно даже пренебречь ложно положительными исходами, так как они могут отсеяться на следующих стадиях исследования (например, после контрольной сдачи анализов), тогда необходимо добавить к этой метрике ещё одну, которая могла бы оценить требуемый приоритет.

Precision

Несмотря на различные английские названия и разные формулы подсчета, русский перевод этой метрики также закрепился как «точность», что может вызвать недоумение и конфуз, поэтому следует уточнять, о чем именно вы говорите. Эта точность показывает количество истинно положительных исходов из всего набора положительных меток и считается по следующей формуле [Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation]:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения
Важность этой метрики определяется тем, насколько высока для рассматриваемой задачи «цена» ложно положительного результата. Если, например, стоимость дальнейшей проверки наличия заболевания у пациента высока и мы просто не можем проверить все ложно положительные результаты, то стоит максимизировать данную метрику, ведь при Precision = 50% из 100 положительно определенных больных диагноз будут иметь лишь 50 из них.

Recall (true positive rate)

В русском языке для этого термина используется слово «полнота» или «чувствительность». Эта метрика определяет количество истинно положительных среди всех меток класса, которые были определены как «положительный» и вычисляется по следующей формуле [The relationship between Precision-Recall and ROC curves ].

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

F1-Score

В том случае, если Precision и Recall являются одинаково значимыми, можно использовать их среднее гармоническое для получения оценки результатов [On extending f-measure and g-mean metrics to multi-class problems]:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Помимо точечных оценок, существует целый ряд графических методов, способных оценить качество классификации.

ROC (receiver operating characteristic) – график, показывающий зависимость верно классифицируемых объектов положительного класса от ложно положительно классифицируемых объектов негативного класса. Иными словами, соотношение True Positive Rate (Recall) и False Positive Rate (Рисунок 2). При этом, False Positive Rate (FPR) рассчитывается по следующей формуле [Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation]:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Рисунок 2: ROC кривая

Рисунок 2 содержит пример двух ROC – кривых. Идеальное значение графика находится в верхней левой точке (TPR = 1, a FPR = 0). При этом, кривая, соответствующая FPR = TPR является случайным гаданием, а если график кривой модели или точка находятся ниже этого минимума, то это говорит лишь о том, что лучше подбрасывать монетку, чем использовать эту модель. При этом говорят, что кривая X доминирует над другой кривой Y, если X в любом точке находится левее и выше Y [Using AUC and accuracy in evaluating learning algorithms ], что означает превосходство первого классификатора над вторым.

С помощью ROC — кривой, можно сравнить модели, а также их параметры для поиска наиболее оптимальной (с точки зрения tpr и fpr) комбинации. В этом случае ищется компромисс между количеством больных, метка которых была правильно определена как положительная и количеством больных, метка которых была неправильно определена как положительная.

AUC (Area Under Curve)

В качестве численной оценки ROC кривой принято брать площадь под этой кривой, которая является неплохим «итогом» для кривой. Если между кривыми X и Y существует доминирование первой над второй, то AUC (X) > AUC (Y), обратное не всегда верно. Но AUC обладает так же и статистическим смыслом: она показывает вероятность того, что случайно выбранный экземпляр негативного класса будет иметь меньше вероятность быть распознанным как позитивный класс, чем случайно выбранный позитивный класс [Using AUC and accuracy in evaluating learning algorithms].

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Рисунок 3.Два классификатора имеют одинаковую точность, но разный AUC

Мульти-классификация

Все рассмотренные выше метрики относились лишь к бинарной задаче, но, зачастую, классов больше, чем два. Это обуславливает необходимость в обобщении рассмотренных метрик. Одним из возможных способов является вычисление среднего метрики по всем классам [On extending f-measure and g-mean metrics to multi-class problems]. Тогда в качестве «положительного» класса берется вычисляемый, а все остальные — в качестве «отрицательного».

В этом случае формулы для метрик будут выглядеть следующим образом:

как оценить качество модели машинного обучения. Смотреть фото как оценить качество модели машинного обучения. Смотреть картинку как оценить качество модели машинного обучения. Картинка про как оценить качество модели машинного обучения. Фото как оценить качество модели машинного обучения

Применение в предиктивной аналитике для здравоохранения

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

Основной задачей предиктивной аналитики для здравоохранения является предсказание различных событий. Эта тема довольно неплохо изучена для различных заболеваний и сценариев использования, поэтому существует множество возможных методов её решения. Данный тип задач оценивается всеми рассмотренными метриками для классификации, но чаще остальных можно заметить Accuracy благодаря её простоте. Например, в Disease prediction by machine learning over big data from healthcare communities авторы анализируют медицинские записи с целью предсказания возможности появления какого-либо заболевания и у них получается это на уровне 70% для Accuracy, Precision, Recall и F1. В Intelligent heart disease prediction system using data mining techniques и Heart disease prediction system using naive Bayes метрика Accuracy достигает приблизительно 90-95%, но на это сказывается размер набора данных, который был использован для исследования.

Среди всего списка заболеваний особую актуальность имеют сердечно сосудистые заболевания (ССЗ). Множество исследований, посвященных предсказанию ССЗ демонстрируют то, чего можно достичь в этой области благодаря машинному обучению. Зачастую здесь используется метрика AUC для сравнения качества моделей. Например в A data-driven approach to predicting diabetes and cardiovascular disease with machine learning авторы работали с базой, которая собиралась в течение 20 лет, содержащей более ста признаков. Целью являлось предсказание ранних стадий ССЗ, предиабета и диабета, они добились показателей равных 0.957, 0.802 и 0.839 площади под кривой. В Development and verification of prediction models for preventing cardiovascular diseases авторы исследовали возможность различных исходов (смерть, госпитализация и другие), связанных с ССЗ. Наилучший показатель AUC был равен 0.96. В Перспективы использования методов машинного обучения для предсказания сердечно-сосудистых заболеваний исследуется возможность предсказания ССЗ с помощью методов машинного обучения и некоторых медицинских данных. Для Accuracy, Precision, Recall и AUC были получены результаты 78%, 0.79, 0.67 и 0.84 соответственно.

Заключение

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *