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)?




