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

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

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

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

Поскольку наш пример основан на бинарной классификации, неплохо начать с нашей старой знакомой матрицы путаницы. Напомним, что количество TP, FN, FP и TN зависит от порога t, как и нормализованные показатели TPR и FPR, которые мы можем получить из подсчетов. Теперь мы добавляем два типа точек данных в каждую ячейку матрицы путаницы (показано ниже):

  • В первой строке у нас есть ожидаемые пропорции для каждой ячейки, которые зависят от пропорций класса (p для положительного класса и 1-p для отрицательного класса) и производительность модели, судя по TPR(t)и FPR(t).
  • Во второй строке у нас есть полезность, которую мы получаем для этой ячейки. Например, если результатом является TP, то v_TP является полезностью, связанной с этим результатом, что дает нам верхнюю левую ячейку. Часто возможность определить такую ​​функцию полезности является причиной того, что в первую очередь нанимают экономистов, но здесь мы считаем само собой разумеющимся, что такая функция существует. В производственных условиях TP – это работающий продукт, который мы продаем довольным клиентам. FN – это работающий продукт, который мы выбрасываем, потому что наша модель была ошибочно определена как имеющая недостаток, а FP – это продукт с недостатком, который пропущен в нашей модели и который мы продать ничего не подозревающему покупателю, и, наконец, TN — это продукт, который мы выбрасываем из-за фактической неисправности, выявленной нашей моделью. Мы можем представить способы расчета стоимости в каждом случае, но здесь нас интересуют окончательные результаты, полученные с помощью v_TP, v_FN, v_FP и v_TN. Они представляют собой прибыль (теплое и нечеткое чувство, если хотите) или убытки (утонувшее чувство страха, если хотите), к которым приводит каждый случай. Таким образом, полезность может быть положительной или отрицательной. Ожидаемая полезность – это средневзвешенное значение этих четырех значений, взвешенное по вероятности каждого из них.

Обратите внимание, что мы использовали тот факт, что FNR(t) = 1-TPR(t) и TNR(t) = 1-FPR(t), чтобы записать ожидаемую полезность в виде функции TPR и FPR. Поскольку TPR и FPR являются функциями порога t, ожидаемая полезность также является функцией t вместе с другими входными данными. Таким образом, мы можем визуализировать ожидаемую полезность двумя способами: (1) нарисовать кривые полезности (называемые кривыми безразличия) как функцию TPR и FPR, чтобы мы можем визуализировать его в пространстве ROC и (2) построить график ожидаемой полезности как функцию t, чтобы мы могли найти оптимальное значение для t во время выбора модели. Здесь мы будем делать и то, и другое, но сначала давайте займемся математикой.

Мы говорим, что нам безразлично два результата, если они имеют одинаковую ожидаемую полезность. Таким образом, чтобы визуализировать полезность в пространстве ROC, мы можем нарисовать кривые безразличия, установив ожидаемую полезность равной некоторой константе и решив уравнение в терминах TPR и FPR. Поскольку TPR и FPR являются конкурирующими целями, мы должны увидеть положительный наклон, показывающий, что любая выгода от увеличения в TPR, по крайней мере, несколько компенсируется стоимостью из-за увеличения FPR. Наклон s кривой безразличия определяет скорость, с которой мы готовы обменять TPR на FPR. Как мы находим s? Мы берем приведенное выше уравнение ожидаемой полезности, устанавливаем его равным некоторой константе, а затем пытаемся переписать его в терминах TPR и FPR, перемещая все остальные члены к одной константе на левую часть мы называем c. Результат после всех алгебраических перетасовок выглядит так:

Теперь из базового исчисления мы знаем, что уравнение, записанное как c = yb + xa, которое является линейным в пространстве x-y и имеет наклонзадается -a/b. Это означает, что установка ожидаемой полезности равной некоторой константе вычерчивает «кривые» безразличия, которые являются прямыми линиями в пространстве TPR-FPR. Наклон линий определяется выражением

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

Напомним, что s › 0 из-за компромисса между TPR и FPR. На занятиях по машинному обучению мы узнали, что для двоичной классификации можно нарисовать график ROC и использовать линию под углом 45 градусов в качестве базовой линии, которую мы считаем «моделью», которая случайным образом угадывает класс. подбрасывая беспристрастную монету. Но на практике это довольно низкая планка даже для базового уровня, и это имеет смысл только тогда, когда s близко к 1. В противном случае нам нужно использовать менее наивный базовый уровень. Это показано синей кривой безразличия в пространстве ROC (два верхних графика) или графиком зависимости ожидаемой полезности от порога t (два нижних графика):

  • Когда s = 1, существует своего рода баланс между двумя терминами, составляющими s, что означает, что относительная доля каждого класса уравновешивается тем, насколько -buck» мы получаем за правильную его классификацию. В этом случае желтая линия может служить нашей базовой линией. Обратите внимание, что по этому стандарту как зеленые, так и красные модели довольно хорошо превосходят базовый уровень.
  • В слева у нас s › 1, что означает, что (а) отрицательные классы перевешивают положительные или (b) правильная классификация отрицательного класса перевешивает правильную классификацию положительного класса с точки зрения полезности, или оба (a) и (b) выполняются. В этом случае хорошей отправной точкой является установка t = 1, что означает, что мы всегда отклоняем, что приводит к FPR = 0 и TPR = 0, которую мы можем использовать в качестве входных данных для расчета ожидаемой полезности и построения кривой безразличия, показанной синим, которая выступает в качестве нашей новой базовой линии. Обратите внимание, что красная модель всегда ниже базовой линии, независимо от t, в то время как зеленая модель превышает базовую линию для некоторых значений t, близких к 1 (соответствующих нижней -левый угол графика ROC).
  • В справа у нас s ‹ 1, что означает, что (a) положительные классы перевешивают отрицательные, или (b) правильная классификация положительного класса перевешивает правильную классификацию отрицательного класса с точки зрения полезности, или оба (a) и (b) выполняются. В этом случае хорошей отправной точкой является установка t = 0, что означает, что мы всегда принимаем, что приводит к FPR = 1 и TPR = 1, которую мы можем использовать в качестве входных данных для расчета ожидаемой полезности и построения кривой безразличия, показанной синим, которая выступает в качестве нашей новой базовой линии. Обратите внимание, что красная модель всегда ниже базовой линии, независимо от t, в то время как зеленая модель превышает базовую линию для некоторых значений t, близких к 0 (соответствует верхней -правый угол на графике ROC).

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