Jaka jest różnica między SVM a LDA?

17

Jaka jest różnica między maszynami wektorów wsparcia a liniową analizą dyskryminacyjną?

Daulton Gray
źródło
Czy uważasz, że wszystkie maszyny SVM są liniowe?
1
LDA próbuje zmaksymalizować odległość między średnimi dwóch grup, podczas gdy SVM próbuje zmaksymalizować margines między dwiema grupami.,

Odpowiedzi:

19

LDA: Zakłada: dane są normalnie dystrybuowane. Wszystkie grupy są identycznie rozmieszczone, w przypadku gdy grupy mają różne macierze kowariancji, LDA staje się Quadratic Discriminant Analysis. LDA jest najlepszym dostępnym dyskryminatorem na wypadek, gdyby wszystkie założenia zostały spełnione. Nawiasem mówiąc, QDA jest klasyfikatorem nieliniowym.

SVM: Uogólnia optymalną separację hiperpłaszczyzny (OSH). BHP zakłada, że ​​wszystkie grupy są całkowicie rozdzielne, SVM wykorzystuje „zmienną luzu”, która pozwala na pewne nakładanie się między grupami. SVM nie przyjmuje żadnych założeń dotyczących danych, co oznacza, że ​​jest to bardzo elastyczna metoda. Z drugiej strony elastyczność często utrudnia interpretację wyników z klasyfikatora SVM w porównaniu z LDA.

Klasyfikacja SVM stanowi problem optymalizacji, LDA ma rozwiązanie analityczne. Problem optymalizacji SVM ma podwójne i pierwotne sformułowanie, które pozwala użytkownikowi zoptymalizować albo liczbę punktów danych, albo liczbę zmiennych, w zależności od tego, która metoda jest najbardziej wykonalna obliczeniowo. SVM może również wykorzystywać jądra do przekształcania klasyfikatora SVM z klasyfikatora liniowego w klasyfikator nieliniowy. Użyj swojej ulubionej wyszukiwarki, aby wyszukać „sztuczkę jądra SVM”, aby zobaczyć, jak SVM wykorzystuje jądra do transformacji przestrzeni parametrów.

LDA wykorzystuje cały zestaw danych do oszacowania macierzy kowariancji, a zatem jest nieco podatny na wartości odstające. SVM jest zoptymalizowany dla podzbioru danych, czyli tych punktów danych, które leżą na marginesie separacji. Punkty danych wykorzystywane do optymalizacji nazywane są wektorami pomocniczymi, ponieważ określają one, w jaki sposób SVM rozróżnia grupy, a tym samym obsługuje klasyfikację.

O ile mi wiadomo, SVM nie rozróżnia dobrze więcej niż dwóch klas. Odległą solidną alternatywą jest zastosowanie klasyfikacji logistycznej. LDA dobrze radzi sobie z kilkoma klasami, o ile spełnione są założenia. Uważam jednak (ostrzeżenie: okropnie bezpodstawne twierdzenie), że kilka starych testów porównawczych wykazało, że LDA zwykle osiąga całkiem dobre wyniki w wielu okolicznościach, a LDA / QDA są często gotowymi metodami w początkowej analizie.

LDA może być używany do wyboru funkcji, gdy ze rzadkim LDA: https://web.stanford.edu/~hastie/Papers/sda_resubm_daniela-final.pdf . SVM nie może dokonać wyboru funkcji.p>n

W skrócie: LDA i SVM mają ze sobą niewiele wspólnego. Na szczęście oba są niezwykle przydatne.

Beyer
źródło
Analiza dyskryminacyjna Fishera, która jest swoistym rodzajem LDA, nie wymaga normalnego rozkładu w zestawach danych ani tej samej kohezji.
Kod Papież
4

SVM koncentruje się tylko na punktach trudnych do sklasyfikowania, LDA koncentruje się na wszystkich punktach danych. Takie trudne punkty są bliskie granicy decyzji i są nazywane wektorami wsparcia . Granica decyzyjna może być liniowa, ale także np. Jądro RBF lub jądro wielomianowe. Gdzie LDA jest transformacją liniową w celu maksymalizacji separowalności.

LDA zakłada, że ​​punkty danych mają tę samą kowariancję i zakłada się, że gęstość prawdopodobieństwa jest rozkładem normalnym. SVM nie ma takiego założenia.

LDA jest generatywny, SVM jest dyskryminujący.

hh32
źródło
2

Krótka i słodka odpowiedź:

Powyższe odpowiedzi są bardzo dokładne, więc oto krótki opis działania LDA i SVM.

Maszyny wektorów pomocniczych znajdują separator liniowy (kombinacja liniowa, hiperpłaszczyzna), który oddziela klasy z najmniejszym błędem, i wybiera separator z maksymalnym marginesem (szerokość, którą granicę można zwiększyć przed osiągnięciem punktu danych).

Np. Który separator liniowy najlepiej oddziela klasy?

wprowadź opis zdjęcia tutaj

Ten z maksymalnym marginesem:

wprowadź opis zdjęcia tutaj

Liniowa analiza dyskryminacyjna wyszukuje średnie wektory każdej klasy, a następnie znajduje kierunek projekcji (obrót), który maksymalizuje separację średnich:

wprowadź opis zdjęcia tutaj

Uwzględnia również wariancję wewnątrz klasy, aby znaleźć rzut, który minimalizuje nakładanie się rozkładów (kowariancja), jednocześnie maksymalizując rozdzielenie średnich:

wprowadź opis zdjęcia tutaj

Renel Chesak
źródło