Приступая к работе, МАШИННОЕ ОБУЧЕНИЕ

Балансировка - это неуравновешенность

Теория несбалансированной классификации

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

Как работают дискриминационные модели?

Основная задача вероятностного машинного обучения с учителем - это оценка p (y | x) с параметрическим распределением q (y | x, θ) с использованием максимизации условного правдоподобия, которую можно выполнить с помощью функции потери кросс-энтропии (также известной как лог-потеря). Кроме того, минимизация функции кросс-энтропийных потерь эквивалентна минимизации расхождения KL между истинным условным распределением и расчетным:

В этом уравнении H (Y | X) является постоянным, поэтому, чтобы минимизировать ожидаемое расхождение KL, мы должны минимизировать второй член, который равен log -потеря. Чтобы свести к минимуму потери журнала, сначала нам нужны выборки из p (x, y) для оценки ожидания, а затем мы можем решить проблему оптимизации и найти q (y | x, θ) как оценку p (y | x).

Но что, если у нас есть только образцы из p '(x, y) = p (x | y) p' (y) вместо p (x, y), где p '(y) - это эмпирическое предельное распределение, которое отличается от p (y)? Мы можем переписать потерю журнала следующим образом и использовать выборочные веса:

Он показывает, что для изучения p (y | x) нам нужно установить веса выборки на p (y) / p '(y), который равен 1, если эмпирическое предельное распределение совпадает с истинным предельным распределением. Следовательно, если p (y +) = 5%, но набор данных сбалансирован и p '(y +) = 50%, нам нужно установить веса выборки на 0,1. Это прямо противоположно тому, что мы делаем для несбалансированных наборов данных, когда мы учитываем равные веса после балансировки. Следовательно, главный вопрос: что плохого в использовании истинного предельного распределения для несбалансированных наборов данных? Здесь кроется трудность, и балансировка - выход из нее.

Что особенного в несбалансированных данных?

Когда я начал думать об этой проблеме, сначала я вспомнил о предвзятом отношении к классу большинства и предсказании с ним всех выборок, и поэтому я подумал, что проблема может быть связана с трудностью проблемы оптимизации и застреванием в локальных оптимумах. Фактически, для несбалансированных наборов данных маргинальное и условное распределения почти одинаковы с высокой вероятностью, в отличие от сбалансированных наборов данных. Следовательно, задав q (y | x) = p (y) и прогнозируя p (y | x) с помощью p (y), перекрестная энтропия равна H (Y), которая так мала. Следовательно, я подумал, что прогнозирование с классом большинства может быть сильным локальным оптимумом в пространстве параметров. Но потом я вспомнил, что функция потерь является выпуклой для логистической регрессии, и поэтому она должна тренироваться без каких-либо проблем. В следующем примере без использования каких-либо методов балансировки логистическая регрессия хорошо работает с несбалансированными данными, и мы можем очень хорошо оценить p (y + | x) с помощью σ (wᵀx). :

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

Вы можете заметить, что модель логистической регрессии плохо изучена, и мы не можем оценить p (y | x) с помощью σ (wᵀx). Исходя из этих наблюдений, мы можем задать важный вопрос: каковы основные предположения о данных, которые должны быть выполнены, чтобы позволить нам оценить p (y | x) с помощью σ (wᵀx)? Ответ можно найти в [1]: апостериорное распределение классов p (y | x) можно записать как σ ( wᵀT (x)) тогда и только тогда, когда условные распределения классов (p (x | y +) и p (x | y-)) принадлежат к одному экспоненциальному семейству с достаточной статистикой T (x). Например, обычным случаем является случай, когда условные распределения классов являются нормальными, и мы хотим их различать; В этом случае достаточной статистикой является [x, x²], что приводит к квадратичному дискриминанту. Если мы хотим иметь линейный дискриминант, ковариационные матрицы нормальных распределений должны быть одинаковыми, что приводит к сокращению квадратичных членов (см. 4.84 из [2]). Следовательно, предполагая, что у нас есть средство извлечения признаков, которое предоставляет нам условные распределения нормального класса с одинаковыми ковариационными матрицами, σ (wᵀx) является хорошей оценкой p (y | x).

Теперь предположим, что ввод - или извлеченный объект из ввода, например с помощью нейронной сети (см. [3]) - имеют нормальные условные распределения классов, и мы имеем дело с несбалансированным набором данных, где класс большинства имеет высокую вероятность почти везде, даже в области класса меньшинства (точно как на рис. 2. ). В этом случае ковариационная матрица условных выражений класса не может быть одинаковой, и по своей сути масштаб большинства классов больше. Кроме того, мы не можем преодолеть эту проблему путем преобразования в пространство ядра, потому что, каким бы ни было преобразование, класс большинства представлен в области класса меньшинства в дополнение к некоторым другим регионам, где класс меньшинства отсутствует. Следовательно, логистический сигмоид линейной функции не является хорошей оценкой апостериорного распределения.

Как помогает балансировка?

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

Предположим, мы правильно предсказали p '(y | x) после повторной выборки и построения сбалансированного набора данных, повернув p (y) в p' (y) , где p '(y +) и p' (y-) равны 0,5. Теперь пришло время восстановить p (y | x), что можно сделать следующим образом:

где мы использовали p '(x | y) = p (x | y) во втором уравнении (потому что мы только что изменили маргинальное распределение y и p (x | y) совпадает с p '(x | y)). Следовательно, наличие p ’(y | x) приводит к масштабированной версии p (y | x), которой достаточно для принятия решений.

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

Расширенная кросс-энтропия

Рассматривая рис.2, если набор данных несбалансирован, логистическая модель не может очень хорошо предсказать апостериорное распределение, и есть много плохих локальных оптимумов, среди которых лишь некоторые переоценивают апостериорное распределение класса меньшинства, а большинство недооценивают Это. Напротив, обычно значение класса меньшинства выше, и мы предпочитаем, чтобы его вероятность была переоценена, чем недооценена. Увеличивая веса образцов из класса меньшинства, мы меняем нашу функцию потерь на следующую и расширяем кросс-энтропию:

где ECE - расширенная кросс-энтропия, а α показывает веса выборки от 0 до 1, что велико для класса меньшинства и мало для класса большинства (например, α₊ = 0,8 и α₋ = 0,2, где сумма равна 1). На следующих двух рисунках сравнивается ECE для α₊ = 0,5 и α₊ = 0,8. Очевидно, что на рис. 4 мы наказываем недооценку p (y + | x) гораздо больше, чем ее завышение.

Также установив производную ECE по q равной нулю, мы можем найти минимизатор ECE как:

что равно p (y + | x), если α₊ = 0,5. Это уравнение также дает нам возможность восстановить p (y | x) из q (y | x), где q оценивается на сбалансированной набор данных.

Балансировка и усиление

Логистическая регрессия - слабый классификатор несбалансированных данных, но, как мы знаем, объединение некоторых слабых классификаторов может сделать сильный. Повышение квалификации - один из методов, которые последовательно объединяют слабых учеников, увеличивая веса неправильно классифицированных выборок на каждом этапе. Балансировка набора данных похожа на рассмотрение двухэтапного AdaBoost, где первый слабый классификатор не изучает ничего, кроме класса большинства, а второй обучается на сбалансированном наборе данных 50–50, а затем он используется в качестве основного классификатора.

Примечания

  1. Банерджи, Ариндам. Анализ логистических моделей: экспоненциальные семейные связи и онлайн-производительность. Труды Международной конференции SIAM 2007 по интеллектуальному анализу данных.
  2. Бишоп, Кристофер М. Распознавание образов и машинное обучение. Спрингер, 2006.
  3. Важность этого обсуждения становится более очевидной, учитывая глубокие классификаторы, которые используют логистические сигмоидальные функции или функции softmax для оценки p (y | x) в пространстве извлеченного признака. Фактически, глубокие модели сначала преобразуют данные в пространство признаков в слое перед выходным слоем, а затем используют тот же метод, что и логистическая регрессия, для оценки апостериорного распределения. И, следовательно, если есть какие-либо важные предположения, глубокая модель должна иметь возможность построить пространство функций, которое обладает этими предположениями.