Будьте правы при моделировании классификации, когда это наиболее важно

Вступление

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

1. Классификация, цели и ценность

Область науки о данных показала большую ценность в автоматизации или расширении определенных решений в бизнес-процессе. Теоретически это составляет:

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

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

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

2. Пейзаж обучения с учетом затрат

Учитывая матрицу затрат c = (c (i, j) (x)), где c (i, j) (x) представляет собой стоимость (возможно, отрицательную или нулевую) классификации x (который на самом деле является членом класса j) как находящегося в классе i. Первое сокращение, которое можно было бы сделать, - это предположить, что эти функции c (i, j) на самом деле постоянны. Это различие известно как стоимость, зависящая от класса, в отличие от примерной стоимости, зависящей от класса. Примеры зависимых затрат более сложны, и, вообще говоря, о том, как с ними справиться, известно меньше. В этом обсуждении мы ограничимся случаем затрат, зависящих от класса.

Еще одно различие, которое вы могли бы сделать, - это вариант с двумя классами и с несколькими классами. Двухклассовый случай зависимого от класса обучения, чувствительного к стоимости, был адекватно решен (по крайней мере, в некотором смысле) путем сведения к двухклассному случаю нечувствительного к стоимости обучения, а затем выбора оптимального порога решения, определяемого матрицей затрат (при условии, что некоторые очень мягкие условия разумности на матрицу затрат) [1]. Мы даем описание этого решения в разделе 2.2.

Случай с несколькими классами менее ясен. Можно сначала разделить сферу решений на следующие две стратегии:

  1. Сведите к случаю двух классов, используя методы «один против одного» или «один против всех».
  2. Создайте решение, рассматривая все классы и затраты одновременно.

Классическое решение, не сводящееся к двухклассному случаю, включает

весовой класс i по

где c (i) - сумма i -го столбца матрицы затрат, например

и n (k) - количество примеров в классе k, κ - количество классов, а n - общее количество примеров. в обучающем наборе.

Когда κ = 2, это решение, упомянутое выше, но когда m ›2, мы можем продемонстрировать, что это решение в некоторых случаях является неоптимальным.

Когда κ ›2 Чжоу и Лю дают условия на матрицу затрат c, при которых может быть получено оптимальное решение [2]. Кроме того, предполагается, что, когда c не удовлетворяет этим условиям, сокращение до случая двух классов с использованием метода «один против одного» приводит к лучшему решению. Однако это решение существенно увеличивает время вычислений, необходимое для обучения и оценки решения.

3. Случай двух классов

3.1 Пример мотивации

Предположим, у вас есть обучающая задача с обучающими данными X = {x (1), x (2),. . . , x (n)} → {0,1}, который вы хотите смоделировать. Допустим, имеется n (0) отрицательных случаев и n (1) положительных случаев. Предположим, мы решили перебалансировать эти данные (например, увеличить или уменьшить выборку отрицательного класса) так, чтобы было n (1) отрицательных случаев и n (1) положительных случаев. То есть мы умножаем количество отрицательных случаев на n (1) / n (0).

Рассмотрим теперь следующую теорему Элкана [1]:

Теорема 1: чтобы целевой порог вероятности p * соответствовал заданному порогу вероятности p (0), количество отрицательных примеров в обучающем наборе следует умножить на

Предположим далее, что мы обучаем модель f: X → [0, 1], которая моделирует вероятность P (y = 1 | x), и прогнозируем, используя порог 0,5. То есть:

Используя теорему 1, мы можем вычислить порог принятия решения исходных данных (до балансировки), которому это соответствует. Этот расчет приведен ниже:

Итак, мы видим, что моделирование сбалансированных данных с порогом 0,5 соответствует моделированию необработанных (или исходных) данных с порогом n (1) / n. Остается заметить, что порог оптимального решения определяется именно наличием матрицы затрат.

Пусть c будет вещественной матрицей

где c (i, j) - стоимость прогнозирования класса i, когда истинность - класс j (например, c (0, 1) - стоимость ложноотрицательного результата).

Далее мы потребуем, чтобы выполнялись следующие два условия (известные как условия «разумности»):

(т.е. правильная маркировка примера предпочтительнее неправильной маркировки).

Такая матрица называется «матрицей затрат» в двухклассной постановке.

Наблюдение 1: всегда существует стоимость (возможно, отрицательная или нулевая), связанная с классификацией примера как класса i, который на самом деле является членом класса j .

Тогда возникает естественный вопрос, учитывая матрицу затрат c, и функцию f: X → [0, 1], которая моделирует вероятность P (y = 1 | x), какие критерии следует использовать, чтобы определить, следует ли классифицировать x как 0 или 1?

Естественным критерием является классификация x как 1 именно тогда, когда ожидаемая стоимость классификации как 1 меньше, чем классификация как 0 (если два ожидаемых значения равны, это не имеет значения. что мы выбираем). Точнее, мы должны пометить x как 1 тогда и только тогда, когда:

Тогда оптимальным порогом является значение p *, удовлетворяющее:

Решая для p *, мы приходим к:

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

который, по сути, говорит, что (фиксируя стоимость ложного срабатывания на 1), цена «пропуска» положительного случая пропорциональна его редкости.

Наблюдение 2: этот расчет объясняет, почему (возможно, неизученная) практика балансировки и определения порога 0,5 является разумной практикой в ​​отсутствие более полной информации, поскольку затраты часто пропорциональны редкости пропущенных мероприятие. Тем не менее, при наличии более полной информации (т. Е. Явной матрицы затрат) рекомендуется выполнить ее явную оптимизацию.

3.2 Стратегия двух классов

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

Пусть c = (c (i, j)) будет вещественной матрицей, где c (i, j) - стоимость прогнозирования класса i когда истинность класса j удовлетворяет условиям разумности c (0,1) ›c (0,0) и c (1,0)› c (1,1). Тогда оптимальный порог принятия решения определяется как:

что по теореме 1 соответствует умножению числа отрицательных случаев на:

То есть мы должны выбрать (c (1,0) -c (0,0)) / (c (0,1) -c (1,1)) отрицательного класса, или эквивалентно, утяжелите положительный класс с помощью c (0,1) -c (1,1), а отрицательный класс с помощью c (1,0) -c (0,0) .

Таким образом, мы приходим к следующему алгоритму работы с двухклассовым случаем:

4 Мультиклассовый случай

Предположим теперь, что у нас есть κ классов с вещественной матрицей затрат κ × κ c = (c (i, j)), как указано выше. Наша цель - построить вектор весов w = (w (1), w (2),..., W (k)) с каждым w (i) положительное действительное число.

Оптимальное решение w должно, в частности, быть оптимальным решением в случае двух классов. То есть для каждого i, j ∈ {1,. . . , κ} с i отличным от j, мы должны иметь:

Мы можем упростить это, если далее будем настаивать на том, чтобы c (i, i) = 0 для всех i (что по разумности также делает все другие веса положительными) и сокращаем это до:

Таким образом, мы приходим к κ и выбираем 2 уравнения, линейных по w (i):

из которого мы хотели бы найти решение w = (w (i)) со всеми положительными w (i).

Чтобы это было возможно, мы требуем, чтобы соответствующая матрица коэффициентов указанной выше системы имела ранг меньше κ. Если это условие выполнено, мы можем решить напрямую для наших весов w. В противном случае мы должны применить другой подход (раздел 4.1) или свести к 2-классному случаю (раздел 4.2).

4.1 Классический подход

Классический подход к взвешиванию, зависящему от класса, был представлен Брейманом и др. В [3] (хорошее обсуждение также можно найти в [4]). Основная идея вытекает из следующего наблюдения:

Наблюдение 3: Вес, присвоенный классу i, должен быть пропорционален стоимости неправильной классификации члена класса i.

Каково тогда разумное приближение стоимости неправильной классификации члена класса i? Если бы мы уже построили наш классификатор и знали вероятность ошибочной классификации члена класса i как класса j (назовем это P (y '= j | y = 1)), тогда это значение будет:

Учитывая, что мы не можем вычислить эти вероятности до построения нашего классификатора, разумный подход состоит в том, чтобы предположить, что все эти вероятности равны, давая предлагаемый вес c (i) для i th класс, где c (i) задается

Конвенция настаивает на том, чтобы эти веса затем масштабировались

давая окончательный вес:

где c (i) определено, как указано выше, n (k) - количество примеров в классе k, κ - количество классов , а n - общее количество примеров в обучающей выборке.

Обратите внимание, что когда κ = 2 и c (0,0) = c (1,1) = 0, тогда эта формула дает знакомое решение:

4.2 Редукция к случаю 2-го класса

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

4.3 Мультиклассовая стратегия

Теперь мы подошли к тому моменту, когда мы можем предложить две альтернативные стратегии прогнозирования, которые мы будем называть «SimpleCost» (алгоритм 3, предложенный в [3] и описанный в [4]) и «ComplexCost» (алгоритм 4, предложенный в [2]. и известен как RESCALEnew).

Алгоритм SimpleCost работает так, как написано для любого учащегося L, который принимает веса класса w. Для учащихся, которые не принимают веса, эквивалентная схема взвешивания может быть реализована путем сочетания повышающей и понижающей дискретизации [Приложение].

Вместо этого алгоритм ComplexCost пытается найти ненулевую схему взвешивания, которая удовлетворяет (вероятно, переопределенной) системе ограничений - сводя к случаю двух классов, когда такого решения не существует.

Напомним, что для вещественной матрицы затрат размером κ × κ c = (c (i, j)) существует κ выберите 2 уравнения, линейных по w (i):

которому должны удовлетворять оптимальные веса w = (w (i)). Мы можем поместить коэффициенты в этой системе в матрицу выбора 2 × κ, которая в алгоритме 4 обозначена как c ’.

5. Практический пример - Сравнение затратных и традиционных методов в задаче маршрутизации лида.

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

1. Отправьте лида команде, которая продает только дорогостоящие продукты.

2. Отправьте лида команде, которая продает только недорогие товары.

3. Выберите не выдвигать инициативу.

Здесь есть некоторая сложность, потому что продукты, на которые может претендовать потенциальный клиент, явно не известны. Не могло быть никаких продуктов; это могут быть только малоценные товары; или это могут быть товары с высокой и низкой стоимостью. Мы можем легко создать матрицу «Маржа вклада» (или CM-матрицу) на основе бизнес-знаний, которая может выглядеть примерно так:

В общем, это просто реальные числа, но важно, чтобы все значения были в одних и тех же единицах (в данном случае в долларах США) и относились к одной и той же базовой линии.

В этом случае мы можем интерпретировать, что отправка лида бизнес-команде, который на самом деле не может быть продана, обходится бизнесу в 10 долларов (затраты на выполнение работы по попытке осуществить продажу). Если вы не хотите отправлять лид бизнес-команде, вам не придется платить (но CM не будет сгенерирован). Мы также видим, что команда, продающая малоценные продукты, может продать лида, который соответствует требованиям для ценных продуктов; но при этом команда создаст 50 долларов в CM вместо 70 долларов в CM, которые можно было бы получить, отправив лида команде высокоэффективного продукта.

Выполнение замены c (i, j) - ›-c (i, j) + c (j, j) генерирует соответствующую матрицу относительных затрат:

Затем мы можем сгенерировать соответствующие подсчеты, затраты и веса, необходимые для алгоритма SimpleCost:

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

Этот метод дает в среднем 12,18 долларов США за лид.

Используя метод SimpleCost, но используя того же ученика и тот же набор задержек, мы приходим к следующей матрице путаницы:

Таким образом, средний CM за лид составляет $ 16,00 (улучшение на 31%). Читатель заметит, что эффект чувствительного к стоимости метода заключается в следующем:

1. Признайте, что неправильное предсказание класса C является самым болезненным.

2. Соответствующий вес тренировочных примеров из классов A и B.

3. Получите модель, которая чаще предсказывает классы A и B, что приводит к более низкой точности, но гораздо более ценной модели в данном бизнес-контексте.

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

Заключение

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

Заинтересованы в решении сложных проблем и создании продуктов, повышающих ценность? Посетите нас на RedVentures.com.

Приложение: Создание стратегий выборки из весов

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

Непосредственный расчет показывает, как получить желаемое сочетание класса i: μ (i) с точки зрения вычисленного веса w (i) и количества примеров в обучающем наборе. (перед любой выборкой вверх или вниз) n (i). Эта формула приведена ниже:

использованная литература