2.3 - La Regresión Lineal

Lección 3 de la sección “Redes Neuronales” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior vimos el primer algoritmo fundamental del Deep Learning: el Gradiente Descendente.

En esta lección hablaremos de un segundo algoritmo de gran importancia, y con el cual podremos comprender en detalle conceptos como el modelo y sus parámetros, la pérdida, el proceso de optimización, el aprendizaje y el entrenamiento. Hablaremos entonces de la Regresión Lineal, y veremos además su conexión con el algoritmo del Gradiente Descendente.

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El problema a resolver

Supondremos que tenemos un set de datos que relaciona dos variables: el área de un inmueble (que será la variable independiente, $x$) con su precio (la variable dependiente, $y$). Supondremos además que esta relación es lineal, es decir que a mayor área tendremos un mayor precio para el inmueble.

El objetivo es entonces encontrar una forma de relacionar la variable $y$ con la variable $x$. Y para ello usaremos el concepto de modelo. Este modelo será el elemento que permitirá realizar el mapeo de la variable de independiente y transformarlo así en la variable dependiente.

En este caso estamos frente a una tarea de regresión, pues el objetivo es que el modelo permita posteriormente predecir un valor continuo (el precio del inmueble). Como las variables se relacionan linealmente, este será precisamente un modelo de regresión lineal.

El modelo y el set de entrenamiento

Para encontrar las características de nuestro modelo de regresión lineal podemos usar el set de datos conocido y encontrar simplemente la ecuación de la línea recta que “mejor” se ajuste a esos datos. El objetivo será entonces encontrar los valores de pendiente y corte de esta recta que generen el mejor se ajuste a los datos. En adelante llamaremos a estos valores los parámetros del modelo.

La forma de medir ese “mejor” ajuste es definiendo una métrica que nos permita cuantificar la diferencia existente entre un punto perteneciente a la recta (predicho por el modelo) y su valor de referencia (el valor conocido proveniente del set de datos). En adelante llamaremos a esta métrica la pérdida.

Para el caso particular de la Regresión lineal, esta pérdida se conoce como el error cuadrático medio (ECM) y dependerá precisamente de los parámetros del modelo.

Minimización de la pérdida: el proceso de entrenamiento

Así que estamos ante un problema de optimización: para encontrar la recta que mejor se ajuste a los datos debemos modificar iterativamente los parámetros del modelo, calculando en cada iteración el ECM correspondiente y buscando progresivamente llegar al mínimo valor posible de esta pérdida. Y esto se conoce precisamente como el proceso de entrenamiento.

Y la forma de minimizar esta pérdida es precisamente usando el mismo algoritmo del Gradiente Descendente del que hablamos en la lección anterior. Con ayuda de este algoritmo podremos encontrar los parámetros más adecuados para el problema a resolver, y en este caso podemos decir que el modelo ha aprendido estos parámetros.

Predicción

Con el modelo ya entrenado (es decir, una vez hayamos minimizado la pérdida y encontrado el mejor set de parámetros) podremos generar nuevas predicciones. Basta simplemente con introducir un nuevo valor para la variable independiente, luego reemplazamos este valor en la ecuación de la línea recta (es decir en el modelo) con los parámetros aprendidos y con esto generamos la predicción.

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

¡Y listo, esta es la Regresión Lineal! Este proceso se puede resumir en los siguientes pasos: (1) contar con un set de datos que relacione linealmente las variables; (2) entrenar un modelo definiendo la pérdida y usando el algoritmo del Gradiente Descendente para encontrar el mejor set de parámetros posible; (3) generar predicciones con el modelo entrenado.

Con este sencillo modelo ya hemos completado un primer escalón que nos permitirá posteriormente entender cómo funciona una Neurona Artificial y una Red Neuronal. Por ahora es momento de afianzar los conceptos que acabamos de ver, así que en la próxima lección realizaremos la práctica 1: la Regresión Lineal desde cero en Python.

Ver todas las lecciones de este curso