Какую проблему решают передискретизация, недостаточная выборка и SMOTE?

25

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

Общий смысл ответов с отбитым голосом состоит в том, что «это не так, по крайней мере, если вы вдумчивы в своем моделировании». М. Генри Л. в своем комментарии к принятому ответу с утверждением утверждает,

[...] нет проблем низкого уровня с использованием несбалансированных данных. По моему опыту, совет «избегать несбалансированных данных» зависит либо от алгоритма, либо от унаследованной мудрости. Я согласен с AdamO, что в целом несбалансированные данные не представляют концептуальной проблемы для четко определенной модели.

AdamO утверждает, что «проблема» с балансом классов действительно является проблемой редкости

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

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

Мэтью Друри
источник
Это именно то, что я бы изменил на ... спасибо. Он не охватывает всю сферу вашего вопроса, но название не обязательно ... оно ясно дает понять, о чем вы спрашиваете.
Glen_b
Конечно, существуют ситуации, когда методы начальной загрузки и подвыборки полезны, а иногда и лучше, чем другие непараметрические методы. Книги по начальной загрузке и подвыборке охватывают это. На этом сайте ведутся дискуссии, в которых обсуждается это, в том числе превосходство начальной загрузки над отсутствием одного в дискриминантном анализе даже в относительно небольших выборках. Конечно, есть ситуации, когда загрузчик не работает, и они упоминаются в моей книге, а также в других.
Майкл Р. Черник
@MichaelChernick Я не говорю о начальной загрузке, это то, о чем Глен комментировал. Я говорю о подходах «балансировки классов», таких как выборка с завышенной или пониженной выборкой, чтобы класс от положительного до отрицательного был одинаково представлен в наборе данных.
Мэтью Друри
Вы включаете субсэмплинг? Вы имеете в виду только неравный размер выборки? Насколько широко вы делаете заявление?
Майкл Р. Черник
@MichaelChernick Я добавил несколько поясняющих замечаний в первый и последний абзацы, надеюсь, это поможет.
Мэтью Друри

Ответы:

0

Некоторые методы выборки предназначены для корректировки смещения (если уровень численности населения известен и отличается), но я согласен с мнением о том, что несбалансированный класс не является самой проблемой. Одна из основных причин сводится к производительности обработки. Например, если наш целевой класс является крайне редким случаем в масштабе 1: 100000, наш набор данных моделирования будет массовым, а вычисления - трудными. Выборка, независимо от стратегии, всегда отбрасывает некоторые данные, чтобы уменьшить общий размер набора данных. Я полагаю, что различие между всеми различными стратегиями выборки заключается лишь в том, насколько разумны данные, которые мы отбрасываем, не жертвуя потерями в возможностях прогнозирования.

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

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

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

Я приведу вам более экстремальный пример. Рассмотрим случай, когда у вас есть набор данных с 99 точками данных, помеченными как положительные, и только одна - с отрицательными. Во время обучения ваша модель поймет, что если она классифицирует все как положительные, то в конечном итоге ей это сойдет с рук. Одним из способов решения этой проблемы является избыточная выборка недопредставленного класса, а другой - выборочная выборка перепредставленного класса. Например, в наборе данных из 70 положительных и 30 отрицательных меток я мог бы выбрать отрицательные метки с заменой и положительные без замены, что приведет к тому, что моя модель встретит больше отрицательных меток во время обучения. Таким образом, если моя модель попытается классифицировать все как положительное, это приведет к большим потерям, чем в противном случае.

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

L(Икся~,Yя)знак равно-α(Yя)пер(Икся~)-β(1-Yя)пер(1-Икся~)

где β>α, Величина разности β-α зависит от степени перепредставленности / недопредставленности.

Илькин Байрамлы
источник
0

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

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

Возьмите простую двоичную задачу классификации с соотношением 25: 1 обучающих примеров класса А против класса В. Исследования показали, что точность, относящаяся к классификации класса B, наносит удар просто из-за уменьшенного соотношения данных о тренировках. Имеет смысл, поскольку чем меньше у вас будет обучающих примеров, тем хуже ваш классификатор будет тренироваться на этих данных. Как заявил один из комментаторов, вы не можете сделать что-то из ничего. Из статей, которые я видел, в задачах мультиклассовой классификации кажется, что вам нужно получить соотношение 10: 1, чтобы начать оказывать существенное влияние на точность класса меньшинства. Возможно, люди, которые читают другую литературу, чем я видел, имеют разные мнения.

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

Независимо от вашей техники, вы изменяете отношения между классами большинства и меньшинства, что может повлиять на заболеваемость. Другими словами, если вы создаете классификатор для выявления супер-редкой болезни мозга X, частота которой составляет 1 на 100 000, а ваш классификатор - 1: 1, вы можете быть более чувствительным и менее конкретным с большим количеством ложных срабатываний , Если важно, чтобы вы выявляли эти случаи и выносили решения позже, все в порядке. Если нет, вы потратили много времени и денег других людей. Эту проблему в конечном итоге нужно будет решить.

Итак, чтобы ответить на вопрос:

tl / dr. Операции балансировки классов, такие как Over / Undersampling и SMOTE (и синтетические данные), существуют для улучшения производительности алгоритма машинного обучения (классификатора) путем устранения присущих ему характеристик производительности алгоритма, вызванных самим дисбалансом .

drsxr
источник