Матрица Несоответствий довольно широко освещённый термин в науке о данных, про него без труда можно найти публикации в сети. В данной статье дано как само описание и принципы построения Матрицы Несоответствий (другие названия — Confusion matrix или Матрица Ошибок), так и основанные на этом понятии принципы работы различных метрик в задачах классификации в Машинном обучении. Несмотря на то, что само понятие Confusion Matrix является довольно простым в объяснении, начинающим Data Scientist-специалистам бывает порой нелегко разобраться в отношениях True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) — кирпичиками, составляющими данную матрицу. Цель этой статьи познакомить читателя с альтернативным представлением Матрицы Ошибок. Данный способ, по мнению автора, является наиболее наивным методом восприятия самой Матрицы Несоответствий, что в свою очередь позволит легко ориентироваться в выводах, основанных на комбинации ее элементов, глубже понять проблему дисбаланса классов в задачах классификации.

План данной статьи:

  • приведем ряд сокращений с пояснениями, которые будут использоваться в статье;

  • повторим классическое описание Матрицы Ошибок и ее основных составляющих;

  • представим альтернативный способ запоминания Матрицы Несоответствий, в основе которого лежит графическое отношение комбинации ее элементов;

  • разберем понятия Precision, Recall, TPR, FPR;

  • рассмотрим понятия ROC-AUC, F1-меры метрик задач классификации;  

  • рассмотрим проблему дисбаланса классов в задачах классификации.

Сокращения, термины-синонимы, используемые в статье:

  • Confusion MatrixМатрица Несоответствий, Матрица Ошибок

  • ML — Машинное обучение

  • Модель  (в данной статье) — алгоритм  классификации

  • TP — истинно-положительные объекты ( True Positive )

  • FP — ложно-положительные объекты ( False Pasitive )

  • TN — истинно-отрицательные объекты ( True Negative )

  • FN — ложно-отрицательные объекты ( False Negative )

  • TPRTrue Positive Rate

  • FPRFalse Positive Rate

  • ROC — Receiver Operating Characteristic curve

  • AUC — Area Under Curve

Автор предполагает, что читатель знаком с задачей классификации объектов в Машинном обучении, и поэтому в статье данный вопрос будет затронут поверхностно. Для простоты разберем бинарную классификацию, где истинные метки объектов принадлежат пространствуy_i \in \{0;1\}.

Дадим пояснения:

0 — объекты относятся к нулевому классу,

1 — объекты относятся к классу 1.

Алгоритм машинного обучения выдает свой прогноз по этим меткам a_i \in\{0,1\}

здесь 0 — метки объектов, которые алгоритм классифицирует как объекты класса 0, и 1 — метки объектов, которые алгоритм считает за объекты класса 1.

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

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

  • TP — истинно-положительные объекты ( True Positive) — объект представляет собой класс 1 и алгоритм его идентифицирует как класс 1

  • FP — ложно-положительные объекты ( False Positive) — объект представляет собой класс 0, алгоритм его идентифицирует как класс 1 (ошибается)

  • TN — истинно-отрицательные объекты ( True Negative) — объект представляет собой класс 0 и алгоритм его идентифицирует как класс 0

  • FN — ложно-отрицательные объекты ( False Negative) — объект представляет собой класс 1, алгоритм его идентифицирует как класс 0.

Данные элементы являются составными частями Матрицы Несоответствий, построенной в координатах истинные ответы и ответы классификатора.

рис 01
рис 01

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

Так, например, понятия Precision_{(Точность)}=\frac{TP}{(TP+FP)}, и

Recall_{(Полнота)} =\frac{TP}{(TP+FN)}

используются в таких метриках, как F1-мера, Accuracy, Balanced Accuracy, Precision-Recall

curve и др. В метрике ROC-AUC применяется TPR = \frac{TP}{(TP+FP)}, и

FPR = \frac{FP}{(FP+TN)}

При этом ни Precision, Recall, ни FPR, TPR не являются самостоятельными мерами оценки качества работы алгоритма, а используются в соответствующих метриках в различных парных комбинациях.

Значительное количества метрик, формул, плюс проблема дисбаланса классов (непропорциональное отношение количества объектов класса 0 к классу 1) — все это во время работы с данными предполагает постоянное обращение к классическому представлению Матрицы Несоответствий. В этой статье для более легкого интуитивного усвоения описанных понятий предлагается отойти от «сухого» табличного формата, попытаться понять изложенную информацию через ее визуализацию.

Для этого представим, что мы пришли в тир пострелять по мишени.

Здесь следует напомнить, что все многообразие мира бинарная классификация делит на объекты, принадлежащие классу 1 и классу 0.  Это и будет наша мишень. Изобразим это на рисунке.

рис.02
рис.02

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

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

Возвращаемся в импровизированный тир, тогда “точность” — это будет выстрел нашего алгоритма, который пытается найти объекты класса 1, стреляя в центр мишени.

рис. 03
рис. 03

Все объекты, заключенные в контуре круга, для нашего алгоритма будут иметь метку 1, то есть интерпретированы как фотографии с животными. При этом мы видим, что алгоритм может ошибаться, так как в центр мишени вошли как фотографии с животными (объекты класса 1), так и изображения без животных (класса 0). Область, где наш алгоритм справился со своей задачей и правильно угадал класс 1, будет соответствовать True Positive (истинно положительные ответы, животные есть на снимках на самом деле), а где ошибся False Positive (ложно положительные ответы, здесь классификатор предполагает, что на фото животные есть, но на самом деле их нет).

рис. 04
рис. 04

Зона, где наш объект правильно идентифицирует объекты класса 0 и не ошибается на них, соответствует понятию True Negative — истинно негативные объекты, то есть те фотографии, где животных в реальности нет, и алгоритм с этим согласен. На рисунке 05 данный участок отмечен как TN

рис. 05
рис. 05

Соответственно, одна непромаркерованная область будет соответствовать как по смыслу, так и по методу исключения понятию False Negative или FN (ложно отрицательные, то есть наш алгоритм не смог эти объекты правильно классифицировать как объекты класса 1, например, спящую собаку в углу какого-то снимка распознал как камень или что-либо другое).

Теперь дополним наш рисунок новой информацией и сравним с табличной формой Матрицы Ошибок.

рис. 06
рис. 06

Объекты, отвечающие за расчет Precision (точность), сконцентрированы внутри центрального контура. Глядя на картинку, попробуйте сами сформулировать термин Precision.

рис. 07
рис. 07

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

Термин Recall имеет тоже довольно простую интерпретацию: способность нашего алгоритма определять класс 1.

рис. 08
рис. 08

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

Настало время дать оценку насколько хорошо работает модель Машинного обучения. Для этого используют различные метрики, особенность их состоит в том, что такие метрики, как F1-мера, Accuracy, Balanced Accuracy, применяют различные комбинации разобранных нами методов Precision и Recall. Как эти понятия взаимодействуют между собой, очень хорошо можно понять через визуальное представление Матрицы Ошибок.  

Разберем это на примере F1-мера, которая является частным случаем среднегармонической F-меры:

(здесь будет формула F1-меры)

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

рис. 09
рис. 09

Как видно из рисунка выше, Recall пропорционально изменяется вместе с балансом классов, в то время как Precision сильно меняет значения. Для нивелирования перекоса предполагается использование некоторого β коэффициента — это и будет среднегармоническая F-мера. Хотя в отличие от нашего примера, в Машинном обучении при дисбалансе классов принято более редкий класс обозначать через 1, а наибольший через 0, но это не меняет идеи того, что изменения F-меры обусловлены нестабильным в таком случае параметром Precision. Подбор  β коэффициента напрямую влияет на качество оценки работы модели. Обоснование и поиск данного коэффициента выходит за рамки данной статьи.

Среднегармоническая F-мера

F_{\beta}=(1+\beta^2)\frac{precision*recall}{\beta^2 *precision+recall}

Теперь рассмотрим метрику ROC-AUC (Area Under Curve). Данная оценка работы алгоритма классификации рассчитывается как площадь под ROC кривой, которая строится в координатах TPR и FPR.  Указанная метрика более устойчива к дисбалансу классов ввиду того, что в отличие от F1-меры здесь задействованы все элементы матрицы. Отметим, что термин TPR (True Positive Rate) равен рассмотренному ранее Recall.

рис. 10
рис. 10

Из рисунка понятно причина стабильности метрики ROC-AUC при дисбалансе классов: при увеличении, например, количества объектов класса 0 все элементы входящие в FPR будут также пропорционально увеличиваться, а элементы, составляющие TPR наоборот уменьшаться. Но при этом итоговое значение FPR и TPR будут примерно соотноситься к тем значениям, когда дисбаланса класса нет. 

Из рисунка понятно причина стабильности метрики ROC-AUC при дисбалансе классов: при увеличении, например, количества объектов класса 0 все элементы входящие в FPR будут также пропорционально увеличиваться, а элементы, составляющие TPR наоборот уменьшаться. Но при этом итоговое значение FPR и TPR будут примерно соотноситься к тем значениям, когда дисбаланса класса нет. 

Заключение

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

Комментарии (3)


  1. mikko_kukkanen
    03.09.2023 01:38

    (здесь будет формула F1-меры)

    Мне кажется, Вы забыли формулу вставить.


  1. mikko_kukkanen
    03.09.2023 01:38

    Во всех этих мерах часто есть асимметрия. Если Вам нужно найти на картинке животное, то понятно, что есть positive - животное обнаружено. А если Вам нужно "разграничить" больных и здоровых, что будет positive?


  1. Copros
    03.09.2023 01:38

    На рисунках 1 и 6 False Negative забыли.