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

Чтобы понять, что означает метрика производительности, я хотел бы привести пример соревнований по плаванию. Здесь все участники плывут по всей длине бассейна, чтобы как можно быстрее добраться до финиша. Таким образом, здесь мы можем сказать, что показатель производительности пловца — это время, которое ему потребовалось, чтобы добраться до финиша, чем меньше это время, тем лучше результат пловца. Но если мы говорим о футбольном матче продолжительностью 90 минут, то время является ограничением, а не показателем производительности. Показателем результативности в футбольном матче является количество забитых мячей, чем выше, тем лучше. Теперь вы можете видеть, как метрика меняется в зависимости от ситуации, и у нас есть разные метрики производительности для разных постановок задачи в машинном обучении. Так что же означает показатель производительности в машинном обучении? Ну, метрика производительности — это мера того, насколько хорошо модель работает с невидимым набором данных. Обычно производительность измеряется после разделения всего набора данных на обучающие и тестовые наборы данных в соотношении 80:20 соответственно, т. е. 80% набора данных используется для обучения, а остальные 20% — для тестирования.

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

Мы будем понимать следующие показатели:

Точность

Матрица путаницы

Точность, отзыв и F1-Score

ОКР и АУК

Потеря журнала

R² или коэффициент детерминации

Среднее абсолютное отклонение ошибок

Распределение ошибок

Метрики для задачи классификации!

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

Рассмотрим бинарную классификацию с положительными и отрицательными классами.

1. Точность

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

Он всегда находится между 0 и 1 (оба включительно), 0 — наихудшая, а 1 — наилучшая мера точности.

Снова рассмотрим футбольную игру, предположим, что игрок пытается забить как можно больше голов, обеспечивая 10 шансов. Если игроку удается забить 6 голов из 10, то точность составляет просто 6/10, что составляет 60%.

Точно так же, чтобы определить точность модели машинного обучения, предположим, что у меня есть 100 точек в тестовом наборе данных, из которых 60 точек относятся к положительному классу, а 40 — к отрицательному классу. Теперь модель предсказывает 53 балла как положительные и 35 баллов как отрицательные. После суммирования всех правильно классифицированных по модели точек мы получаем в общей сложности 88 правильно классифицированных точек, что означает точность нашей модели 88%.

Преимущество:

Это один из самых простых показателей для понимания.

Недостатки:

1) Несбалансированный набор данных

Скажем, из 100 точек в тестовом наборе данных 95 точек относятся к положительному классу и только 5 точек относятся к отрицательному классу. Допустим, у меня есть тупая модель, и она только предсказывает, что точка будет в положительном классе. Здесь мы видим, как даже тупая модель может получить точность 95%, что явно неразумно. Поэтому мы никогда не должны использовать точность в качестве меры, когда у нас есть несбалансированный набор данных.

2) Точность не может использовать показатель вероятности.

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

Например, метка истинного класса является положительной, Модель 1 дает вероятность того, что эта точка принадлежит положительному классу, как 0,9, тогда как Модель 2 дает вероятность 0,6. Теперь, если мы используем точность как меру производительности, то обе модели отнесут точку к положительному классу, однако из оценки вероятности видно, что Модель 1 лучше, чем Модель 2.

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

2) Матрица путаницы

Прежде чем мы двинемся дальше, обратите внимание на эти сокращения:

I) TP: истинно положительный

II) FP: ложноположительный результат

III) FN: ложноотрицательный результат

IV) TN: истинно отрицательный

V) TPR: истинно положительный показатель

VI) TNR: истинно отрицательный показатель

VII) FPR: ложноположительный результат

VIII) FNR: ложноотрицательный показатель

Снова мы рассмотрим задачу бинарной классификации, где у нас есть две возможности: 0 (отрицательный класс) и 1 (положительный класс).

Итак, мы создаем матрицу размером 2x2. Ограничение матрицы путаницы заключается в том, что она не может обрабатывать оценки вероятности.

Учитывая xᵢ и yᵢ, модель предсказывает Yᵢ, которые принадлежат одной из меток класса.

Матрица:

Для многоклассовой классификации (количество классов «c») у нас есть матрица путаницы cxc.

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

Для бинарной классификации каждой ячейке этой матрицы дается имя:

Здесь большинство из нас путается в терминологии, поэтому вот изящный трюк, чтобы запомнить ее. Давайте рассмотрим TN как две разные части. Вторая часть (N) подразумевает «Какая метка предсказана моделью», а первая часть (T) подтверждает этот прогноз. Таким образом, в этом случае метка класса Negative предсказывается моделью, и на самом деле она верна, что означает, что она правильно классифицирована.

FP также известен как ошибка типа 1, а FN также называется ошибкой типа 2.

Прежде чем двигаться дальше, чтобы понять 4 коэффициента, важно ввести несколько терминов.

Сумма FN и TP называется «Общее количество. положительных результатов (P)

Сумма TN и FP называется «Общее количество. минусов (N)

n (общее количество баллов) = P + N.

а) Истинная положительная частота (TPR) = TP/P

б) Истинно отрицательный показатель (TNR) = TN/N

c) Коэффициент ложных срабатываний (FPR) = FP/N

г) Коэффициент ложноотрицательных результатов (FNR) = FN/P

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

Давайте теперь посмотрим на те 4 отношения, которые обсуждались ранее для разумной модели.

TPR = 94/100 = 94%

TNR = 850/900 = 94,44%

FPR = 50/900 = 5,55%

FNR = 6/100 = 6%

Давайте теперь снова посмотрим на эти 4 отношения, но для тупой модели, где каждая точка предсказывает отрицательный класс.

TPR = 0/100 = 0%

TNR = 900/900 = 100%

FPR = 0/900 = 0%

FNR = 100/100 = 100%

В идеале мы хотим, чтобы TPR и TNR были высокими, а FPR, FNR — низкими, но в этом случае мы видим, что происходит что-то подозрительное. Таким образом, в отличие от точности, матрица путаницы вместе с этими 4 коэффициентами может помочь нам понять производительность нашей модели, даже если набор данных несбалансирован.

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

Возьмем медицинское приложение, в котором модель диагностирует, есть ли у человека рак или нет. Учитывая, что у человека рак, модель должна классифицировать его как TP, следовательно, TPR должен быть очень высоким. Учитывая, что у человека рак, модель классифицировала его как FN, поэтому FNR должен быть близок к нулю (в идеале 0). Если у человека нет рака, а модель предсказывает, что у него рак, то FPR будет высоким. Хорошо. поскольку человек может пройти дополнительные мощные тесты, чтобы определить, что у него / нее нет рака. Таким образом, в этом случае модель не должна пропустить больного раком, и, следовательно, FNR становится очень важным соотношением, на которое следует обратить внимание.

3) Точность, отзыв и F1-Score

Precision и Recall в основном используются при поиске информации, и они заботятся только о положительных метках классов. Например, поиск Google имеет огромное количество информации, но показывает только релевантную информацию в соответствии с запросом пользователя.

Точность = TP / (TP + FP)

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

Это означает, что из всех точек, которые модель предсказала быть положительными, какой процент из них действительно положителен. Он всегда должен быть высоким. Он лежит между 0 и 1.

Отзыв = TPR = TP / (TP + FN) = TP / P

Это означает, что из всех точек, которые на самом деле принадлежат к положительному классу, какой процент модели определен как положительный класс. Он всегда должен быть высоким. Он лежит между 0 и 1.

Согласно постановке задачи используется Precision or Recall. Позвольте мне привести вам пример для этого:

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

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

Существует способ объединить как точность, так и отзыв в одну меру, известную как F1-Score, когда влияние как FP, так и FN одинаково важно.

Теперь вам может быть интересно, откуда взялась эта метрика. Позвольте мне сказать вам, что это просто среднее значение точности и отзыва и обратное значение. Если бы я выразился более математически, это Гармоническое среднее Точности и Отзыва.

F1-Score высокий, если Precision и Recall высоки. Он также находится между 0 и 1. Этот показатель часто используется в соревнованиях Kaggle.

F_β — это более обобщенная оценка, которую можно настроить в соответствии со значением β.

Есть три случая:

a) Выберите β = 1, когда влияние FN и FP одинаково. Таким образом, это становится F1-Score.

b) Выберите β = 0,5 (от 0 до 1, обычно выбирается 0,5), когда влияние FN больше. Таким образом, это становится F0.5-Score.

c) Выберите β = 1, когда влияние FP больше. Таким образом, это становится F2-Score.

4) РПЦ и АУК

Кривая рабочих характеристик приемника (ROC) была разработана электронщиками и радиоинженерами во время Второй мировой войны, чтобы предсказать, насколько хорошо работают их ракеты. Машинное обучение использует все эти прекрасные концепции из физики, статистики, электроники и многих других областей для решения реальных проблем. Это в основном используется для бинарной классификации, однако существует расширение для многоклассовой классификации, которое используется нечасто. Таким образом, для бинарной классификации модель предсказывает некоторую оценку, например оценку вероятности, которая находится в диапазоне от 0 до 1. Чем выше оценка, тем выше вероятность того, что она принадлежит к положительному классу. AUC — это не что иное, как площадь под кривой, которая также находится в диапазоне от 0 до 1.

Из приведенного выше графика видно, что Модель 1, имеющая кривую ROC-1, намного лучше, чем Модель 2, имеющая кривую ROC-2.

Давайте посмотрим на волшебство за кулисами. Сначала отсортируйте прогнозируемые оценки в порядке убывания и выберите пороговое значение (τ), такое же, как первая прогнозируемая оценка модели в этом отсортированном списке, и классифицируйте точку запроса по одному из двух классов (положительный или отрицательный). Рассчитайте FPR и TPR для τ₁. Этот процесс повторяется для всех n точек, чтобы получить n различных FPR и TPR. После получения всех значений «n» значений для FPR и TPR, они наносятся на график зависимости TPR от FPR, чтобы получить кривую, известную как рабочая кривая приемника. Ранее мы видели, что значения TPR и FPR находятся в диапазоне от 0 до 1, следовательно, площадь под диагональю составляет ровно 0,5 единицы. ROC должен быть намного выше, чем эта диагональ, чтобы модель была разумной моделью. Если модель является случайной моделью, т. е. она предсказывает метку класса случайным образом, то в этом случае ROC будет прямой диагональной линией.

Свойства AUC:

а) Для несбалансированных данных AUC может быть высоким.

б) AUC не зависит от прогнозируемых оценок модели, а зависит от ее порядка.

в) AUC случайной модели = 0,5 ед.

г) Если AUC ‹ 0,5, это означает, что модель хуже, чем случайная модель. Это может произойти, если в моделировании есть какая-то ошибка. Одно простое исправление состоит в том, чтобы поменять местами прогнозируемые метки классов, чтобы получить лучшее значение AUC, превышающее 0,5.

5) Потеря журнала

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

Для бинарной классификации «n» точек в наборе тестовых данных логарифмическая потеря определяется как

Здесь pᵢ - это не что иное, как прогнозируемая оценка модели, то есть вероятность ее принадлежности к положительному классу. Мы хотим, чтобы потери журнала были как можно меньше. Он лежит в диапазоне от 0 до бесконечности.

А yᵢ — это фактическая метка класса.

Давайте возьмем в качестве примера две точки, принадлежащие к положительному классу, и модель дает оценку 0,9 и 0,6 соответственно. Теперь, исходя из приведенной выше формулы, логарифмическая потеря наказывается за небольшое отклонение в показателе вероятности, то есть для 0,9 логарифмическая потеря составляет 0,0457 (что довольно мало и хорошо), тогда как для 0,6 она составляет 0,22 (что не мало).

Это можно легко распространить на логарифмическую потерю нескольких классов, где модель предсказывает не только два, но и «c» нет. вероятностей, учитывая, что это проблема классификации c-класса. Поскольку диапазон значений логарифмических потерь составляет от 0 до бесконечности, его интерпретируемость снижается. Если модель возвращает оценку вероятности, то это одна из самых мощных метрик для определения ее производительности.

Метрики для задачи регрессии!

6) R² или коэффициент детерминации

До сих пор мы видели метрики только для моделей классификации, теперь давайте посмотрим на модели регрессии, которым была задана точка запроса xi, модель предсказывает действительное число yᵢ. У нас есть ошибка для каждой точки, то есть разница между фактическим значением и прогнозируемым значением. Математически

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

a) Общая сумма квадратов (SS)ₜ:

Где yₐ — среднее значение yᵢ в наборе данных.

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

Таким образом, (SS)ₜ представляет собой сумму квадратов ошибок с использованием модели простого среднего.

b) Сумма квадратов остатков (SS)ᵣₑₛ:

где

В настоящее время

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

Случай 1) (SS)ᵣₑₛ = 0

Это означает, что сумма ошибок равна 0, а R² будет равна 1. Это наилучшее возможное значение для R².

Случай 2) (SS)ᵣₑₛ ‹ (SS)ₜ

В этом случае R² будет лежать между 0 и 1. Это типичный случай, с которым мы сталкиваемся.

Случай 3) (SS)ᵣₑₛ = (SS)ₜ

Это даст нам значение R², равное 0. Таким образом, в этом случае модель такая же, как и модель простого среднего, как обсуждалось выше.

Случай 4) (СС)ᵣₑₛ › (СС)ₜ

В этом случае R² будет отрицательным числом, что означает, что модель хуже, чем простая модель среднего.

Недостаток: поскольку (SS)ᵣₑₛ рассчитывается с использованием среднего значения yᵢ, и если один из yᵢ является выбросом, это сильно повлияет на значение R². Этот недостаток преодолевается метрикой, которую мы далее будем понимать как 1) Медианное абсолютное отклонение ошибок.

7) Среднее абсолютное отклонение ошибок

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

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

8) Распределение ошибок

Помимо метрик, наблюдаемых до сих пор для регрессионной модели, мы также можем построить PDF и CDF ошибок, чтобы увидеть, какой процент ошибок мал или велик, и это помогает нам анализировать производительность модели. Это также позволяет очень легко увидеть, как две разные модели работают с одним и тем же набором данных, т. Е. Мы можем очень легко сравнить две модели, просто взглянув на график / график.

использованная литература

  1. https://towardsdatascience.com/20-popular-machine-learning-metrics-part-1-classification-regression-evaluation-metrics-1ca3e282a2ce
  2. https://www.analyticsvidhya.com/blog/2019/08/11-important-model-evaluation-error-metrics/
  3. https://www.kdnuggets.com/2018/06/right-metric-evaluating-machine-learning-models-2.html
  4. https://www.tutorialspoint.com/machine_learning_with_python/machine_learning_algorithms_performance_metrics.htm
  5. https://medium.com/@MohammedS/performance-metrics-for-classification-problems-in-machine-learning-part-i-b085d432082b
  6. https://en.wikipedia.org/wiki/Precision_and_recall
  7. https://machinelearningmastery.com/tour-of-evaluation-metrics-for-imbalanced-classification/
  8. https://towardsdatascience.com/metrics-to-evaluate-your-machine-learning-algorithm-f10ba6e38234
  9. https://en.wikipedia.org/wiki/Receiver_operating_characteristic

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