Jakie są dziedziny, w których maszyny SVM są nadal najnowocześniejsze?


10

Wydaje się, że głębokie sieci neuronowe i inne modele oparte na sieci neuronowej dominują w wielu obecnych obszarach, takich jak widzenie komputerowe, klasyfikacja obiektów, uczenie się wzmocnienia itp.

Czy istnieją domeny, w których maszyny SVM (lub inne modele) wciąż dają najnowocześniejsze wyniki?

Odpowiedzi:


12

Najnowocześniejszy to trudny pasek, ponieważ nie jest jasne, jak należy go mierzyć. Alternatywnymi kryteriami, podobnymi do najnowocześniejszych, jest pytanie, kiedy wolisz wypróbować SVM.

Maszyny SVM mają kilka zalet:

  1. Dzięki sztuczce jądra środowisko wykonawcze SVM nie zwiększa się znacząco, jeśli chcesz nauczyć się wzorców na wielu nieliniowych kombinacjach funkcji, zamiast oryginalnego zestawu funkcji. Natomiast bardziej nowoczesne podejście, takie jak głęboka sieć neuronowa, będzie wymagało głębszego lub szerszego modelowania tych samych wzorców, co wydłuży czas szkolenia.
  2. Maszyny SVM mają nieodłączną tendencję do wybierania „konserwatywnych” hipotez, które rzadziej przewyższają dane, ponieważ starają się znaleźć hipotezy o maksymalnym marginesie. W pewnym sensie „wypalają” brzytwę Ockhama.
  3. SVM mają tylko dwa hiperparametry (wybór jądra i stałą regularyzacji), więc bardzo łatwo można je dostroić do konkretnych problemów. Zazwyczaj wystarczy dostroić je, wykonując proste wyszukiwanie siatki w przestrzeni parametrów, które można wykonać automatycznie.

Maszyny SVM mają również pewne wady:

  1. SVM mają środowisko wykonawcze, które skaluje się sześciennie w liczbie punktów danych, na których chcesz trenować (tj O(n3)środowisko wykonawcze) 1 . Nie porównuje się to dobrze, powiedzmy, z typowym podejściem treningowym dla głębokiej sieci neuronowej, która działaO(wne) czas, gdzie n to liczba punktów danych, e to liczba epok treningu, oraz wto liczba wag w sieci. Ogólniew,e<<n.
  2. Aby skorzystać ze sztuczki jądra, maszyny SVM buforują wartość „odległości” jądra między dowolnymi dwoma parami punktów. Oznacza to, że potrzebująO(n2)pamięć. To znacznie więcej problemów niż sześcienny czas działania w większości zestawów w świecie rzeczywistym. Ponad kilka tysięcy punktów danych sprawi, że większość współczesnych serwerów wstrząśnie , co zwiększa efektywny czas działania o kilka rzędów wielkości. W połączeniu z punktem 1 oznacza to, że maszyny SVM będą miały tendencję do zwalniania w przypadku zestawów przekraczających może od 5 000 do 10 000 punktów danych, przy górnej granicy.

Wszystkie te czynniki wskazują, że SVM są istotne dla dokładnie jednego przypadku użycia: małych zbiorów danych, w których uważa się wzorzec docelowy, apriori, za jakąś regularną, ale wysoce nieliniową funkcję o dużej liczbie cech. Ten przypadek użycia pojawia się dość często. Niedawnym przykładem zastosowania, w którym znalazłem SVM jako naturalne podejście, było budowanie modeli predykcyjnych dla funkcji docelowej, o której wiadomo, że jest wynikiem interakcji między parami cech (w szczególności komunikacji między parami agentów). SVM z jądrem kwadratowym mógłby zatem skutecznie nauczyć się konserwatywnych, rozsądnych zgadnięć.


1 Istnieją przybliżone algorytmy, które rozwiążą SVM szybciej niż to, jak zauważono w innych odpowiedziach.


7

Głębokie uczenie się i sieci neuronowe skupiają się głównie na ostatnich postępach w tej dziedzinie i większość ekspertów uważa, że ​​jest to przyszłość rozwiązywania problemów związanych z uczeniem maszynowym.

Ale nie pomylcie się, klasyczne modele nadal dają wyjątkowe wyniki, aw niektórych problemach mogą dawać lepsze wyniki niż głębokie uczenie się.

Regresja liniowa jest nadal zdecydowanie najczęściej stosowanym algorytmem uczenia maszynowego na świecie.

Trudno jest zidentyfikować konkretną dziedzinę, w której klasyczne modele zawsze działają lepiej, ponieważ dokładność zależy w dużej mierze od kształtu i jakości danych wejściowych.

Zatem wybór algorytmu i modelu jest zawsze kompromisem. Jest to dość dokładne stwierdzenie, aby klasyczne modele nadal działały lepiej przy mniejszych zestawach danych. Jednak wiele badań dotyczy poprawy wydajności modelu głębokiego uczenia na mniejszej ilości danych.

Większość klasycznych modeli wymaga mniej zasobów obliczeniowych, więc jeśli twoim celem jest szybkość, to jest znacznie lepsza.

Ponadto klasyczne modele są łatwiejsze do wdrożenia i wizualizacji, co może być kolejnym wskaźnikiem wydajności, ale zależy to od twoich celów.

Jeśli masz nieograniczone zasoby, ogromny, obserwowalny zestaw danych, który jest odpowiednio oznakowany i poprawnie wdrażasz go w dziedzinie problemów, głębokie uczenie się prawdopodobnie zapewni lepsze wyniki w większości przypadków.

Ale z mojego doświadczenia wynika, że ​​rzeczywiste warunki nigdy nie są tak idealne


0

Całkowicie zgadzam się z odpowiedzią @ John. Spróbuję uzupełnić to o kilka punktów.

Niektóre zalety SVM:

a) SVM jest zdefiniowany przez wypukły problem optymalizacji, dla którego istnieją skuteczne metody rozwiązania, takie jak SMO .

b) Skuteczny w przestrzeniach o dużych wymiarach, a także w przypadkach, gdy liczba wymiarów jest większa niż liczba próbek.

c) Wykorzystuje podzbiór punktów treningowych w funkcji decyzyjnej (zwanych wektorami pomocniczymi), więc jest również efektywny pod względem pamięci.

d) Dla funkcji decyzyjnej można określić różne funkcje jądra. . W najprostszej formie sztuczka jądra oznacza przekształcenie danych w inny wymiar, który ma wyraźny margines podziału między klasami danych.

Wady maszyn wektorów wsparcia obejmują:

a) Jeśli liczba funkcji jest znacznie większa niż liczba próbek, kluczowe znaczenie ma unikanie nadmiernego dopasowania w wyborze funkcji jądra i terminu regularyzacji. Modele jądra mogą być dość wrażliwe na nadmierne dopasowanie kryterium wyboru modelu

b) SVM nie dostarczają bezpośrednio oszacowań prawdopodobieństwa. W wielu problemach z klasyfikacją faktycznie potrzebujesz prawdopodobieństwa przynależności do klasy, więc lepiej byłoby użyć metody takiej jak regresja logistyczna, niż przetwarzać dane wyjściowe SVM w celu uzyskania prawdopodobieństwa.


-1

Do zestawów danych niskowymiarowych danych tabelarycznych. DNN nie są wydajne na wejściach mało wymiarowych z powodu ogromnej nadparametryzacji. Tak więc nawet jeśli zestaw danych ma ogromny rozmiar, ale każda próbka jest niskowymiarowa, SVM pokonałby DNN.

Bardziej ogólnie, jeśli dane są tabelaryczne, a korelacja między polami próbki jest słaba i zaszumiona, SVM może nadal pokonać DNN nawet w przypadku danych wielowymiarowych, ale zależy to od określonych danych.

Niestety nie pamiętam żadnych konkretnych artykułów na ten temat, więc jest to głównie rozsądek, nie musisz temu ufać.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.