Jakie są ograniczenia metod jądra i kiedy należy używać metod jądra?

10

Metody jądra są bardzo skuteczne w wielu nadzorowanych zadaniach klasyfikacji. Jakie są ograniczenia metod jądra i kiedy należy używać metod jądra? Jakie są postępy w metodach jądra, szczególnie w erze danych na dużą skalę? Jaka jest różnica między metodami jądra a uczeniem się wielu instancji? Jeśli dane są 500x10000, 500czy liczba próbek 10000jest równa wymiarowi każdej cechy, to czy w tych okolicznościach możemy zastosować metody jądra?

górnictwo
źródło

Odpowiedzi:

16

Metod jądra można używać w przypadku problemów nadzorowanych i nienadzorowanych. Dobrze znanymi przykładami są odpowiednio maszyna wektora nośnego i klaster spektralny jądra .

Metody jądra zapewniają uporządkowany sposób użycia algorytmu liniowego w transformowanej przestrzeni cech, dla której transformacja jest zazwyczaj nieliniowa (i do przestrzeni o wyższym wymiarze). Kluczową zaletą tej tak zwanej sztuczki jądra jest to, że nieliniowe wzorce można znaleźć przy rozsądnych kosztach obliczeniowych.

Zauważ, że powiedziałem, że koszt obliczeniowy jest rozsądny, ale nie bez znaczenia. Metody jądra zazwyczaj konstruują macierz jądraKRN×N z Nliczba wystąpień szkoleniowych. Złożoność metod jądra jest zatem funkcją liczby instancji szkoleniowych, a nie liczby wymiarów wejściowych. Na przykład maszyny wektorowe wsparcia mają złożoność treningową międzyO(N2) i O(N3). W przypadku problemów z bardzo dużymiN, złożoność ta jest obecnie wygórowana.

To sprawia, że ​​metody jądra są bardzo interesujące z perspektywy obliczeniowej, gdy liczba wymiarów jest duża, a liczba próbek względnie niska (powiedzmy mniej niż 1 milion).

Powiązane: Jądro liniowe i jądro nieliniowe dla maszyny wektora wsparcia?

SVM dla problemów na dużą skalę

W przypadku problemów o bardzo dużych wymiarach, takich jak 10000wymiary, o których wspominasz w pytaniu, często nie ma potrzeby mapowania do przestrzeni cech wyższych wymiarów. Przestrzeń wejściowa jest już wystarczająco dobra. W przypadku takich problemów metody liniowe są o rząd wielkości szybsze z prawie taką samą wydajnością predykcyjną. Przykłady tych metod można znaleźć w LIBLINEAR lub Vowpal Wabbit .

Metody liniowe są szczególnie interesujące, gdy masz wiele próbek w wielowymiarowej przestrzeni wejściowej. Gdy masz tylko500 próbki, przy użyciu nieliniowej metody jądra również będą tanie (od Njest mały). Jeśli miałbyś, powiedzmy,5.000.000 próbki w 10.000 wymiary, metody jądra byłyby niemożliwe.

W przypadku problemów niskowymiarowych z wieloma instancjami treningowymi (tak zwane duże N mały pproblemy), metody liniowe mogą dawać słabą dokładność predykcyjną. W przypadku takich problemów metody zestawów, takie jak EnsembleSVM, zapewniają nieliniowe granice decyzyjne przy znacznie zmniejszonym koszcie obliczeniowym w porównaniu ze standardowym SVM.

Marc Claesen
źródło
Wielkie dzięki za tak szczegółowe odpowiedzi, proszę pana. Znalazłem w warunkach dużego wymiaru, jeśli użyję RBFjądra libsvm, to zawsze jest ono zbyt mocne, klasyfikator osiąga wysoką dokładność, ale niską dokładność w zestawie testowym. A jeśli zrobię redukcję wymiarów przed klasyfikatorem, a zmniejszone wymiary są zbliżone do liczby próbek treningowych, klasyfikator może osiągnąć dobry zysk między zestawem treningowym a testowym. Czy wyniki pasują do większości wyników empirycznych? Dzięki.
wydobycie
Metody jądra są dość odporne na duże wymiary wejściowe. Zazwyczaj nie trzeba wykonywać redukcji wymiarów przed ich użyciem. Bardzo ważne jest, aby dostroić wszystkie parametry, szczególnie gammaw przypadku jądra RBF. Optymalna wartość gammajest związana z liczbą wymiarów wejściowych. Najpopularniejszym podejściem dostrajającym jest walidacja krzyżowa. Jeśli użyłeś tej samej wartości dla gammazi bez zmniejszenia wymiarów, prawdopodobnie popełniasz błąd.
Marc Claesen
Tak jest. Zwykle używam pakietu grid.pyin libsvmdo weryfikacji krzyżowej. W większości przypadków w przypadku danych o dużych wymiarach gammazawsze bardzo mały, taki jak 0.00001ten poziom.
wydobycie
Cześć, sir, sprawdziłem wasz projekt open source EnsembleSVM, czy potrzebuje on wielowątkowości procedury weryfikacji krzyżowej? I myślę, że na etapie przewidywania dobrze byłoby przewidzieć ogromne dane w partiach i wielowątkowości lub na wielu maszynach?
wydobycie
Korzystanie z wielowątkowości jest opcjonalne w EnsembleSVM, ale domyślnie włączone w esvm-traini esvm-predict. Aby wyłączyć wielowątkowość, należy użyć następującego flagę w tych narzędzi: -threads 1.
Marc Claesen