Jak sugeruje highBandwidth, zależy to od tego, czy używasz liniowego SVM, czy nieliniowego (będąc pedantycznym, jeśli jądro nie jest używane, jest to klasyfikator liniowy o maksymalnym marginesie, a nie SVM).
Liniowy klasyfikator o maksymalnym marginesie nie różni się od żadnego innego klasyfikatora liniowego tym, że jeśli proces generowania danych oznacza, że istnieją interakcje między atrybutami, wówczas zapewnienie tych warunków interakcji może poprawić wydajność. Liniowy klasyfikator maksymalnego marginesu przypomina raczej regresję grzbietową, z niewielką różnicą w okresie karnym, która ma na celu uniknięcie przeregulowania (podane odpowiednie wartości parametru regularyzacji), aw większości przypadków regresja grzbietu i klasyfikator maksymalnego marginesu dają podobną wydajność.
Jeśli uważasz, że terminy interakcji mogą być ważne, możesz wprowadzić je do przestrzeni funkcji SVM, używając wielomianowego jądra , które da przestrzeń cech, w której każda oś reprezentuje monomial rzędu lub mniejszy, parametr wpływa na względną wagę monomialów różnych rzędów. Tak więc SVM z jądrem wielomianowym jest równoważny dopasowaniu modelu wielomianowego w przestrzeni atrybutów, który domyślnie uwzględnia te interakcje. d cK(x,x′)=(x⋅x′+c)ddc
Biorąc pod uwagę wystarczającą liczbę funkcji, dowolny klasyfikator liniowy może w prosty sposób dopasować dane. IIRC an punktów w „pozycji ogólnej” w przestrzeni wymiaru można rozbić (rozdzielić w dowolny dowolny sposób) hiperpłaszczyzną (por. Wymiar VC). Takie postępowanie zazwyczaj spowoduje poważne przeregulowanie i dlatego należy tego unikać. Punktem maksymalnej klasyfikacji marginesów jest ograniczenie tego nadmiernego dopasowania przez dodanie kary, która oznacza, że można osiągnąć największą możliwą separację (która wymagałaby największego odchylenia od jakiegokolwiek przykładu szkolenia w celu uzyskania błędnej klasyfikacji). Oznacza to, że możesz przekształcić dane w przestrzeń o bardzo dużych wymiarach (gdzie model liniowy jest bardzo wydajny) bez nadmiernego nadmiernego dopasowania.n - 1nn−1
Zauważ, że niektóre jądra powodują powstanie nieskończonej przestrzeni cech wymiarowych, w której gwarantowana jest „trywialna” klasyfikacja dla każdej skończonej próbki treningowej w ogólnej pozycji. Na przykład jądro funkcji podstawy radialnej, , gdzie przestrzeń cech jest dodatnią ortantą nieskończonej wymiarowej hipersfery. Takie jądra sprawiają, że SVM jest uniwersalnym aproksymatorem, który może reprezentować zasadniczo każdą granicę decyzyjną.K(x,x′)=exp−γ∥x−x′∥2
To jednak tylko część historii. W praktyce zwykle stosujemy maszynę SVM z miękkim marginesem, w której dopuszcza się naruszenie ograniczenia marży, i istnieje parametr regularyzacji, który kontroluje kompromis między maksymalizacją marży (który jest karnym terminem podobnym do stosowanego w regresja grzbietu) i wielkość zmiennych luzu (co jest podobne do straty na próbce treningowej). Następnie unikamy nadmiernego dopasowania, dostrajając parametr regularności, na przykład minimalizując błąd weryfikacji krzyżowej (lub niektóre związane z błędem pominięcia), tak jak robilibyśmy to w przypadku regresji grzbietu.
Tak więc, chociaż SVM może w prosty sposób sklasyfikować zestaw szkoleniowy, ogólnie zrobi to tylko wtedy, gdy parametry regularyzacji i jądra zostaną źle wybrane. Kluczem do osiągnięcia dobrych wyników z dowolnym modelem jądra jest wybór odpowiedniego jądra, a następnie dostrojenie jądra i parametrów regulacyjnych, aby uniknąć przeładowania lub niedopasowania danych.
Odpowiedzi zależą od tego, czy używasz SVM liniowy, czy SVM jądra. Dzięki linearnemu SVM korzystasz tylko z funkcji, które mu dajesz i nie uwzględnia on interakcji. Z Kernel SVM zasadniczo korzystasz z wielu różnych funkcji, w zależności od wybranego jądra. Jeśli istnieje hiperpłaszczyzna oddzielająca, tj. Jeśli określa klasę, w której są funkcjami, wtedy możesz mieć pełne dopasowanie danych treningowych. Zwykle nie określasz funkcji, ale podajesz jądro które jest powiązane z funkcjami jako . Spójrz w górę, odtwarzając przestrzenie jądra Hilberta.sign(∑Ki=1βi(x)−β0) βi,i∈{1,2,...K} K K(x1,x2)=∑Ki=1βi(x1)βi(x2)
źródło