Soy un entusiasta de la programación y el aprendizaje automático. Hace solo unos meses comencé a aprender sobre programación de aprendizaje automático. Al igual que muchos que no tienen una formación científica cuantitativa, también comencé a aprender sobre ML jugando con los algoritmos y conjuntos de datos en el paquete de 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 recuerdo bien, habló sobre cómo todo el aprendizaje automático al final usa algún tipo de "regresión lineal" (no estoy seguro de si utilizó este término exacto) incluso para problemas lineales o no lineales. Esa vez no entendí lo que quería decir con eso.
Mi comprensión del uso del aprendizaje automático para datos no lineales es usar un algoritmo no lineal para separar los datos.
Este fue mi pensamiento
Digamos que para clasificar los datos lineales usamos la ecuación lineal y para los datos no lineales usamos la ecuación no lineal digamos
Esta imagen está tomada del sitio web sikit learn de la máquina de vectores de soporte. En SVM utilizamos diferentes núcleos para propósitos de ML. Entonces, mi pensamiento inicial fue que el núcleo lineal separa los datos usando una función lineal y el núcleo RBF usa una función no lineal para separar los datos.
Pero luego vi este blog donde el autor habla sobre las redes neuronales.
Para clasificar el problema no lineal en la subtrama izquierda, la red neuronal transforma los datos de tal manera que al final podemos usar una separación lineal simple para los datos transformados en la subtrama derecha
Mi pregunta es si todos los algoritmos de aprendizaje automático al final usan una separación lineal para la clasificación (conjunto de datos lineal / no lineal).
Respuestas:
La respuesta es No. user20160 tiene una respuesta perfecta, agregaré 3 ejemplos con visualización para ilustrar la idea. Tenga en cuenta que estas gráficas pueden no ser útiles para que vea si la "decisión final" está en forma lineal, pero le da un poco de sentido sobre el árbol, el impulso y el KNN.
Comenzaremos con los árboles de decisión. Con muchas divisiones, es un límite de decisión no lineal. Y no podemos pensar que todas las divisiones anteriores son "transformaciones de características" y hay una línea de decisión final al final.
Otro ejemplo es el modelo de refuerzo, que agrega muchos "clasificadores débiles" y el límite de decisión final no es lineal. Puedes pensar que es un código / algoritmo complicado para hacer la predicción final.
Finalmente, piense en K Vecinos más cercanos (KNN). Tampoco es una función de decisión lineal en la capa final. Además, no hay "transformaciones de características" en KNN.
Aquí hay tres visualizaciones en el espacio 2D (Tree, Boosting y KNN de arriba a abajo). La verdad básica es que 2 espirales representan dos clases, y la subtrama izquierda son las predicciones del modelo y la subtrama derecha son los límites de decisión del modelo.
EDITAR: la respuesta de @ ssdecontrol en esta publicación ofrece otra perspectiva.
Depende de cómo definimos la "transformación" .
fuente
spirals
mucho en mis experimentos). Una sugerencia: trace los límites de decisión comoimage
, y quizás agregue niveles de probabilidad (si está utilizando resultados probabilísticos) concontour
.Algunos algoritmos usan un hiperplano (es decir, una función lineal) para separar los datos. Un ejemplo destacado es la regresión logística. Otros usan un hiperplano para separar los datos después de una transformación no lineal (por ejemplo, redes neuronales y máquinas de vectores de soporte con núcleos no lineales). En este caso, el límite de decisión no es lineal en el espacio de datos original, sino lineal en el espacio de características en el que se asignan los datos. En el caso de SVM, la formulación del núcleo define esta asignación implícitamente. Otros algoritmos utilizan múltiples hiperplanos de división en regiones locales del espacio de datos (por ejemplo, árboles de decisión). En este caso, el límite de decisión es lineal por partes (pero no lineal en general).
Sin embargo, otros algoritmos tienen límites de decisión no lineales y no están formulados en términos de hiperplanos. Un ejemplo destacado es la clasificación de los vecinos más cercanos. Los clasificadores de conjunto (por ejemplo, producidos al aumentar o embolsar otros clasificadores) generalmente no son lineales.
fuente