Jakie są zalety sztucznych sieci neuronowych nad maszynami wektorowymi? [zamknięte]

ANN (Sztuczne sieci neuronowe) i SVM (Maszyny wektorowe wsparcia) to dwie popularne strategie nadzorowanego uczenia maszynowego i klasyfikacji. Często nie jest jasne, która metoda jest lepsza dla danego projektu i jestem pewien, że odpowiedź zawsze brzmi " to zależy."Często używa się kombinacji obu z klasyfikacją Bayesowską.

Te pytania dotyczące Stackoverflow zostały już zadane odnośnie ANN vs SVM:

ANN i SVM klasyfikacja

Jaka jest różnica między ANN, SVM i KNN w moim pytaniu klasyfikacyjnym

Maszyna wektorowa czy sztuczna sieć neuronowa do przetwarzania tekstu?

W tym pytaniu chciałbym wiedzieć konkretnie jakie aspekty ANN (konkretnie, Perceptron wielowarstwowy) mogą sprawić, że pożądane będzie użycie SVM? Pytam, bo łatwo jest odpowiedzieć na przeciwne pytanie: Maszyny wektorowe wsparcia są często lepsze od ANNs, ponieważ unikają dwóch głównych słabości ANNs:

(1) Ann często zbiegają się na lokalne minima, a nie globalne minima, co oznacza, że w zasadzie czasami "brakuje im dużego obrazu" (lub brakuje lasu dla drzew)

(2) ANNs często overfit jeśli trening trwa zbyt długo, co oznacza, że dla danego wzoru ANN może zacząć traktować hałas jako część wzoru.

SVM nie cierpią na żadne z tych dwa problemy. Jednak nie jest łatwo oczywiste, że SVM mają być całkowitym zamiennikiem ANNs. Więc co specyficzne Korzyści ANN ma nad SVM, które mogą sprawić, że zastosowanie w pewnych sytuacjach? Wymieniłem konkretne zalety maszyny SVM nad ANN, teraz chciałbym zobaczyć listę zalet ANN (jeśli w ogóle).

Author: Community, 2012-07-24

6 answers

Sądząc po przykładach, które podajesz, zakładam, że przez ANNs masz na myśli wielowarstwowe sieci przesyłowe (w skrócie FF nets), takie jak wielowarstwowe perceptrony, ponieważ są one w bezpośredniej konkurencji z SVM.

Jedną z szczególnych korzyści, jakie te modele mają nad maszynami SVM, jest to, że ich rozmiar jest stały: są to modele parametryczne , podczas gdy maszyny SVM są nieparametryczne. Oznacza to, że w ANN masz kilka ukrytych warstw o rozmiarach h1 przez hn w zależności od liczby funkcji, plus parametrów bias, a te składają się na twój model. Natomiast SVM (co najmniej jądro) składa się z zestawu wektorów nośnych, wybranych z zestawu treningowego, z wagą dla każdego. W najgorszym przypadku liczba wektorów podporowych jest dokładnie liczbą próbek treningowych (choć występuje to głównie w przypadku małych zestawów treningowych lub w przypadkach zdegenerowanych) i ogólnie rozmiar modelu skaluje się liniowo. W języku naturalnym przetwarzanie, klasyfikatory SVM z dziesiątkami tysięcy wektorów wsparcia, z których każdy ma setki tysięcy funkcji, nie jest niespotykane.

Również, szkolenie online z FF nets jest bardzo proste w porównaniu do dopasowania SVM online, a przewidywanie może być nieco szybsze.

EDIT: wszystko to odnosi się do ogólnego przypadku Kernelized SVM. Liniowe SVM są szczególnym przypadkiem, ponieważ parametryczne i umożliwiają naukę online za pomocą prostych algorytmów, takich jak jako spadek gradientu stochastycznego.

 110
Author: Fred Foo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-08 21:48:24

Oczywistą zaletą sztucznych sieci neuronowych nad maszynami wektorowymi jest to, że sztuczne sieci neuronowe mogą mieć dowolną liczbę wyjść, podczas gdy maszyny wektorowe mają tylko jedną. Najbardziej bezpośrednim sposobem tworzenia klasyfikatora n-ary z maszynami wektorowymi jest tworzenie n maszyn wektorowych i trenowanie każdej z nich jeden po drugim. Z drugiej strony klasyfikator n-ary z sieciami neuronowymi można trenować za jednym zamachem. Dodatkowo sieć neuronowa będzie miała większy sens ponieważ jest to jedna całość, podczas gdy maszyny wektorów nośnych są układami izolowanymi. Jest to szczególnie przydatne, jeśli wyniki są ze sobą powiązane.

Na przykład, gdyby celem było sklasyfikowanie ręcznie pisanych cyfr, zrobiłoby to dziesięć maszyn obsługujących wektory. Każda maszyna wektorowa rozpoznałaby dokładnie jedną cyfrę, a nie rozpoznałaby wszystkich innych. Ponieważ każda odręczna cyfra nie może zawierać więcej informacji niż tylko jej klasa, nie ma sensu próbować rozwiązać tego za pomocą sztuczna sieć neuronowa.

Załóżmy jednak, że celem było modelowanie równowagi hormonalnej człowieka (dla kilku hormonów) jako funkcji łatwo mierzonych czynników fizjologicznych, takich jak czas od ostatniego posiłku, tętno itp ... Ponieważ wszystkie te czynniki są ze sobą powiązane, sztuczna regresja sieci neuronowej ma większy sens niż regresja maszynowa wektora nośnego.

 50
Author: Alan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-24 21:03:43

Należy zauważyć, że te dwie rzeczy są bardzo ze sobą powiązane. Liniowe SVM są równoważne jednowarstwowym NN (tj. perceptronom) , a wielowarstwowe NNs mogą być wyrażone w kategoriach SVM. Zobacz tutaj po kilka szczegółów.

 43
Author: Bryce,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-24 20:23:53

Jeśli chcesz użyć SVM jądra, musisz odgadnąć jądro. Jednak ANNs są aproksymatorami uniwersalnymi, przy czym do odgadnięcia należy jedynie szerokość (dokładność aproksymacji) i wysokość (wydajność aproksymacji. Jeśli poprawnie zaprojektujesz problem optymalizacji, nie będziesz nadmiernie dopasowywać (zobacz bibliografię dla nadmiernego dopasowania). Zależy to również od przykładów szkoleniowych, czy skanują poprawnie i równomiernie przestrzeń wyszukiwania. Wykrywanie szerokości i głębokości jest przedmiotem liczby całkowitej programowanie.

Załóżmy, że masz ograniczone funkcje f (.) i ograniczonych aproksymatorów uniwersalnych na I=[0,1] z przedziałem ponownie i = [0,1], np. które są parametryzowane przez rzeczywistą sekwencję zwartej podpory U (., a) z właściwością, że istnieje ciąg sekwencji z

lim sup { |f(x) - U(x,a(k) ) | : x } =0

I rysujesz przykłady i testy {[2] } z rozkładem D na IxI.

Dla zalecanego wsparcia, to co robisz, to znalezienie najlepszego takiego, który

sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal

Niech to a=aa, które jest zmienna losowa!, over-fitting jest wtedy

Średnia za pomocą D and D^{N} of ( y - U(x,aa) )^{2}

Pozwól mi wyjaśnić, dlaczego, jeśli wybierzesz aa tak, że błąd jest zminimalizowany, to dla rzadkiego zbioru wartości masz idealne dopasowanie. Jednak, ponieważ są one rzadkie, średnia nigdy nie wynosi 0. Chcesz zminimalizować drugi, chociaż masz dyskretne przybliżenie do D. i pamiętaj, że długość wsparcia jest wolna.

 14
Author: Vasileios Anagnostopoulos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-25 06:08:30

Należy również wziąć pod uwagę, że układ SVM może być zastosowany bezpośrednio do przestrzeni niemetrycznych, takich jak zbiór oznaczonych Wykresów lub ciągów. W rzeczywistości wewnętrzna funkcja jądra może być odpowiednio uogólniona do praktycznie każdego rodzaju danych wejściowych, pod warunkiem spełnienia dodatniego wymogu definicyjności jądra. Z drugiej strony, aby móc używać ANN na zestawie oznakowanych Wykresów, należy wziąć pod uwagę jawne procedury osadzania.

 10
Author: strozzino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-24 19:41:45

Jednej odpowiedzi brakuje mi tutaj: Wielowarstwowy perceptron jest w stanie znaleźć związek między cechami. Na przykład jest to konieczne w wizji komputerowej, gdy surowy obraz jest dostarczany do algorytmu uczenia się i teraz obliczane są zaawansowane funkcje. Zasadniczo poziomy pośrednie mogą obliczać nowe nieznane funkcje.

 10
Author: dolbi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-16 16:14:28