Ожидаемое значение как показатель оценки в машинном обучении
Помните нашего героя Джона? Инженер машинного обучения, который боролся с заинтересованными сторонами и их нереалистичными ожиданиями? Честно говоря, мне пришлось зайти в предыдущие блоги, чтобы посмотреть, как парня зовут. Тем не менее, давайте продолжим его путь к лучшему построению проекта машинного обучения.
В одном из последних блогов мы говорили о том, как важно заранее установить метрику оценки, критерии успеха и провести анализ ошибок. Это ключ к успеху, но выбрать правильный вариант не так просто. В одном проекте мы гонимся за точностью, в другом больше ценим полноту. Другой проект — это регрессия, а еще один может использовать что-то производное. Не существует такой вещи, как лучшая метрика оценки.
Это зависит от самой бизнес-задачи, и мы всегда должны спрашивать себя, что мы решаем? Чего хочет бизнес? Независимо от того, что мы выбираем, заинтересованным сторонам должно быть совершенно ясно, что это означает и как это отражает бизнес-проблему. В этом блоге мы собираемся изучить ожидаемое значение как показатель оценки для бинарного классификатора.
Точность и несбалансированные классы
Мы все знаем, что работа с дисбалансом классов приводит к искажению меры точности. Классификатор, который предсказывает только один класс, будет иметь точность 90%, если в действительности соотношение классов 9: 1. Например, при обнаружении спама более 95% сообщений не являются спамом. Классификатор, который классифицирует каждое сообщение как не спам, будет иметь точность 95%. Достаточно ли хорош наш классификатор?
Допустим, у нас есть две модели, модель A и модель B. Обе модели имеют одинаковую точность 80% на сбалансированном тестовом наборе. Модели одинаковые? Какая из них лучше? Первое, что нам нужно сделать, это построить матрицу путаницы. Это показывает нам производительность наших моделей.
TP — true positive — predicted positive, and it is positive FP — false positive — predicted positive, but it is negative TN — true negative — predicted negative, and it is negative FN — false negative — predicted negative, but it is positive
Мы все это знаем, и все мы знаем, как вывести точность, полноту и другие показатели из матрицы путаницы. Если мы сравним модели A и B, то увидим, что модели по-разному распределяют ошибки. Это означает, что если у нас в реальности будет несбалансированное распределение классов, мы получим совершенно другую точность. Если бы наша модель имела тенденцию давать ложные срабатывания, это означало бы, что при соотношении классов 9:1 (в отрицательную сторону) мы бы давали гораздо больше ложных срабатываний.
В этом примере модель B кажется лучше, потому что в реальности она делает меньше ошибок на репрезентативном наборе данных.
Вторая причина, по которой точность может вводить в заблуждение, заключается в том, что она одинаково обрабатывает типы ошибок модели. На самом деле наказание за разные ошибки неодинаково. Вспомните старый добрый пример с раком. Диагностировать рак у здорового пациента или не диагностировать заболевание у больного раком. В этом случае мы можем согласиться с тем, что ложноположительный диагноз менее опасен, чем ложноотрицательный. При ложноположительном результате врач, как правило, проводит больше тестов и понимает, что рака нет, но несвоевременная диагностика потенциально опасна. Противоположный пример — классификатор спама. Это терпимо, когда вы получаете спам в свой почтовый ящик (ложный отрицательный результат), вы потеряете минуту, чтобы прочитать что-то бесполезное, так же, как пролистывать LinkedIn еще одну минуту. Тем не менее, не получить жизненно важное сообщение, потому что оно классифицируется как спам (ложное срабатывание), может быть неудачным.
Нам нужно больше думать о сфере бизнеса и спросить себя, какую проблему мы хотим решить? Какова цена неправильной классификации и какова награда за успешное предсказание? Модель ожидаемой ценности помогает нам в этом.
Ожидаемое значение
Я хотел бы сказать, что сам немного математик, но это было бы полной ложью. Большинство из нас, простаков, не мыслит вероятностью, и нашему мозгу это не нравится, так как это требует усилий, а мы ленивы, сохраняя энергию для прокрутки социальной сети и тому подобного. Во всяком случае, объясню так, как понял, и надеюсь, что настоящий математик не сожжет меня на костре.
p(x1) представляет вероятность появления x1, а v(x1) представляет значение (что мы получаем/теряем), если происходит результат x1. Затем ожидаемое значение представляет собой средневзвешенное значение всех возможных результатов.
Что это значит? Как, черт возьми, объяснить это заинтересованным сторонам, которые знают только о деньгах? Что ж, вы можете преобразовать эту формулу, чтобы рассчитать фактическую ожидаемую прибыль, которую должна дать модель. Как мы уже говорили ранее, матрица путаницы может точно отображать состояние нашего классификатора. Из области бизнеса мы можем сказать, насколько это плохо, если мы делаем ложноположительную или ложноотрицательную ошибку. Допустим, каждая ячейка в матрице путаницы имеет свою собственную прибыль/стоимость. Это может стоить нам, если наш классификатор ошибется, или мы можем получить прибыль, если наш классификатор не ошибется. Эти затраты и прибыль должны быть связаны с бизнесом.
Наконец, мы хотим включить дисбаланс классов при сравнении наших моделей. После применения некоторых математических расчетов (которые я не буду здесь приводить для простоты) мы приходим к окончательной формуле ожидаемой прибыли.
p(p) - likelihood of seeing a positive example; TP + FN / TOTAL p(n) - likelihood of seeing a negative example; TN + FP / TOTAL tpr - true positive rate TP / (TP + FN) tnr - true negative rate TN / (TN + FP) fpr - false positive rate FP / (TN + FP) fnr - false negative rate FN / (TP + FN)
Сначала это кажется пугающим, но мы видим, что уравнение состоит из двух частей. Первая часть представляет собой вклад в прибыль положительных примеров, а вторая часть представляет вклад в прибыль отрицательных примеров. Каждый вклад взвешивается по вероятности класса. Это означает, что чем меньше отрицательных примеров, тем меньше будет вклад в прибыль отрицательного класса.
В матрице затраты/прибыль мы видим, что получаем вознаграждение за каждый успешный положительный прогноз, но строго наказываем, если делаем ложноположительный прогноз. Матрица путаницы помогает нам рассчитать ожидаемую прибыль.
Это число означает, что если мы применим классификатор, мы можем ожидать в среднем 52,3 доллара прибыли за положительный прогноз, который делает наш классификатор.
Сноска
В этом сообщении блога мы увидели, как можно использовать расчет ожидаемой прибыли для сравнения двух моделей машинного обучения. Использование точности может ввести в заблуждение, особенно когда мы имеем дело с дисбалансом классов. Ожидаемая прибыль угрюмо помогает в ситуации, когда наши неправильно классифицированные примеры имеют свою цену. Это легко понять, и большие парни, в конце концов, любят говорить о деньгах. Тем не менее, мы только коснулись преимуществ.
Ожидаемое значение может помочь нам сформулировать проблему машинного обучения, объединив структуру проблемы, ML/DS и предметную область бизнеса. Это также помогает нам визуализировать нашу модель и решить, какой будет наиболее выгодный порог вероятности для нашей модели. Мы могли бы рассказать об этом в некоторых из следующих сообщений в блоге.
Вдохновение: книга Наука о данных для бизнеса
Предыдущие похожие блоги: