Spróbuję odpowiedzieć na to pytanie, łącząc opublikowane dowody, osobiste doświadczenia i spekulacje.
A) Opublikowane dowody.
Jedyny znany mi artykuł, który pomaga odpowiedzieć na to pytanie, to Delgado i in. 2014 - Czy potrzebujemy setek klasyfikatorów, aby rozwiązać rzeczywiste problemy klasyfikacyjne? - JMLR, który uruchamia setki różnych algorytmów i implementacji na 121 zestawach danych z UCI. Stwierdzają, że chociaż RBF SVM nie jest „najlepszym” algorytmem (to losowe lasy, jeśli dobrze pamiętam), należy do pierwszej 3 (lub 5).
Jeśli uważasz, że ich wybór zestawów danych jest „dobrą próbką” problemów w świecie rzeczywistym, to SVM jest zdecydowanie algorytmem, który należy wypróbować w przypadku nowych problemów, ale najpierw należy wypróbować losowy las!
Ograniczenia w uogólnianiu tego wyniku są takie, że zbiory danych są prawie wszystkie wysokie i chude (n >> p), niezbyt rzadkie - co, jak przypuszczam, powinno być większym problemem dla RF, i niezbyt dużym (zarówno n, jak i p).
Wreszcie, wciąż na podstawie opublikowanych dowodów, polecam dwa witryny, które porównują różne wdrożenia losowych lasów:
B) Doświadczenie osobiste.
Uważam, że artykuły takie jak Delgado i inne są bardzo ważne dla społeczności uczącej się maszynowo, więc próbowałem powtórzyć ich wyniki w różnych warunkach. Uruchomiłem około 15 różnych algorytmów na ponad 100 binarnych zestawach danych (z zestawu danych Delgado). Myślę też, że bardziej ostrożnie wybrałem hiperparametry niż one.
Moje wyniki są takie, że SVM był „najlepszym algorytmem” (średnia ranga 4,9). Uważam, że SVM przeszedł RF, ponieważ oryginalny zestaw danych zawierał wiele problemów wieloklasowych - które omówię w części spekulacyjnej - powinien stanowić problem dla SVM.
EDYCJA (16 czerwca):
Ale RF jest o wiele szybszy i był drugim najlepszym algorytmem (średnia ranga 5,6), a następnie gbm (5,8), sieci (7,2) i tak dalej). Nie próbowałem standardowej regresji logistycznej w tych problemach, ale próbowałem elastycznej sieci (L1 i L2 regulowana LR), ale nie działała ona dobrze (średnia ranga 8,3) ~
Nie skończyłem jeszcze analizować wyników ani pisać artykułu, więc nie mogę nawet wskazać raportu technicznego z wynikami. Mam nadzieję, że za kilka tygodni mogę ponownie edytować tę odpowiedź i wskazać raport techniczny z wynikami.
Artykuł jest dostępny na stronie http://arxiv.org/abs/1606.00930 Okazuje się, że po pełnej analizie RF i SVM są prawie równoważne pod względem oczekiwanego poziomu błędu, a SVM jest najszybszy (ku mojemu zaskoczeniu !!). Nie jestem już tak zdecydowany w polecaniu RF (z powodu prędkości).
Moje osobiste doświadczenie jest takie, że chociaż SVM może zapewnić ci dodatkową dokładność, prawie zawsze lepiej jest użyć RF.
Również w przypadku większych problemów może być niemożliwe użycie wsadowego solwera SVM (nigdy nie korzystałem z internetowego solwera SVM, takiego jak LASVM lub inne).
Wreszcie zastosowałem regresję logistyczną tylko w jednej sytuacji. Pracowałem nad „intensywną” inżynierią funkcji nad problemem związanym z klasyfikacją obrazu (na przykład - łączenie dwóch różnych opisów obrazu i wymiarowość opisów). I użyłem regresji logistycznej, aby wybrać spośród wielu alternatyw (ponieważ w LR nie ma wyszukiwania hiperparametrów). Po ustaleniu najlepszych funkcji (zgodnie z LR) zastosowaliśmy RF (wybierając najlepsze hiperparametry), aby uzyskać ostateczny klasyfikator.
C) Spekulacja
Nigdy poważnie nie pracowałem nad problemami wieloklasowymi, ale mam wrażenie, że SVM nie są dla nich tak dobre. Problemem nie jest problem pomiędzy rozwiązaniami jeden na jednego lub jeden na wszystkich, ale to, że wszystkie implementacje, które znam, będą używać tych samych hiperparametrów dla wszystkich klasyfikatorów (OVO lub OVA). Wybór prawidłowych hiperparametrów dla SVM jest tak kosztowny, że żadna z dostępnych implementacji, które znam, nie będzie szukała poszczególnych klasyfikatorów. Spekuluję, że jest to problem dla SVM (ale nie problem dla RF !!).
Z drugiej strony, w przypadku problemów z wieloklasami poszedłbym prosto do RF.