Введение

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

Есть несколько подводных камней, когда дело доходит до реальных данных, реальных сегментов и похожего моделирования, о которых вы ДОЛЖНЫ знать. Чтобы добиться качественных результатов и принести прибыль бизнесу, необходимо их учитывать.

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

Итак, данная статья построена по следующему плану:

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

Почему обычная контролируемая двоичная классификация отстой в этой установке?

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

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

Если попытаться представить на одном из самых простых примеров, то весь этот алгоритм определенно имеет смысл.

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

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

Вот как мы можем столкнуться с концепцией обучения PU.

Позитивно-отрицательная и позитивно-немаркированная концепция обучения

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

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

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

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

Он называется показателем склонности. Здесь

  • s — индикаторная переменная для примера, который нужно пометить
  • y — Индикаторная переменная для примера, чтобы быть положительным

Следовательно, помеченное распределение является смещенной версией положительного распределения:

где f_l(x) и f+(x) — функции плотности вероятности помеченного и положительного распределений соответственно, а c — специальная константа нормализации, называемая частотой меток, которая представляет собой долю помеченных положительных примеров:

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

Первый выбирается полностью случайным образом (SCAR). Согласно этому предположению, наши образцы с положительной меткой выбираются совершенно случайным образом из набора всех положительных образцов. Показатель склонности, определенный выше, e(x), который представляет собой вероятность выбора положительного примера, в соответствии с этим предположением постоянен и равен частоте меток c:

Другими словами, когда мы «выбираем», какой из положительных примеров пометить, мы полностью игнорируем описание его признаков. Это может выглядеть так

А второй выбирается случайным образом(SAR). Несмотря на SCAR, предположение SAR предполагает, что у нас есть некоторая предвзятость выбора в процессе маркировки, которая будет изучена и включена в модель, обученную на этих данных. Помеченные примеры представляют собой смещенную выборку из положительного распределения, где смещение полностью зависит от атрибутов и определяется показателем склонности e(x):

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

Сравните два последних графика, надеюсь, теперь вы ясно понимаете, в чем разница.

Оценка моделей, обученных на выборочных данных SCAR и SAR

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

Теперь давайте попробуем разные стратегии выборки положительного класса:

  • Выбрано полностью случайным образом (SCAR) — мы случайным образом выбираем положительные образцы из общей популяции положительных результатов.
  • Выбрано случайным образом (SAR) означает, что мы выбираем только «некоторую часть» истинно положительных образцов по некоторому правилу.

Теперь давайте обучим модель на случайной подвыборке истинных негативов и небольшом положительном наборе, выбранном в соответствии с SCAR (на левом рисунке) и SAR (справа). Здесь мы делаем разбиение обучающих тестов, чтобы максимально упростить оценку производительности модели. Цветовая шкала представляет вероятность (быть положительным) в соответствии с моделями, обученными в каждом случае.

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

В таблице ниже вы можете увидеть значения метрики roc_auc для двух типов моделей, обученных на образцах положительного класса с типами выборки SCAR и SAR. Обе модели были установлены 50 раз. Оценка в каждой ячейке определяется как «среднее + одно стандартное отклонение».

Вот:

  • обучающая выборка — набор выборок, используемых для обучения модели.
  • тестовая выборка — это набор образцов, которые модель никогда раньше не видела
  • глобальная оценка представляет собой набор всех образцов, созданных для этого эксперимента (с подлинными метками классов).

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

Это ключевой момент: модель, обученная и проверенная на наборе данных со смещением выборки, не может использоваться для оценки качества решения исходной бизнес-задачи. Оценка производительности модели с помощью метрик при такой настройке имеет плохую «корреляцию» с истинными бизнес-целями.

Пример из жизни

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

Представьте, что вы работаете в компании, которая занимается профилированием пользователей по их интересам в Интернете с помощью механизмов cookie.
К вам приходит клиент — владелец сети ветеринарных клиник, у которого есть база постоянных клиентов. Он хочет найти похожих клиентов, которые также могут быть заинтересованы в его услугах, и поэтому он дает вам случайный сегмент пользователей из своей базы данных.
Компания, в которой вы работаете, имеет свою собственную базу данных пользователей, которая использует другую тип устройств: настольные компьютеры Windows и Linux, устройства IOS и Android. Однако по некоторым техническим причинам у вас есть хороший алгоритм сопоставления (алгоритм, который помогает сопоставлять клиентов вашего клиента и ваших пользователей) только для устройств IOS. Сопоставление всех других типов систем работает чисто и имеет низкую точность и показатели полноты.
Таким образом, положительный сегмент строится в соответствии с предположением SAR, показанным выше. Именно поэтому он состоит из необъективной выборки пользователей, которые раньше интересовались ветеринарными услугами И в первую очередь тех, чьи устройства связаны с платформой IOS.

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

Когда пытаешься разобраться, что не так, понимаешь, что обученная тобой модель все сделала совершенно правильно:
модель нашла самый простой способ отличить положительные примеры от отрицательных, выделив только пользователей, посещавших сайты, связанные с продукцией Apple . И если в вашей базе данных пользователей есть 20% пользователей IOS, и вы случайным образом выбираете из нее отрицательный набор, вы также получите те же 20% пользователей IOS. Это значит, что модель, которая с вашими характеристиками может отлично отличить пользователей IOS от всех остальных по интересам, в среднем будет верной в 4/5 случаев по вашим меткам классов. И метрики скажут вам именно об этом, и это не будет включать никакого фактического интереса к ветеринарным услугам вообще.

Заключение

Существует множество примеров того, как предвзятость выбора может испортить построение подходящих моделей машинного обучения для решения бизнес-задач. Теперь, вооружившись интуицией о том, что происходит в такой экспериментальной установке, можете ли вы вспомнить какие-либо случаи, когда необъективная выборка могла быть причиной некачественной модели?
Я буду рад и благодарен, если вы поделитесь своими мыслями. об этом в комментариях. Спасибо, что дочитали до конца.

В статье использованы материалы из этих источников:

Если вы хотите узнать больше о подходе к обучению PU, вам обязательно стоит попробовать.