Zwykle decyduje się, czy użyć jądra liniowego czy RBF (aka Gaussa). Należy wziąć pod uwagę dwa główne czynniki:
- Rozwiązanie problemu optymalizacji jądra liniowego jest znacznie szybsze, patrz np. LIBLINEAR.
- Zazwyczaj najlepsza możliwa wydajność predykcyjna jest lepsza dla nieliniowego jądra (lub przynajmniej tak dobrego jak dla liniowego).
Wykazano, że jądro liniowe jest zdegenerowaną wersją RBF , dlatego jądro liniowe nigdy nie jest bardziej dokładne niż odpowiednio dostrojone jądro RBF. Cytując streszczenie z artykułu, który połączyłem:
Analiza wskazuje również, że jeśli dokonano pełnego wyboru modelu przy użyciu jądra Gaussa, nie ma potrzeby rozważania liniowej SVM.
Podstawową praktyczną zasadę pokrótce opisano w praktycznym przewodniku NTU dotyczącym wspierania klasyfikacji wektorów (załącznik C).
Jeśli liczba elementów jest duża, może nie być konieczne mapowanie danych do przestrzeni o wyższych wymiarach. Oznacza to, że mapowanie nieliniowe nie poprawia wydajności. Korzystanie z jądra liniowego jest wystarczające i wystarczy wyszukać parametr C.
Twój wniosek jest mniej więcej słuszny, ale masz argument w odwrotnej kolejności. W praktyce, liniowe jądro ma tendencję do działania bardzo dobrze, gdy liczba elementów jest duża (np. Nie ma potrzeby mapowania do jeszcze większej przestrzeni wymiarów elementów). Typowym tego przykładem jest klasyfikacja dokumentów z tysiącami wymiarów w przestrzeni wejściowej.
W takich przypadkach jądra nieliniowe niekoniecznie są znacznie bardziej dokładne niż liniowe. Zasadniczo oznacza to, że jądra nieliniowe tracą na atrakcyjności: wymagają dużo więcej zasobów, aby trenować z niewielką lub żadną korzyścią w zakresie wydajności predykcyjnej, więc po co to robić.
TL; DR
Zawsze najpierw wypróbuj liniowy, ponieważ trenowanie jest znacznie szybsze (ORAZ test). Jeśli dokładność jest wystarczająca, poklep się po plecach za dobrze wykonaną robotę i przejdź do następnego problemu. Jeśli nie, spróbuj nieliniowego jądra.