Jestem entuzjastą programowania i uczenia maszynowego. Zaledwie kilka miesięcy temu zacząłem uczyć się programowania maszynowego. Podobnie jak wielu, którzy nie mają ilościowego zaplecza naukowego, zacząłem również uczyć się o ML, majstrując przy algorytmach i zestawach danych w szeroko stosowanym pakiecie ML (Caret R).
Jakiś czas temu czytałem blog, w którym autor mówi o zastosowaniu regresji liniowej w ML. Jeśli dobrze pamiętam, mówił o tym, w jaki sposób całe uczenie maszynowe używa pewnego rodzaju „regresji liniowej” (nie jestem pewien, czy użył tego dokładnego terminu) nawet w przypadku problemów liniowych czy nieliniowych. Wtedy nie zrozumiałem, co miał na myśli.
Rozumiem, że używanie uczenia maszynowego do danych nieliniowych polega na wykorzystaniu algorytmu nieliniowego do oddzielenia danych.
Tak myślałem
Powiedzmy, że do sklasyfikowania danych liniowych zastosowaliśmy równanie liniowe a dla danych nieliniowych zastosujemy równanie nieliniowe powiedzmy
To zdjęcie pochodzi z witryny internetowej Sikit learn support vector machine. W SVM używaliśmy różnych jąder do celów ML. Tak więc początkowo myślałem, że jądro liniowe oddziela dane za pomocą funkcji liniowej, a jądro RBF używa nieliniowej funkcji do oddzielania danych.
Ale potem zobaczyłem tego bloga, w którym autor mówi o sieciach neuronowych.
Aby sklasyfikować problem nieliniowy w lewym podsieci, sieć neuronowa przekształca dane w taki sposób, że w końcu możemy użyć prostej liniowej separacji do transformowanych danych w prawym podpowierzchni
Moje pytanie brzmi, czy wszystkie algorytmy uczenia maszynowego wykorzystują separację liniową do klasyfikacji (liniowy / nieliniowy zestaw danych)?
Odpowiedzi:
Odpowiedź brzmi: nie. User20160 ma idealną odpowiedź, dodam 3 przykłady z wizualizacją, aby zilustrować ten pomysł. Uwaga: wykresy te mogą nie być pomocne w sprawdzeniu, czy „ostateczna decyzja” ma formę liniową, ale dają pewne pojęcie o drzewie, wzmocnieniu i KNN.
Zaczniemy od drzew decyzyjnych. Przy wielu podziałach jest to nieliniowa granica decyzji. I nie możemy myśleć, że wszystkie poprzednie podziały są „transformacjami cech”, a na końcu jest ostateczna linia decyzyjna.
Innym przykładem jest model przypominający, który agreguje wiele „słabych klasyfikatorów”, a granica ostatecznej decyzji nie jest liniowa. Można pomyśleć, że jest to skomplikowany kod / algorytm do ostatecznej prognozy.
Na koniec pomyśl o K Nearest Neighbours (KNN). Nie jest to również liniowa funkcja decyzyjna na warstwie końcowej. ponadto w KNN nie ma „przekształceń funkcji”.
Oto trzy wizualizacje w przestrzeni 2D (Tree, Boosting i KNN od góry do dołu). Podstawowa prawda jest taka, że 2 spirale reprezentują dwie klasy, a lewy wykres podrzędny jest przewidywaniami z modelu, a prawy wykres podrzędny to granice decyzji z modelu.
EDYCJA: Odpowiedź @ ssdecontrol w tym poście daje inną perspektywę.
To zależy od tego, jak zdefiniujemy „transformację” .
źródło
spirals
w swoich eksperymentach). Sugestia: wykreślić granice decyzji jakoimage
i być może dodać poziomy prawdopodobieństwa (jeśli używasz wyników probabilistycznych) za pomocącontour
.Niektóre algorytmy wykorzystują hiperpłaszczyznę (tj. Funkcję liniową) do oddzielenia danych. Widocznym przykładem jest regresja logistyczna. Inni używają hiperpłaszczyzny do oddzielania danych po transformacji nieliniowej (np. Sieci neuronowe i obsługują maszyny wektorowe z nieliniowymi ziarnami). W takim przypadku granica decyzyjna jest nieliniowa w pierwotnej przestrzeni danych, ale liniowa w przestrzeni cech, na którą mapowane są dane. W przypadku SVM formuła jądra domyślnie definiuje to mapowanie. Inne algorytmy wykorzystują wiele dzielących hiperpłaszczyzn w lokalnych regionach przestrzeni danych (np. Drzewa decyzyjne). W takim przypadku granica decyzji jest fragmentarycznie liniowa (ale ogólnie nieliniowa).
Jednak inne algorytmy mają nieliniowe granice decyzyjne i nie są sformułowane w kategoriach hiperpłaszczyzn. Widocznym przykładem jest k najbliższej klasyfikacji sąsiadów. Klasyfikatory zestawów (np. Wytwarzane przez wzmocnienie lub pakowanie innych klasyfikatorów) są zasadniczo nieliniowe.
źródło