KDnuggets (Polski)

wpis w: Articles | 0
by Sebastian Raschka, Michigan State University.

biorąc pod uwagę dowolny zestaw danych, zazwyczaj nie wiesz, które jądro może działać najlepiej. Polecam zacząć od najprostszej przestrzeni hipotez pierwszy — biorąc pod uwagę, że nie wiesz wiele o swoich danych — i pracy drogę do bardziej złożonych przestrzeni hipotez. Tak więc, jądro liniowe działa dobrze, jeśli twój zbiór danych jest liniowo rozdzielny; jednak, jeśli twój zbiór danych nie jest liniowo rozdzielny, jądro liniowe nie będzie go przecinać (prawie w dosłownym znaczeniu ;)).,

dla uproszczenia (i celów wizualizacji) Załóżmy, że nasz zbiór danych składa się tylko z 2 wymiarów. Poniżej wykreśliłem regiony decyzyjne liniowej maszyny SVM na 2 cechach zestawu danych iris:

To działa doskonale. I oto pojawia się SVM jądra RBF:

teraz wygląda na to, że zarówno linear, jak i RBF Kernel SVM będą działać równie dobrze na tym zbiorze danych. Dlaczego więc wolisz prostszą, liniową hipotezę? Pomyśl o brzytwie Occama w tym konkretnym przypadku., Linear SVM jest modelem parametrycznym, RBF Kernel SVM nie jest, a złożoność tego ostatniego rośnie wraz z wielkością zestawu treningowego. Nie tylko jest to droższe trenować RBF Kernel SVM, ale trzeba również zachować macierz jądra wokół, a projekcja do tej „nieskończonej” wyższej przestrzeni wymiarowej, gdzie dane stają się liniowo rozdzielalne jest droższe, jak również podczas przewidywania. Co więcej, masz więcej hiperparametrów do dostrojenia, więc wybór modelu jest również droższy! I wreszcie, o wiele łatwiej jest przecenić złożony model!,

ok, to co powiedziałem powyżej brzmi bardzo negatywnie w odniesieniu do metod jądra, ale to naprawdę zależy od zbioru danych. Na przykład, jeśli Twoje dane nie są rozdzielne liniowo, nie ma sensu używać klasyfikatora liniowego:

w tym przypadku jądro RBF miałoby o wiele większy sens:

w każdym razie nie zawracałbym sobie głowy zbytnio o jądrze wielomianu. W praktyce jest to mniej przydatne ze względu na wydajność (obliczeniową, jak i predykcyjną)., Tak więc, zasada jest taka: używaj liniowych SVM (lub regresji logistycznej) dla problemów liniowych i nieliniowych jąder, takich jak jądro radialnej funkcji bazowej dla problemów nieliniowych.

region decyzyjny SVM jądra RBF jest w rzeczywistości również liniowym regionem decyzyjnym., To, co RBF Kernel SVM faktycznie robi, to tworzenie nieliniowych kombinacji Twoich funkcji, aby podnieść swoje próbki do wyższej wymiarowej przestrzeni funkcji, gdzie możesz użyć liniowej granicy decyzyjnej, aby oddzielić swoje klasy:

ok, powyżej, przeprowadziłem Cię przez intuicyjny przykład, w którym możemy wizualizować nasze dane w dwóch wymiarach … ale co robimy w realnym problemie, tj. zbiorze danych z więcej niż 2 wymiarami? Tutaj chcemy mieć oko na naszą funkcję celu: zminimalizowanie utraty zawiasów., Skonfigurowalibyśmy przeszukiwanie hiperparametrów (na przykład przeszukiwanie siatki) i porównywalibyśmy ze sobą różne jądra. W oparciu o funkcję straty (lub metrykę wydajności, taką jak dokładność, F1, MCC, Roc auc itp.) możemy określić, które jądro jest „odpowiednie” do danego zadania.

Bio: Sebastian Raschka jest”analitykiem danych”i entuzjastą uczenia maszynowego z wielką pasją do Pythona& open source. Autor „Python Machine Learning”. Michigan State University.

oryginał. Reposted with permission.,

Related:

  • kiedy Deep Learning Działa Lepiej niż SVM lub losowe lasy?
  • rozwój klasyfikacji jako maszyny uczącej się
  • dlaczego implementować algorytmy uczenia maszynowego od podstaw?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *