19 votos

¿Tomamos realmente una línea aleatoria en el primer paso de la regresión lineal?

random_line

Esta es la captura de pantalla que tomé de un vídeo sobre regresión lineal realizado por Luis Serrano. Explicaba la regresión lineal paso a paso (versión scratch). El primer paso era empezar con una línea aleatoria.

La cuestión es si realmente trazamos una línea aleatoria, o si en su lugar realizamos algún cálculo como tomar una media de los valores de y y trazar inicialmente una línea. Porque si tomamos cualquier línea aleatoria puede que no caiga cerca de ningún punto. Tal vez caiga en el 3er cuadrante del sistema de coordenadas donde no hay puntos en este caso.

27voto

Dave Puntos 76

NO

Lo que queremos encontrar son los parámetros que dan lugar a la menor cantidad de error, y OLS define el error como las diferencias al cuadrado entre los valores observados $y_i$ y los valores previstos $\hat y_i$ . El error a menudo se denota con un $L$ por "pérdida".

$$ L(y, \hat y) = \sum_{i = 1}^N \bigg(y_i - \hat y_i\bigg)^2 $$

Ya tenemos nuestro modelo de regresión, $\hat y_i =\hat\beta_0 + \hat\beta_1x$ por lo que el $\hat y$ es función de $\hat\beta_0$ y $\hat\beta_1$ .

$$ L(y, \hat\beta_0, \hat\beta_1) = \sum_{i = 1}^N \bigg(y_i - (\hat\beta_0 + \hat\beta_1x)\bigg)^2 $$

Queremos encontrar el $\hat\beta_0$ y $\hat\beta_1$ que minimizan $L$ .

Lo que hace el vídeo es simular trozos de toda la "función de pérdida". Para $\hat\beta_0 = 1$ y $\hat\beta_1 = 7$ se obtiene un determinado valor de pérdida. Para $\hat\beta_0 = 1$ y $\hat\beta_1 = 8$ se obtiene otro valor de pérdida. Un método para encontrar el mínimo consiste en elegir valores aleatorios hasta encontrar uno que resulte en un valor de pérdida que parezca lo suficientemente bajo (o hasta que te canses de esperar). Gran parte del trabajo de aprendizaje profundo utiliza variaciones de esto, con trucos como el descenso de gradiente estocástico para hacer que el algoritmo obtenga (cerca de) la respuesta correcta en poco tiempo.

En la regresión lineal OLS, sin embargo, el cálculo nos da una solución al problema de minimización, y no tenemos que jugar a esos juegos.

$$\hat\beta_1=\frac{cov(x,y)}{var(x)}\\ \hat\beta_0=\bar y-\hat\beta_1\bar x$$

19voto

Aksakal Puntos 11351

Nosotros, más o menos, hacemos algo así con eficacia, especialmente en los algoritmos de descenso gradiente. Una línea aleatoria es simplemente un conjunto de parámetros aleatorios $\beta_0,\beta_1$ . El algoritmo de descenso por gradiente tiene que empezar por algún sitio buscando los parámetros óptimos, y el conjunto aleatorio de parámetros es un lugar por el que empezar.

Así que, en cierto modo, empezamos con una línea, aunque no la dibujamos. Además, el algoritmo en sí no es exactamente el que se presenta, por supuesto. El instructor probablemente estaba tratando de explicarlo sin la noción de gradiente, y es difícil. Por lo tanto, yo le daría un pase en un intento descuidado.

9voto

mribeirodantas Puntos 122

A veces es más intuitivo mostrar las cosas gráficamente, sobre todo para los principiantes. Se puede hacer así, por supuesto, pero en la práctica no es así como se hace, ya que existe una solución de forma cerrada, como mencionaba Frank Harrel en el comentario. Si tienes una sola variable independiente, como en la regresión lineal simple, $\hat y_i = \hat\beta_0 + \hat\beta_1x$ , lo resuelves analíticamente, a través de las ecuaciones que aparecen a continuación:

$\hat\beta_1=\frac{cov(x,y)}{var(x)}$

y

$\hat\beta_0=\bar y-\beta_1\bar x$

Por cierto, es posible que esta pregunta ( Por qué un coeficiente de regresión es covarianza/varianza ?) es de su interés.

6voto

Underminer Puntos 1112

Este ejemplo NO es la forma típica de hacer regresión lineal, pero supongo que sí lo es. un algoritmo para encontrar a línea de regresión. Como han indicado correctamente otras respuestas, existe una solución de forma cerrada para hallar la ecuación de regresión por mínimos cuadrados para un conjunto de puntos.

Dicho esto, lo que se muestra en el fragmento es un método para encontrar algorítmicamente una línea que se acerque a los puntos por ensayo y error (es decir, iteraciones).

Como analogía simple para mostrar la diferencia entre una solución de forma cerrada y un algoritmo: si te diera una ecuación matemática, digamos $10 = 2x+4$ y te pedía que resolvieras $x$ sabemos que se puede resolver exactamente usando álgebra.

$10 = 2x+4$

$\implies 2x=6$

$\implies x=3$ ** Solución exacta **

Alternativamente, se podría utilizar un enfoque algorítmico para resolver esta misma ecuación adivinando una solución (por ejemplo, empezar con una conjetura aleatoria: $x=0$ ) y ajustando sistemáticamente $x$ hasta que su condición (declaración de igualdad) se cumpla, o se cumpla aproximadamente.

$x = 0 \implies 10=4$ # Demasiado bajo, ajústalo #

$x = 1 \implies 10=6$ # Demasiado bajo, ajústalo #

$x = 2 \implies 10=8$ # Demasiado bajo, ajústalo #

$x = 3 \implies 10=10$ # Condición cumplida, detente #

Como muestra este ejemplo, a veces los algoritmos pueden aproximarse a las respuestas de las soluciones de forma cerrada, pero no está garantizado que esto ocurra con todos los tipos de ecuaciones.

Personalmente, no encuentro que el fragmento de la pregunta sea pedagógicamente útil para mostrar cómo funcionan las líneas de regresión, y creo que hay mejores ejemplos de cómo se pueden utilizar algoritmos para encontrar soluciones aproximadas a ecuaciones matemáticas.

4voto

tchen Puntos 1344

Esto parece claramente un intento de un instructor de introducir cierta intuición detrás de la regresión lineal y la optimización iterativa a estudiantes de informática no familiarizados con las derivadas o sin formación matemática en general.

Si dependiera de mí, lo haría de una forma ligeramente diferente: empezaría con alguna medida de "bondad de ajuste" y, como se trata de una regresión lineal simple con una covariable, realizaría una búsqueda en la cuadrícula sobre el intercepto y la pendiente, y calcularía las medidas de bondad de ajuste seleccionadas para cada punto de la cuadrícula de forma computacional utilizando un bucle.

De este modo, los alumnos tendrían cierta intuición e incluso se sentirían capaces de obtener por sí mismos una respuesta aproximada. Después de este paso, podemos mencionar que, para algunas medidas de bondad de ajuste, este problema puede resolverse con precisión sin necesidad de realizar iteraciones, pero eso no cambia el objetivo o la intuición que hay detrás de buscar la solución que mejor se ajuste y minimizar los residuos.

Sin embargo, para seguir el procedimiento iterativo es necesario partir de una línea aleatoria. Esto es similar a cómo algunas optimizaciones de redes neuronales comienzan con el inicio de pesos aleatorios. Aun así, creo que calcular la bondad del ajuste en cada iteración posterior ayudaría a aclarar más las cosas. Sin ello, podría parecer poco claro por qué la línea tiene que moverse en absoluto, y cómo está mejorando al moverse hacia los puntos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X