Jaka jest różnica między maszynami wektorów wsparcia a liniową analizą dyskryminacyjną?
Jaka jest różnica między maszynami wektorów wsparcia a liniową analizą dyskryminacyjną?
Odpowiedzi:
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.
W skrócie: LDA i SVM mają ze sobą niewiele wspólnego. Na szczęście oba są niezwykle przydatne.
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.
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?
Ten z maksymalnym marginesem:
Liniowa analiza dyskryminacyjna wyszukuje średnie wektory każdej klasy, a następnie znajduje kierunek projekcji (obrót), który maksymalizuje separację średnich:
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: