Простыми словами про метрики в ИИ. Классификация. Confusion matrix, Accuracy

Привет, vc.ru! Меня зовут Александр Троицкий, я автор канала AI для чайников, и я запускаю серию коротких статей по метрикам качества моделей для машинного обучения!

Confusion Matrix - это основа основ результатов моделей ИИ, а Accuracy (или точность) - самая простая метрика. Сегодня разберемся что это такое и как они считаются.

Зачем вообще нужны метрики в моделях ИИ? Чаще всего их используют, чтобы сравнивать модели между собой, абстрагируясь от бизнес метрик. Если вы будете смотреть только на бизнес-метрики (например, NPS клиентов или выручка), то можете упустить из-за чего реально произошло снижение или повышение показателей вашего бизнеса. Например, вы сделали новую версию модели лучше предыдущей (метрики модели лучше), но в то же самое время пришёл экономический кризис и люди перестали покупать ваш продукт (упала выручка). Если бы в этой ситуации вы не замеряли показатели модели, то могли бы подумать, что из-за новой версии модели упала выручка, хотя упала она не из-за модели. Пример довольно простой, но хорошо описывает почему нужно разделять метрики модели и бизнеса.

Для начала надо сказать, что метрики моделей бывают двух типов в зависимости от решаемой задачи:

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

К одному из под-методов классификации относится бинарная классификация: либо единичка, либо нолик. То есть мы предсказываем либо перед нами кошечка, либо это не кошечка.

2. Регрессии - это когда вы предсказываете какую-то величину на основании предыдущего опыта. Например, вчера цена биткоина была на уровне 32.000 долларов, а на завтра вы прогнозируете ее на уровне 34.533 доллара. То есть вы ищете какое-то число.

Соответственно метрики, на которые смотрят при работе с моделями тоже разные. В этом посте я расскажу именно про классификацию.

Confusion matrix

Для начала надо усвоить таблицу снизу. Она называется confusion matrix (матрица ошибок). Допустим, наша модель предсказывает купят ли некие люди слона. Потом мы пошли продавать им слона и оказалось, что часть людей слона купили, а часть - не купили.

Простыми словами про метрики в ИИ. Классификация. Confusion matrix, Accuracy

Так вот результаты такого исследования можно разбить на четыре группы:

  • Модель сказала, что человек купит слона и он купил слона! -> True Positive (TP)
  • Модель сказала, что человек не купит слона, а он взял и купил слона! -> False Negative (FN)
  • Модель сказала, что человек купит слона, но он не купил его, когда ему предложили -> False Positive (FP)
  • Модель сказала, что человек не купит слона. И он действительно его не купил -> True Negative (TN)

Accuracy

Теперь давайте разберем самую простую и базовую метрику качества, про которую чаще всего говорят заказчики, не понимающие в ML. Называется она accuracy или точность. Смотрим выше на confusion matrix и запоминаем как считается точность модели:

Accuracy = (TP+TN)/(TP+TN+FP+FN)

Accuracy используют редко, потому что она дает плохое представление о качестве модели, если у нас не сбалансированны классы. Например, у нас есть 100 картинок котиков и 10 картинок собачек. Пускай для упрощения скажем, что котики - это 0, а собачки - это 1 (перейдем к бинарной классификации). В данном примере котики и собаки - это два класса. Собак меньше, чем котиков в 10 раз - значит выборка из картинок не сбалансирована.

Например, наша модель правильно определила 90 котиков из 100. Получается True Negative = 90, False Negative = 10.

Еще наша модель определила правильно 5 собачек из 10. Получается True Positive = 5, False Positive = 5.

Подставив данные в нашу формулу получим, что accuracy тут равен 86,4. Однако если бы мы просто сказали, что на всех картинках котики, то получили бы accuracy 90, хотя для этого и никакой модели и не нужно. И вот казалось бы, угадывая достаточно много картинок (аж 86%!) наша модель на самом деле плохая.

Заключение

В следующей статье я продолжу рассказывать про метрики ИИ, в том числе более ходовые Precision, Recall, F-score, ROC-AUC. А дальше коснусь метрик регрессии: MSE, RMSE, MAR, R-квадрат, MAPE, SMAPE.

Если вам интересно знать про ИИ и машинное обучение больше, чем рядовой человек, но меньше, чем data scientist, то подписывайтесь на мой канал в Телеграм. Я пишу редко, но по делу: AI для чайников. Подписывайтесь!

773773 показа
133133 открытия
Начать дискуссию