В чем разница между SVM и LDA?

17

В чем разница между машинами опорных векторов и линейным дискриминантным анализом?

Донтон Грей
источник
Как вы думаете, все SVM являются линейными?
1
LDA пытается максимизировать расстояние между средствами двух групп, в то время как SVM пытается максимизировать разницу между двумя группами.,

Ответы:

18

LDA: Предполагается: данные распределены нормально. Все группы распределены одинаково. Если группы имеют разные ковариационные матрицы, LDA становится Quadratic Discriminant Analysis. LDA - лучший доступный дискриминатор, если все предположения действительно выполнены. QDA, кстати, является нелинейным классификатором.

SVM: обобщает оптимально разделенную гиперплоскость (OSH). OSH предполагает, что все группы полностью разделимы, SVM использует «переменную слабины», которая допускает определенное перекрытие между группами. SVM не делает никаких предположений относительно данных, то есть это очень гибкий метод. Гибкость, с другой стороны, часто затрудняет интерпретацию результатов с помощью классификатора SVM по сравнению с LDA.

Классификация SVM - это проблема оптимизации, LDA имеет аналитическое решение. Задача оптимизации для SVM имеет двойную и первичную формулировку, которая позволяет пользователю оптимизировать либо число точек данных, либо количество переменных, в зависимости от того, какой метод является наиболее выполнимым в вычислительном отношении. SVM также может использовать ядра для преобразования классификатора SVM из линейного классификатора в нелинейный классификатор. Используйте вашу любимую поисковую систему для поиска «трюка ядра SVM», чтобы увидеть, как SVM использует ядра для преобразования пространства параметров.

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

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

п>N

Короче говоря, LDA и SVM имеют очень мало общего. К счастью, они оба чрезвычайно полезны.

Бейер
источник
Дискриминантный анализ Фишера, который является специфическим типом LDA, не требует нормального распределения по наборам данных или одинакового охлаждения.
Код папы
4

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

LDA предполагает, что точки данных имеют одинаковую ковариацию, а плотность вероятности считается нормально распределенной. У SVM нет такого предположения.

LDA является генеративным, SVM дискриминационным.

hh32
источник
2

Короткий и приятный ответ:

Ответы выше очень полны, поэтому вот краткое описание того, как работают LDA и SVM.

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

Например, какой линейный разделитель лучше всего разделяет классы?

введите описание изображения здесь

Тот с максимальным запасом:

введите описание изображения здесь

Линейный дискриминантный анализ находит средние векторы каждого класса, затем находит направление проекции (вращение), которое максимизирует разделение средних:

введите описание изображения здесь

Также учитывается дисперсия внутри класса, чтобы найти проекцию, которая минимизирует перекрытие распределений (ковариация) при максимальном разделении средних:

введите описание изображения здесь

Ренел Чесак
источник