Co dzieje się, gdy trenujemy liniową maszynę SVM na nieliniowo rozdzielalnych danych?

11

Co dzieje się, gdy szkolimy podstawową maszynę wektorów nośnych (jądro liniowe i brak marginesu miękkiego) na danych nieliniowo rozdzielalnych? Problem optymalizacji jest niewykonalny, więc co powraca algorytm minimalizacji?

SVM
źródło

Odpowiedzi:

11

Myślę, że podstawowa maszyna wektorowa wsparcia oznacza twardą maszynę SVM. Przejrzyjmy więc:

Czym jest SVM z twardym marginesem

Krótko mówiąc, chcemy znaleźć hiperpłaszczyznę o największym marginesie, która będzie w stanie poprawnie oddzielić wszystkie obserwacje w naszej przestrzeni próbki treningowej.

Problem optymalizacji w twardym marginesie SVM

Biorąc pod uwagę powyższą definicję, jaki jest problem optymalizacji, który musimy rozwiązać?

  1. Największy margines hiperpłaszczyzny: Chcemy max(margin)
  2. Być w stanie poprawnie oddzielić wszystkie obserwacje: Musimy zoptymalizować, margina także spełnić ograniczenie: Brak błędów w próbie

Co dzieje się, gdy trenujemy liniową maszynę SVM na nieliniowo rozdzielalnych danych?

Wracając do pytania, ponieważ wspomniałeś, że zestawu danych treningowych nie można rozdzielić liniowo, dzięki zastosowaniu SVM z twardym marginesem bez transformacji cech, nie można znaleźć żadnej hiperpłaszczyzny, która spełniałaby kryteria „Brak błędów w próbie” .

Zwykle rozwiązujemy problem optymalizacji SVM przez programowanie kwadratowe, ponieważ może on wykonywać zadania optymalizacyjne z ograniczeniami. Jeśli używasz Gradient Descent lub innych algorytmów optymalizacyjnych, które nie spełniając ograniczeń twardych marginesów SVM, powinieneś nadal uzyskać wynik, ale nie jest to hiperpłaszczyzna twardych marginesów SVM.

Nawiasem mówiąc, w przypadku danych nieliniowo rozdzielalnych zwykle wybieramy

  • twarde marginesy transformacji funkcji SVM +
  • użyj bezpośrednio SVM z miękkim marginesem (w praktyce, SVM z miękkim marginesem zwykle daje dobre wyniki)
fansia
źródło
dzięki za odpowiedź. Więc pakiety SVM np. W R lub Python nie używają kwadratowych metod programowania, gdy dane są nieliniowo rozdzielalne?
SVM
Nie jestem pewien, jakich bibliotek SVM używasz. Używam libsvm, a różne narzędzia svm mogą używać różnych solverów svm. Znalezienie lepszych solverów svm to kolejny temat badań. QP to podstawowy sposób rozwiązania svm.
fansia