Aprovecha el precio especial

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comienza ahora

Termina en:

02d

18h

10m

58s

42

De dónde viene el algoritmo de regresión lineal

Imagina que tienes un set de 5 datos bidimensionales, es decir, tienes 5 coordenadas (x y y). Todos estos datos son datos reales que son tomados de mediciones. Ahora, tú quieres entender el comportamiento y tendencia de estos 5 datos para, por ejemplo, predecir el sexto, séptimo u octavo dato. ¿Cómo se podría resolver este problema? 🤔

Aquí es donde comenzamos a hablar de regresión lineal. Una regresión lineal es una aproximación numérica para modelar la relación entre una variable independiente X y una variable dependiente Y. Primero grafiquemos nuestros 5 datos [(1, 2), (2, 3), (3, 5), (4, 6), (5, 5)] para entender mejor lo que estamos tratando.

scatterData.png

Una vez vistos los datos graficados queremos entender cuál es su comportamiento lineal. Como recordarás, la ecuación de una recta viene dada por y = b0 + b1x, donde b0 es la intersección con el eje y y b1 la pendiente. Por lo tanto, el objetivo es encontrar la ecuación de esa recta, es decir, tenemos que encontrar los coeficientes b0 y b1.

La técnica que usamos para obtener estos coeficientes se llama mínimos cuadrados. Este procedimiento consiste en minimizar la sumatoria del error entre el valor y real (medido) y el valor y de nuestro modelo de regresión.

Ajustando un línea recta por mínimos cuadrados

Como observarás, al error lo podemos representar con la siguiente ecuación:

errorEquation.png

Teniendo en cuenta esto, procedemos a representar matemáticamente el método de mínimos cuadrados:

leastSquaresDefinition.png

Para encontrar los valores de b0 y b1 derivamos la anterior expresión con respecto a cada una de estas variables:

derivative1.png
derivative2.png

Dado que estamos buscando minimizar el error igualamos las derivadas a cero. Recuerda que en optimización igualamos a cero las derivadas para encontrar un máximo o un mínimo. Así tenemos:

zero1.png
zero2.png

Luego, si consideramos que Σb0 = n*b0 (lo cual tiene sentido porque n es el número de datos), podemos expresar dos ecuaciones lineales de dos incógnitas:

linearEq1.png
linearEq2.png

Ahora, si resolvemos para b0 y b1 obtenemos:

a1.png
a0.png

Donde ȳ y son las medias de x y y, respectivamente.

De esta forma hemos calculado los coeficientes b0 y b1 por el método de mínimos cuadrados. Si tenemos en cuenta los 5 datos sobre los que hablamos al inicio tenemos que b0 = 1.5 y b1 = 0.9. Esto nos da como resultado la curva de regresión que tenemos abajo:

linearRegression.png

Y sí, a pesar de ser una línea recta, en matemáticas se le dice curva.

Ahora veremos la cuantificación del error, es decir, cuán erradas pueden ser nuestras predicciones.

¿Cómo puedo saber cuán reales son los datos modelados?

Consideremos que los datos siguen una distribución normal respecto a la línea de predicción y que el error es de magnitud similar a lo largo del data set. Esto se llama principio de máxima verosimilitud.

Para saber cuán erradas son nuestras predicciones debemos tomar en cuenta la suma total de los cuadrados de las diferencias entre los datos y la media St y la suma total de los cuadrados de las diferencias entre los datos y la curva de regresión Sr. Lo sé, esto parece un trabalenguas, pero miremos las fórmulas para que quede más claro:

St.png
sr.png

Ahora calculemos el error de aproximación entre estos dos valores, así:

r2.png

A se lo conoce como el coeficiente de determinación y a √(r²) como coeficiente de correlación. Entonces, cuando el coeficiente de correlación sea más cercano a 1 quiere decir que las predicciones serán menos erradas. En un caso ideal r será igual a 1, pero en tu carrera como Data Scientist casi nunca te encontrarás con un caso así. Es muy raro.

Una forma más práctica de representar el coeficiente de correlación, desde el punto de vista computacional, es:

r.png

El coeficiente de correlación para nuestro ejemplo inicial es r = 0.867 lo cual está bien.

Ahora ya sabes de donde surge el modelo de regresión lineal y lo podrás aplicar en tus proyectos. Y claro, en tu carrera como Data Scientist lo harás a menudo. Me gustaría saber qué te ha parecido lo que acabas de aprender, cuéntamelo en los comentarios. También aprovecho para animarte a seguir con la Escuela de Data Science para que aprendas más sobre algoritmos. 💚

Escribe tu comentario
+ 2
Ordenar por:
5
23654Puntos
4 años

Esto si que me aclaro un montón de dudas que tenia, excelente!

3
4279Puntos
3 años

Tu post me aclaró varias dudas que tenía y te lo agradezco. Logré comprender con mayor precisión al consultar algunos temas en Yt. Gracias

3
22124Puntos
3 años

Excelente explicación, ayuda bastante a entender de donde sale la RL

2
23305Puntos
2 años

Si está más cerca de 0 que de 1, significa que estamos por mal camino :thin

1
56919Puntos
2 años

Hola. No necesariamente. Nada más esa sería la descripción del comportamiento de los datos. Y quizá sea necesario usar otro modelo matemático. 😎

2
7426Puntos
2 años

Amigo, muchas gracias por la explicación. Qué importante es retomar el tema de las derivadas. Creo que revisar los cursos de calculo diferencial, integral, varias variables y ecuaciones diferenciales es bastante importante para comprender lo que se está realizando en machine learning. Muchas gracias de antemano.

1
3193Puntos
8 meses

Wow eres un genio amigo, me quedo clarísimo. Gracias

1
7198Puntos
un año

Excelente explicación, muy ilustrativa y clara. Algo que yo añadiría es el por qué se deriva la función de Suma de cuadrados (Sr) para encontrar su valor mínimo. Aunque puede parecer un poco obvio me parece que es importante mencionarlo y puede resultar de mucha ayuda para otras personas.
Teniendo en cuenta el cost function para la regresión lineal:

Si analizamos esta función vemos que es una ecuación cuadrática, lo que significa que tiene la forma de una parabola y tiene la forma general de y=ax^2+bx+c.

Nosotros sabemos que al derivar una función cuadrática en un punto dado obtenemos la pendiente de la tangente a la curva en ese punto.
Esto quiere decir que si derivamos la función en el vértice obtendríamos la pendiente de la línea azul que se muestra en el siguiente grafico:
Screenshot 2024-06-19 220422.png
Como vemos, la pendiente es cero m=0. saber esto nos resulta útil porque si nosotros derivamos el cost function en función de b0 y eso lo igualamos a 0, podemos encontrar el valor de b0 que hace que que esa derivada sea igual a 0, es decir el valor que mas minimiza la suma de cuadrados. Ahora solo tenemos que hacer lo mismo con b1 y tendríamos los valores de b0 y b1 que hacen mas pequeño el error en nuestro modelo.