Regresión linealComenzando por el caso simple, La regresión lineal de una sola variable es una técnica utilizada para modelar la relación entre una sola variable independiente de entrada (variable característica) y una variable dependiente de salida utilizando un modelo lineal, es decir, una línea.es decir, una línea. El caso más general es la regresión lineal multivariable, en la que se crea un modelo para la relación entre múltiples variables de entrada independientes (variables de características) y una variable dependiente de salida. El modelo sigue siendo lineal en el sentido de que la salida es una combinación lineal de las variables de entrada.
Hay un tercer caso más general llamado Regresión Polinómica en el que el modelo se convierte en una combinación no lineal de las variables de características, es decir, puede haber variables exponenciales, seno y coseno, etc. Sin embargo, esto requiere conocer la relación entre los datos y el resultado. Los modelos de regresión se pueden entrenar utilizando el Descenso Gradiente Estocástico (SGD).
Pros:
- Rápido de modelar y es particularmente útil cuando la relación a modelar no es extremadamente compleja y si no se tienen muchos datos.
- La regresión lineal es sencilla de entender, lo que puede ser muy valioso para la toma de decisiones empresariales.
Contra:
- Para los datos no lineales, la regresión polinómica puede ser bastante difícil de diseñar, ya que se debe tener cierta información sobre la estructura de los datos y la relación entre las variables de características.
- Como resultado de lo anterior, estos modelos no son tan buenos como otros cuando se trata de datos muy complejos.
Redes neuronales
Una Red Neural consiste en un grupo interconectado de nodos llamados neuronas. Las variables de característica de entrada de los datos se pasan a estas neuronas como una combinación lineal multivariable, donde los valores multiplicados por cada variable de característica se conocen como pesos. A continuación, se aplica una no linealidad a esta combinación lineal que da a la red neuronal la capacidad de modelar relaciones no lineales complejas. Una red neuronal puede tener varias capas en las que la salida de una capa pasa a la siguiente de la misma manera. En la salida, generalmente no se aplica ninguna no linealidad. Las redes neuronales se entrenan utilizando el Descenso Gradiente Estocástico (SGD) y el algoritmo de retropropagación (ambos mostrados en el GIF de arriba).
Pros:
- Dado que las redes neuronales pueden tener muchas capas (y por tanto parámetros) con no linealidades, son muy eficaces para modelar relaciones no lineales muy complejas.
- En general, no tenemos que preocuparnos por la estructura de los datos en las redes neuronales son muy flexibles en el aprendizaje de casi cualquier tipo de relaciones de variables de características.
- La investigación ha demostrado consistentemente que simplemente dar a la red más datos de entrenamiento, ya sea totalmente nuevo o de aumentar el conjunto de datos original, beneficia el rendimiento de la red.
Contra:
- Debido a la complejidad de estos modelos, no son fáciles de interpretar y entender.
- Pueden ser bastante desafiantes y computacionalmente intensivos de entrenar, requiriendo una cuidadosa sintonía de hiperparámetros y la configuración del programa de tasa de aprendizaje.
- Requieren muchos datos para lograr un alto rendimiento y generalmente son superados por otros algoritmos de ML en casos de «datos pequeños».
Árboles de regresión y bosques aleatorios