Soy un entusiasta de la programación y el aprendizaje automático. Hace sólo unos meses empecé a aprender sobre programación de aprendizaje automático. Al igual que muchos que no tienen una formación en ciencias cuantitativas, también empecé a aprender sobre ML jugando con los algoritmos y conjuntos de datos en el paquete ML ampliamente utilizado (caret R).
Hace un tiempo leí un blog en el que el autor habla sobre el uso de la regresión lineal en ML. Si no recuerdo mal hablaba de que todo aprendizaje automático al final utiliza algún tipo de "regresión lineal" (no estoy seguro de si utilizaba este término exacto) incluso para problemas lineales o no lineales. Aquella vez no entendí lo que quería decir con eso.
Según tengo entendido, el aprendizaje automático para datos no lineales consiste en utilizar un algoritmo no lineal para separar los datos.
Este era mi pensamiento
Digamos que para clasificar datos lineales utilizamos la ecuación lineal $y=mx+c$ y para datos no lineales utilizamos una ecuación no lineal, por ejemplo $y=sin(x)$
Esta imagen está tomada del sitio web sikit learn de support vector machine. En SVM utilizamos diferentes núcleos para ML propósito. Así que mi pensamiento inicial fue kernel lineal separa los datos utilizando una función lineal y RBF kernel utiliza una función no lineal para separar los datos.
Pero entonces vi esto blog donde el autor habla de las redes neuronales.
Para clasificar el problema no lineal en la subparcela izquierda, la red neuronal transforma los datos de tal manera que al final podemos utilizar la separación lineal simple para los datos transformados en la subparcela derecha
Mi pregunta es si todos los algoritmos de aprendizaje automático utilizan al final una separación lineal para la clasificación (conjunto de datos lineal/no lineal).