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

При классификации мы рассматриваем K классов {1, 2, 3,…, K} и входной вектор X. Мы классифицируем X как принадлежащий к классу i, который максимизирует P (Y = i | X).

Классификация LDA основана на теореме Байеса, которая гласит:

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

Мы можем рассматривать P (X | Y) как функцию плотности вероятности, подобную той, что ниже, высота которой говорит нам о вероятности ввода значения X, и у нас есть K графиков, по одному для каждого класса. Если высота графика большая, высока вероятность получить значение X, а если высота мала, вероятность мала.

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

Это КЛЮЧЕВОЕ предположение LDA. Этот метод будет работать лучше, если входные переменные будут иметь приблизительно нормальное распределение, и чем меньше это приближение, тем хуже будет производительность.

Подставляя нормальное распределение в теорему Байеса, мы получаем

Для простоты мы также предположим, что существует только 2 класса, поэтому i = 0 или 1, и классы имеют одинаковую дисперсию для X.

Мы хотим найти класс, который максимизирует это значение.

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

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

Мы можем отнести X к тому классу, который дает наибольшее значение дискриминантной функции. Обратите внимание, что формула линейна по X, отсюда и произошло название LDA.

Теперь давайте рассмотрим простой пример!

Устанавливая начальное значение 10 (важно для воспроизводимости), мы используем R для случайного генерирования 10000 точек из нормального распределения со средним значением -1 и дисперсией 1, которые мы обозначаем группой 1 (красный). Мы также случайным образом генерируем 10000 точек из нормального распределения со средним значением +1 и дисперсией 1, которые мы обозначаем как группу 2 (синий цвет). Мы хотим использовать LDA для классификации входа на принадлежность к одной из этих двух групп. На рисунке ниже мы видим, что X = 0 хорошо разделяет две группы.

В этом случае есть 10000 каждой группы, и поэтому с равной вероятностью вход принадлежит каждой из них. Следовательно, P (Y = 0) = P (Y = 1) = 0,5. Кроме того, группа 1 имеет среднее значение -1,002, а группа 2 - 0,996. Вычисляя оценку стандартного отклонения, получаем

Подставляя эти значения в дискриминантную функцию для группы 1, получаем

а для группы 2 получаем

Мы видим, что X будет классифицироваться как принадлежащий к группе 2, когда X> 0,003, и классифицироваться как принадлежащий к группе 2 в противном случае. Это очень близко к истинному обрезанию X> 0, которое теоретически могло бы существовать между двумя такими нормальными распределениями.

Обратите внимание, что мы можем ослабить требования, что K = 2, и сделать X многомерным вектором, чтобы получить аналогичные дискриминантные формулы. Нам просто нужно вычислить дискриминантную функцию K раз, а не дважды.

Однако если мы ослабим ограничение, что Var (X) постоянна для всех классов K, мы придем к немного иному методу, называемому квадратичным дискриминантным анализом или QDA. Но это тема для другого поста.

Спасибо за чтение и оставляйте любые комментарии или вопросы ниже!