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

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

Позвольте мне уточнить. Рассмотрим очень специфическую область задач классификации, где мы пытаемся отделить два (или более) класса «вещей» или «поведений» друг от друга. Для беспилотного автомобиля такая проблема может проявляться как ответ на простой вопрос: «Столкну ли я этого пешехода, если буду продолжать движение?»

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

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

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

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

Для этой цели можно использовать ряд показателей. Самый простой для понимания термин называется «точность». Формула проста — сложите общее количество правильных прогнозов и разделите на общее количество сделанных прогнозов.

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

  • Хорошая куча: 75 картофелин, из них 14 плохих и 61 хорошая. То есть 61 правильное предположение.
  • Плохая куча: 25 картофелин, из которых 6 плохих и 19 хороших. То есть 6 правильных догадок. Обратите внимание, что в эту кучу Ангбо должен был положить плохие картофелины, поэтому хорошие были неправильно классифицированы.

Если бы нам нужно было оценить работу Ангбо с помощью точности, мы бы сказали, что он правильно ответил 67 (61 + 6) из ста. Другими словами, точность Ангбо составила 67% (или 0,67). Также обратите внимание, поскольку Ангбо просто случайным образом бросает картошку в кучи, он воплощает то, что называется моделью без навыков.

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

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

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

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

  • Хорошая куча: 100 картофелин, из них 99 хороших и 1 плохой.
  • Плохая куча: 0 картофелин.
  • Точность: 99 правильных/всего 100 = 99%

Поэтому Ангбо создал процесс, способный обеспечить точность 99%. Теперь вы видите, в чем заключается проблема. Это присуще распространению картофеля. Поскольку у нас было так мало плохих (на самом деле всего один), пометка их всех как «хороших» была, по-видимому, разумным ходом.

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

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

Итак, что мы можем с этим поделать?

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

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

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

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

Давайте сделаем краткий обзор того, что изначально сделал Ангбо.

  • Плохая куча (положительный класс): 25 картофелин, из которых 6 на самом деле плохие и 19 на самом деле хорошие.
  • Хорошая стопка (отрицательный класс): 75 картофелин, из которых 14 на самом деле плохие, а 61 на самом деле хорошие.

Истинно положительные результаты: количество положительных прогнозов, которые на самом деле относятся к положительному классу. В первоначальном замысле Ангбо это было бы 6 картофелин. Помните, наши плюсы — это плохая картошка.

Истинно отрицательные: количество отрицательных прогнозов, которые на самом деле относятся к отрицательному классу. В первоначальном замысле Ангбо это был бы 61 картофель.

Ложные срабатывания:количество положительных прогнозов, которые на самом деле принадлежат к отрицательному классу и, следовательно, неверны. Ангбо получил 19 из них.

False Negatives:количество отрицательных прогнозов, которые на самом деле относятся к положительному классу и, таким образом, были неверно предсказаны. Ангбо получил 19 из них.

Если бы мы изобразили эти числа графически, мы могли бы получить что-то вроде этого.

У этой прекрасной диаграммы есть название — матрица путаницы. Это говорит нам о том, как наши прогнозы оправдались по сравнению с фактическими ярлыками классов.

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

Точность = истинные положительные результаты / (правильные срабатывания + ложные срабатывания)

Точность относится к количеству правильно идентифицированных положительных результатов в куче, которая была помечена как положительная. Его также можно рассматривать как долю релевантных экземпляров среди извлеченных экземпляров. Для Ангбо это число будет 6/25.

Отзыв = истинные положительные результаты/ (истинные положительные результаты + ложноотрицательные результаты)

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

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

Поработаем с числами. Из сотни транзакций (сумма всех ящиков) была только одна мошенническая. Остальные 99 были подлинными.

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

С помощью этих данных можно рассчитать следующие показатели:

  1. Точность: 99/100 = 0,99
  2. Точность: 0/0 = не определено
  3. Напомним: 0/1 = 0

Показатель точности действительно высок — 0,99, но это произошло из-за несбалансированных классов. В этой ситуации отзыв является лучшим показателем, и его значение — 0 — действительно указывает на отсутствие навыков у модели.

Существуют и другие показатели, которые могут определить, насколько искусна модель, например оценка F1, которая объединяет информацию, доступную от точности и полноты. Другой очень полезной мерой является ROC-AUC (рабочие характеристики приемника — область под кривой), но я подозреваю, что вам достаточно для одного дня.

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

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

Саураб

Ссылки и дополнительная литература:

  1. https://machinelearningmastery.com/confusion-matrix-machine-learning/
  2. https://en.wikipedia.org/wiki/Precision_and_recall
  3. https://en.wikipedia.org/wiki/Receiver_operating_characteristic
  4. https://nosweatshakespeare.com/quotes/soliloquies/to-be-or-not-to-be/
  5. http://www.marcovanetti.com/pages/cfmatrix/