Обучение под наблюдением с «редкими» событиями, когда редкость обусловлена ​​большим количеством контр-фактических событий

13

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

Для простоты предположим, что есть N покупателей и N продавцов, и каждый из них находит совпадение. Есть N совпадений и (N-1) (N-1) не совпадений. Комплексный обучающий набор данных содержит N + (N-1) * (N-1) наблюдений, которые могут быть чрезмерно большими. Казалось бы, случайная выборка из (N-1) (N-1) несоответствий и обучение алгоритму на этих сокращенных данных может быть более эффективной. Мои вопросы:

(1) Является ли выборка из несоответствий для построения обучающего набора данных разумным способом решения этой проблемы?

(2) Если (1) верно, существует ли строгий способ определить, какой большой из (N-1) (N-1) включить?

Джон Хортон
источник

Ответы:

11

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

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

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

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

Дикран Сумчатый
источник
3
(+1), однако я думаю, что нужно различать цель ранжирования (мера: AUC) и разделения двух классов (мера: точность). В первом случае, учитывая вероятностный классификатор, такой как Наивный Байес, дисбаланс играет меньшую роль, я полагаю. Или в этом случае тоже надо волноваться? Другой вопрос: что вы подразумеваете под «пост-обработкой результатов»? Преобразование баллов в реальные вероятности?
Штеффен
@Steffen Моя интуиция заключается в том, что проблема дисбаланса классов не так важна для ранжирования, но она не исчезнет полностью (я работаю над документом по этой проблеме, так что это то, что стоит решить). Под постобработкой я имел в виду умножение выходных данных на соотношение частот рабочего класса и класса учебных наборов, а затем повторную нормализацию, чтобы вероятности всех возможных результатов сводились к одному. Однако на практике фактический оптимальный коэффициент масштабирования, вероятно, будет несколько отличаться - следовательно, оптимизировать с помощью XVAL (но все же повторно нормализовать).
Дикран Marsupial
1

По поводу (1). Вам нужно сохранять положительные и отрицательные замечания, если вы хотите значимых результатов.
(2) Нет более мудрого метода субсэмплинга, чем равномерное распределение, если у вас нет априори в ваших данных.

Ugo
источник
Спасибо Уго - согласился, в тренировочных данных обязательно должны быть как совпадения, так и несоответствия. Вопрос в том, сколько из (N-1) (N-1) несоответствий необходимо. Для части (2) я определенно выбрал бы вес с равным весом по всем наблюдениям.
Джон Хортон
Хорошо, если у вас нет априорных данных, нет разумного способа для выборки данных. Таким образом, вы должны сделать равномерную выборку, и в этом случае, чем больше вы берете, тем лучше. Тем не менее, вы можете оценить ошибку, вызванную выборкой, но нам здесь не хватает информации, чтобы помочь вам в этом вопросе.
Ugo
Мне кажется, что ошибка будет зависеть от типа используемого классификатора. В любом случае вы всегда можете попытаться прогнозировать при различной частоте выборки и установить порог, в котором вы считаете, что внесенная ошибка является удовлетворительной.
Ugo