Sieci neuronowe vs maszyny wektorów wspierających: czy drugi jest zdecydowanie lepszy?

52

Wielu autorów artykułów, które czytałem, potwierdza, że ​​SVM to doskonała technika stawienia czoła ich problemom z regresją / klasyfikacją, wiedząc, że nie mogą uzyskać podobnych wyników za pośrednictwem NN. Często porównanie to stwierdza

SVM zamiast NN,

  • Mają silną teorię założycielską
  • Osiągnij globalne maksimum dzięki programowaniu kwadratowemu
  • Nie ma problemu z wyborem odpowiedniej liczby parametrów
  • Są mniej podatne na nadmierne dopasowanie
  • Potrzebuje mniej pamięci do przechowywania modelu predykcyjnego
  • Daje bardziej czytelne wyniki i interpretację geometryczną

Czy to poważnie myśl powszechnie przyjęta? Nie przytaczaj twierdzenia o braku obiadu lub podobnych stwierdzeń, moje pytanie dotyczy praktycznego wykorzystania tych technik.

Z drugiej strony, jaki abstrakcyjny problem napotkalibyście na NN?

stackovergio
źródło
4
Myślę, że pytanie może być nieco ogólne. Ale w praktyce NN wydają się być znacznie bardziej dostrajane przy wyborze struktury NN, podczas gdy SVM mają mniej parametrów. Są dwa pytania, czy NN zostałby optymalnie skonfigurowany do rozwiązania problemu, jak by to wyglądało w porównaniu z SVM? A w rękach przeciętnego praktyka, jak SVM wypada w porównaniu z NN?
Patrick Caldon,
2
@PatrickCaldon Rozumiem twój punkt widzenia, ale więcej parametrów do radzenia sobie nie zawsze oznacza lepsze narzędzie, jeśli nie wiesz, jak je odpowiednio skonfigurować. Nawet jeśli to możliwe, może być potrzebne długie badanie; lub, być może, nie będziesz potrzebować tak szerokiej regulacji do celów apelacji
stackovergio
1
to mój punkt. Jakie pytanie, w jaki sposób narzędzie działa w idealnych okolicznościach przy określonych problemach? lub w jaki sposób narzędzie to działa przez większość czasu? Myślę, że największym elementem tutaj jest osoba btw. Z tego powodu uważam, że istotne są następujące czynniki: jak trudno jest nauczyć się każdego narzędzia? Czy w pobliżu są eksperci, którzy wiedzą, jak go używać? itp. To może tłumaczyć wiele „Mam dobry występ z X”
Patrick Caldon
1
Z tego co wiem, wielowarstwowe feedforward ANN są uniwersalnymi aproksymatorami mniej więcej niezależnie od funkcji aktywacji. Nie znam podobnego wyniku dla SVM, który bardziej zależy od mojej wiedzy od użytej funkcji jądra.
Momo
2
W praktyce uważam, że NN są bardziej praktyczne ze względu na czas szkolenia. Nieliniowe maszyny SVM po prostu nie radzą sobie dobrze z dużym N. Oba algorytmy mogą się nakładać i oba wymagają silnej regulacji.
Shea Parkes,

Odpowiedzi:

43

Jest to kwestia kompromisów. SVMs są w tej chwili, NNS kiedyś w . Znajdziesz rosnącą liczbę artykułów, które twierdzą, że losowe lasy, probabilistyczne modele graficzne lub nieparametryczne metody bayesowskie są w użyciu. Ktoś powinien opublikować model prognostyczny w Annals of Improbable Research na temat modeli, które będą uważane za biodra.

Powiedziawszy, że w przypadku wielu znanych trudnych nadzorowanych problemów, najlepiej działającymi pojedynczymi modelami są niektóre typy NN, niektóre typy SVM lub specyficzne dla problemu metody stochastycznego spadku gradientu realizowane za pomocą metod przetwarzania sygnałów.


Plusy NN:

  • Są niezwykle elastyczni pod względem rodzajów danych, które mogą obsługiwać. Sieci narodowe wykonują przyzwoitą robotę, ucząc się ważnych funkcji z praktycznie dowolnej struktury danych, bez konieczności ręcznego uzyskiwania funkcji.
  • NN nadal korzysta z inżynierii operacji, np. Powinieneś mieć operację obszaru, jeśli masz długość i szerokość. Model będzie działał lepiej przy takim samym wysiłku obliczeniowym.

  • Większość nadzorowanego uczenia maszynowego wymaga uporządkowania danych w oparciu o macierz cech, z etykietami jako wektorem obserwacji długości. To ograniczenie nie jest konieczne w przypadku NN. Fantastyczna praca z ustrukturyzowanym SVM, ale jest mało prawdopodobne, aby kiedykolwiek był tak elastyczny jak NN.


Plusy SVM:

  • Mniej hiperparametrów. Zasadniczo maszyny SVM wymagają mniej przeszukiwania siatki, aby uzyskać dość dokładny model. SVM z jądrem RBF zwykle działa całkiem dobrze.

  • Gwarancja globalnego optymalnego poziomu.


Wady NN i SVM:

  • W większości przypadków są to czarne skrzynki. Istnieją badania dotyczące interpretacji SVM, ale wątpię, aby kiedykolwiek były tak intuicyjne jak GLM. Jest to poważny problem w niektórych domenach problemowych.
  • Jeśli zamierzasz zaakceptować czarną skrzynkę, zwykle możesz wycisnąć o wiele większą dokładność, pakując / układając w stosy / wzmacniając wiele modeli z różnymi kompromisami.

    • Losowe lasy są atrakcyjne, ponieważ mogą wytwarzać prognozy „po wyjęciu z torby” (prognozy typu „jeden po drugim”) bez dodatkowego wysiłku, są bardzo interpretowalne, mają dobry kompromis wariancji odchylenia (doskonały do ​​modeli workowania) i są stosunkowo odporne na nastawienie selekcyjne. Głupio proste napisanie równoległej implementacji.

    • Probabilistyczne modele graficzne są atrakcyjne, ponieważ mogą uwzględniać wiedzę specyficzną dla danej dziedziny bezpośrednio w modelu i można je interpretować pod tym względem.

    • Nieparametryczne (lub naprawdę bardzo parametryczne) metody bayesowskie są atrakcyjne, ponieważ bezpośrednio wytwarzają przedziały ufności. Działają bardzo dobrze na małych próbkach i bardzo dobrze na dużych próbkach. Głupio proste napisanie implementacji algebry liniowej.

Jessica Mick
źródło
41
W związku z ostatnim wzrostem głębokiego uczenia się, NN mogą być uważane za „bardziej zaangażowane” niż SVM, powiedziałbym.
bayerj
30

Z mojego doświadczenia wynika, że ​​odpowiedź brzmi „nie”, maszyny SVM nie są zdecydowanie lepsze, a to, co działa najlepiej, zależy od rodzaju zbioru danych i względnej umiejętności operatora z każdym zestawem narzędzi. Ogólnie SVM są dobre, ponieważ algorytm treningowy jest wydajny i ma parametr regularyzacji, co zmusza do myślenia o regularyzacji i nadmiernym dopasowaniu. Istnieją jednak zestawy danych, w których MLP zapewniają znacznie lepszą wydajność niż SVM (ponieważ mogą decydować o własnej reprezentacji wewnętrznej, zamiast mieć ją wcześniej określoną przez funkcję jądra). Dobra implementacja MLP (np. NETLAB) i regularyzacja lub wczesne zatrzymanie lub wybór architektury (lub jeszcze lepiej wszystkie trzy) mogą często dawać bardzo dobre wyniki i być powtarzalne (przynajmniej pod względem wydajności).

Wybór modelu jest głównym problemem związanym z SVM, wybór jądra i optymalizacja jądra oraz parametry regularyzacji mogą często prowadzić do poważnego przeregulowania, jeśli nadmiernie zoptymalizujesz kryterium wyboru modelu. Chociaż teoria podpinania SVM jest wygodna, większość z nich dotyczy tylko stałego jądra, więc gdy tylko spróbujesz zoptymalizować parametry jądra, przestaje on obowiązywać (na przykład problem optymalizacji, który należy rozwiązać podczas dostrajania jądra jest zasadniczo niewypukły i może mieć lokalne minima).

Dikran Torbacz
źródło
7
W pełni się z tym zgadzam. Obecnie szkolę maszyny SVM i ANNs na temat danych interfejsu mózg-komputer, a niektóre zestawy danych są lepsze od SVM, a niektóre zestawy danych są lepsze od ANN. Interesujące jest to, że gdy uśredniam wydajność wszystkich zestawów danych, których używam, SVM i ANN osiągają dokładnie taką samą wydajność. Oczywiście nie jest to dowód. To tylko anegdota. :)
alfa
27

Spróbuję wyjaśnić moją opinię, która wydawała się być podzielana przez większość moich znajomych. Mam następujące obawy dotyczące NN, które w ogóle nie dotyczą SVM:

  1. W klasycznym NN liczba parametrów jest niezwykle wysoka. Załóżmy, że masz wektory o długości 100, które chcesz podzielić na dwie klasy. Jedna ukryta warstwa o tym samym rozmiarze co warstwa wejściowa doprowadzi Cię do ponad 100000 wolnych parametrów. Wyobraź sobie, jak źle możesz się przebrnąć (jak łatwo jest spaść do lokalnego minimum w takiej przestrzeni) i ile punktów treningowych będziesz potrzebował, aby temu zapobiec (i ile czasu będziesz musiał wtedy trenować).
  2. Zwykle musisz być prawdziwym ekspertem, aby wybrać topologię na pierwszy rzut oka. Oznacza to, że jeśli chcesz uzyskać dobre wyniki, powinieneś wykonać wiele eksperymentów. Dlatego łatwiej jest używać SVM i powiedzieć, że nie można uzyskać podobnych wyników z NN.
  3. Zwykle wyniki NN nie są powtarzalne. Nawet jeśli dwukrotnie przeprowadzisz trening NN, prawdopodobnie uzyskasz różne wyniki z powodu losowości algorytmu uczenia się.
  4. Zwykle w ogóle nie masz interpretacji wyników. To mały problem, ale i tak.

To nie znaczy, że nie powinieneś używać NN, powinieneś po prostu używać go ostrożnie. Na przykład Convolutional NN może być bardzo dobry do przetwarzania obrazu, inne Deep NN okazały się również dobre w przypadku innych problemów.

Mam nadzieję, że to pomoże.

Dmitrij Łaptiew
źródło
2
Aby odtwarzalność wyników ANN była powtarzalna, uruchom funkcję losową.
Franck Dernoncourt
@Franck To nie jest prawdziwa odtwarzalność.
rozsądek
17

Używam sieci neuronowych dla większości problemów. Chodzi o to, że w większości przypadków chodzi bardziej o doświadczenie użytkownika niż o model. Oto kilka powodów, dla których lubię NN.

  1. Są elastyczne. Mogę na nich rzucić dowolną stratę: utratę zawiasów, kwadrat, entropię krzyżową, jak to nazywasz. O ile jest to możliwe do odróżnienia, mogę nawet zaprojektować stratę dokładnie odpowiadającą moim potrzebom.
  2. Można je leczyć probabilistycznie: bayesowskie sieci neuronowe, wariacyjne Bayesa, MLE / MAP, wszystko tam jest. (Ale w niektórych przypadkach trudniejsze.)
  3. Oni są szybcy. Większość MLP to dwa mnożenia macierzy i jeden nieliniowość zastosowany między nimi. Pobij to za pomocą SVM.

Przejdę przez twoje pozostałe punkty krok po kroku.

Mają silną teorię założycielską

Powiedziałbym, że NN są w tym przypadku równie silne: ponieważ trenujesz je w ramach probabilistycznych. Umożliwia to stosowanie priorów i leczenia bayesowskiego (np. Z zastosowaniem technik wariacyjnych lub przybliżeń).

Osiągnij globalne maksimum dzięki programowaniu kwadratowemu

Dla jednego zestawu hiperparametrów. Jednak poszukiwanie dobrego hps nie jest wypukłe i nie będziesz wiedział, czy znalazłeś również globalne optimum.

Nie ma problemu z wyborem odpowiedniej liczby parametrów

W SVM musisz również wybrać hiperparametry.

Potrzebuje mniej pamięci do przechowywania modelu predykcyjnego

Musisz przechowywać wektory pomocnicze. SVM zasadniczo nie będą tańsze do przechowywania MLP, zależy to od przypadku.

Daje bardziej czytelne wyniki i interpretację geometryczną

Górna warstwa MLP jest regresją logistyczną w przypadku klasyfikacji. Zatem istnieje interpretacja geometryczna (oddzielająca hiperpłaszczyznę) oraz interpretacja probabilistyczna.

bayerj
źródło
Dlaczego muszę przechowywać wektory pomocnicze? Czy nie wystarczy przechowywać hiperpłaszczyznę / maring SVM?
Julian
Jest tak, ponieważ hiperplan jest reprezentowany przez wektory wspierające. Aby obliczyć odległość nowego punktu od niego, wykonasz iterację nad nimi.
bayerj
0

W pewnym sensie te dwie szerokie kategorie technik uczenia maszynowego są powiązane. Choć nie idealne, dwa artykuły, które znalazłem pomocne w wykazaniu podobieństw w tych technikach, są poniżej

Ronan Collobert i Samy Bengio. 2004. Powiązania między perceptronami, MLP i SVM. W materiałach z dwudziestej pierwszej międzynarodowej konferencji na temat uczenia maszynowego (ICML '04). ACM, Nowy Jork, NY, USA, 23-. DOI: https://doi.org/10.1145/1015330.1015415

i

Andras, Peter. (2002). Równoważność maszyny wektora wsparcia i sieci neuronowych regularyzacji. Listy przetwarzania neuronowego. 15. 97–104. 10.1023 / A: 1015292818897.

Paweł
źródło