Podczas korzystania z SVM musimy wybrać jądro.
Zastanawiam się, jak wybrać jądro. Jakieś kryteria wyboru jądra?
machine-learning
svm
kernel-trick
xiaohan2012
źródło
źródło
Odpowiedzi:
Jądro jest w rzeczywistości miarą podobieństwa, więc wybór jądra zgodnie z wcześniejszą wiedzą o niezmiennościach sugerowaną przez Robina (+1) jest dobrym pomysłem.
Z braku wiedzy eksperckiej jądro Radial Basis Function stanowi dobre domyślne jądro (po ustaleniu jest to problem wymagający modelu nieliniowego).
Wybór parametrów jądra i jądra / regularyzacji można zautomatyzować, optymalizując wybór modelu opartego na walidacji krzyżowej (lub wykorzystując margines promienia lub granice zakresu). Najprostszą rzeczą jest zminimalizowanie kryterium ciągłego wyboru modelu za pomocą metody simpleks Neldera-Meada, która nie wymaga obliczania gradientu i działa dobrze dla rozsądnej liczby hiperparametrów. Jeśli musisz dostroić więcej niż kilka hiperparametrów, automatyczny wybór modelu może spowodować poważne nadmierne dopasowanie ze względu na wariancję kryterium wyboru modelu. Możliwe jest zastosowanie optymalizacji opartej na gradiencie, ale wzrost wydajności zwykle nie jest wart wysiłku, aby go zakodować).
Zautomatyzowany wybór jąder i parametrów jądra / regularyzacji jest trudnym zagadnieniem, ponieważ bardzo łatwo jest zastąpić kryterium wyboru modelu (zwykle oparte na krzyżowej weryfikacji) i możesz uzyskać gorszy model niż na początku. Zautomatyzowany wybór modelu może również wpływać na ocenę wydajności, więc upewnij się, że ocena wydajności ocenia cały proces dopasowania modelu (szkolenie i wybór modelu). Aby uzyskać szczegółowe informacje, patrz
GC Cawley i NLC Talbot, Zapobieganie nadmiernemu dopasowaniu w wyborze modelu poprzez bayesowską regularyzację hiperparametrów, Journal of Machine Learning Research, tom 8, strony 841-861, kwiecień 2007. (pdf)
i
GC Cawley i NLC Talbot, Nadmierne dopasowanie w wyborze modelu, a następnie uprzedzenie wyboru w ocenie wydajności, Journal of Machine Learning Research, vol. 11, s. 2079–2107, lipiec 2010 r. (Pdf)
źródło
Jeśli nie jesteś pewien, co byłoby najlepsze, możesz skorzystać z automatycznych technik selekcji (np. Walidacja krzyżowa, ...). W takim przypadku możesz nawet użyć kombinacji klasyfikatorów (jeśli twoim problemem jest klasyfikacja) uzyskanych z innym jądrem.
Jednak „zaletą” pracy z jądrem jest to, że zmieniasz zwykłą geometrię „euklidesową”, aby pasowała do twojego własnego problemu. Powinieneś także naprawdę spróbować zrozumieć, jakie jest zainteresowanie jądra twoim problemem, co jest szczególne w geometrii twojego problemu . Może to obejmować:
Jeśli wiesz, że separator liniowy byłby dobry, możesz użyć jądra, które daje funkcje afiniczne (tj. ). Jeśli uważasz, że gładkie granice w duchu gładkiego KNN byłyby lepsze, możesz wziąć jądro gaussowskie ...K(x,xi)=⟨x,Axi⟩+c
źródło
Zawsze mam wrażenie, że wybór hiperparametru dla SVM odbywa się poprzez krzyżową weryfikację w połączeniu z wyszukiwaniem siatki.
źródło
Ogólnie rzecz biorąc, jądro RBF jest rozsądnym pierwszym wyborem. Ponadto jądro liniowe jest szczególnym przypadkiem RBF, w szczególności, gdy liczba funkcji jest bardzo duża, można po prostu użyć jądra liniowego.
źródło