Объяснение основных показателей - точности и запоминания - на примере сортировки картофеля.

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

Эта статья объяснит эти вопросы и прояснит разницу между этими двумя показателями. В конце вы найдете два вопроса, которые проверит ваше понимание.

Мотивация

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

Разве точности недостаточно?

Нет, к сожалению нет. Рассмотрим крайний пример. В поле 95 камней и всего 5 картофелин (всего 100 объектов), и у нас есть модель с точностью 95%. Это достаточно высокая точность, мы остались довольны моделью. Однако мы ничего не знаем о том, сколько у нас картофеля. Возможны и другие варианты, что мы можем получить (какую модель рассматривает как картошку):

  • 5 картошек и 5 камней (правильно на поле остается 90 камней),
  • 2 картофелины и 2 камня (правильно в поле остается 93 камня),
  • 0 картошки и 0 камней (правильно на поле остается 95 камней),

Все эти примеры имеют 95% точность, поскольку они правильно распознали 95 из 100 объектов, будь то картофель или камни. Я признаю, что этот пример маловероятен. Однако, как мы видим, мы можем получить весь картофель, а также без картофеля с той же точностью. Точность не говорит нам ничего конкретного об одном классе.

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

Вернемся к нашей картошке ...

Делаем модель (классификатор), которая узнает, как выглядит картофель. Обучение (обучение) модели выглядит так:

Учитель: «Эй, модель, это картофель».
Модель: «Хорошо, я запомню, что картофель выглядит так . »
Учитель:« Эй, модель, это еще одна картошка ».
Модель:« Хорошо, я запомню что картофель может выглядеть так же ».
Учитель:« Эй, модель, это НЕ картофель ».
Модель:« ОК , Я запомню, что картофель так не выглядит ».

Это небольшая абстракция. Обучение модели - это не совсем диалог. Но к этой идее о том, что модель помнит, вернемся позже.

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

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

Метрики невозможно объяснить без упоминания матрицы путаницы. Если вам знакома эта проблема, вы можете пропустить этот раздел.

Матрица неточностей (CM) представляет собой таблицу совпадений (случаи, предсказанные справа - зеленые части: TP, TN) и ошибок (красные части: FP, FN).

  • TP (истинные положительные результаты) - это количество правильно предсказанных p положительных случаев (совпадений).
  • TN (истинно отрицательные) - это количество правильно предсказанных не отрицательных случаев (совпадений).
  • FP (ложные срабатывания) - это количество неверно предсказанных p положительных случаев (ошибок).
  • FN (ложноотрицательные результаты) - это количество неверно предсказанных n отрицательных случаев (ошибок).

Затем на основе этих значений рассчитываются индивидуальные показатели.

Если рассматривать этап тестирования (прогнозирования) как диалог, он будет выглядеть так:

Учитель: «Эй, модель, что это?»
Модель: «Я думаю, это картошка».
Учитель : «Это Т рут! Вы назвали это P otato (P положительное значение), поэтому я увеличу значение True Positive ".
# TP + = 1

Учитель: «Эй, модель, что это?»
Модель: «Я бы сказал, это картошка».
Учитель : «Нет, это не картошка! Вы сказали «картофель», но это камень - значит, это F alse. Вы предсказали P otato (P положительное значение), поэтому я добавлю единицу к Ложным срабатываниям ».
# FP + = 1

Учитель: «Эй, модель, а что насчет этого?»
Модель: «Я думаю, это не картошка».
Учитель: «Это Ф, это картошка! Ваш прогноз оказался Н, поэтому мне нужно увеличить значение Ложноотрицательное ».
# FN + = 1

Учитель: «Эй, модель, что это?»
Модель: «В данном случае, я думаю, это не картошка».
Учитель: «Это T rue! Как вы уже догадались, это нет картофеля. Я добавлю один в Истинные отрицательные слова ».
# TN + = 1

Точность

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

Это отношение правильно предсказанных положительных значений (TP) к количеству предсказаний (извлеченных элементов - в нашем случае суммы первого столбца CM).

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

Положительное прогнозируемое значение (PPV) - это еще одно название точности.

Отзывать

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

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

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

Хорошо, так как это запомнить?

Слово вспомнить также означает «помнить» (как глагол). Это соотношение, которое модель запомнила правильно - правильно предсказала положительные значения. Вернемся к упомянутой ранее идее о том, что модельное обучение - это запоминание или запоминание.

Во время обучения мы показали нашей модели (например) 10 картошек. Теперь мы снова покажем нашей модели те же 10 картофелин, но попросим модель решить, являются ли они картофелем или нет. Модель определит (запомнить) картофель (например) в 8 случаях. Это означает, что отзыв равен 80%. Модель правильно распознала 8 картошек из десяти.

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

Заключение

Точность не совсем подходит, если нас интересует только один класс или данные несбалансированы. Это процент всех правильных прогнозов (картошка и косточки вместе).

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

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

Вопросы - Теперь понятно?

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

  • Модель А: точность = 100%, отзывчивость = 90%.
  • Модель Б: точность = 90%, отзывчивость = 100%.
  • Модель C: точность = 98%.

2) Если ваша цель - собрать как можно больше картофеля с поля, какая модель вам больше подойдет?

  • Модель А: точность = 100%, отзывчивость = 90%.
  • Модель Б: точность = 90%, отзывчивость = 100%.
  • Модель C: точность = 98%.

Решение вопросов

1) Модель А

В этом случае важна точность, равная 100%. Мы не хотим, чтобы в еде были камни.

2) Модель B

В этом случае важно вспомнить, равное 100%. Мы не хотим оставлять картошку на поле.

Если вы готовите обед прямо из картошки, выбранной вашей моделью, желаю вам точности равной 100%. :-)

Приятного аппетита! ;-)