Calculadora de Descenso por Gradiente

Tabla de Contenidos

Se presenta una calculadora de descenso por gradiente del modelo de regresión lineal \(y = ax + b\). Los valores de los coeficientes \(a\) y \(b\) se comparan con los calculados utilizando el método analítico basado en el ajuste por mínimos cuadrados lineales . También se presentan comparaciones de los resultados con fines educativos.
Supongamos que tenemos un conjunto de datos de \( n \) puntos de datos \( (x_i , y_i) \) y necesitamos encontrar un modelo lineal de la forma \(y = ax + b\) minimizando la suma \[ \Sigma^{n}_{i=1}(y_i - (a \cdot x_i + b))^2 \] que es la suma de las distancias entre los puntos de datos y los puntos en el modelo lineal como se muestra a continuación. Modelo Lineal Nota que se usa la suma de los cuadrados en lugar del valor absoluto por razones prácticas al realizar derivadas parciales y otros cálculos analíticos.
Ahora presentamos dos métodos para calcular los coeficientes \( a \) y \( b \) incluidos en el modelo lineal.

Método de Descenso por Gradiente

El descenso por gradiente es un algoritmo de optimización iterativo que encuentra los parámetros \(a\) y \(b\) minimizando la función de costo definida por:

\[ J(a, b) = (1/2n) \Sigma^{n}_{i=1}(y_i - (a \cdot x_i + b))^2 \] Cuyas derivadas parciales se necesitan en las reglas de actualización y se dan por: \[ \dfrac{\partial J}{\partial a} = (1/n) \Sigma^{n}_{i=1}(- x_i (y_i - (a x_i + b))) \] \[ \dfrac{\partial J}{\partial b} = (1/n) \Sigma^{n}_{i=1}(-(y_i - (a x_i + b ))) \]

Las reglas de actualización para los parámetros \( a \) y \( b \) son:

\[ a_{k+1} = a_k - r \dfrac{\partial J}{\partial a}|_{a=a_k,b=b_k} = a_k - r (1/n) \Sigma^{n}_{i=1}(-x_i (y_i - (a_k * x_i + b_k))) \] \[ b_{k+1} = b_k - r \dfrac{\partial J}{\partial b}|_{a=a_k,b=b_k} = b_k - r (1/n) \Sigma^{n}_{i=1}(-(y_i - (a_k x_i + b_k))) \] Dónde:

Ajuste por Mínimos Cuadrados Lineales

El método analítico basado en el ajuste por mínimos cuadrados lineales utiliza fórmulas de forma cerrada derivadas de minimizar la suma de los errores cuadrados. Las fórmulas para los parámetros \(a\) y \(b\) son:

\[ a = \dfrac{(n \cdot \displaystyle \Sigma^{n}_{i=1} (x_i \cdot y_i) - \Sigma^{n}_{i=1} x_i \cdot \Sigma^{n}_{i=1} y_i)}{ (n \cdot \Sigma^{n}_{i=1} (x_i^2) - (\Sigma^{n}_{i=1}x_i)^2) } \] \[ b = \dfrac{(\Sigma^{n}_{i=1}y_i - a \cdot \Sigma^{n}_{i=1}x_i) }{ n } \]

Uso de la Calculadora

El propósito de esta calculadora es investigar los efectos de la tasa de aprendizaje \( r \) y los valores iniciales de los coeficientes \( a \) y \( b \) en la convergencia del proceso de iteración basado en el algoritmo (fórmulas de actualización) del descenso por gradiente.
Ingrese el número de puntos \( n \) y haga clic en "Generar Puntos", lo que generará aleatoriamente \( n \) puntos. Investigue para diferentes valores de \( r \), \( a_0 \) y \( b_0 \).
El proceso de iteración converge a las soluciones si \( \dfrac{\partial J}{\partial a} \) y \( \dfrac{\partial J}{\partial b} \) se acercan a cero.
El número máximo de iteraciones también puede incrementarse si es necesario, pero los cálculos podrían tomar tiempo.
Diagrama de dispersión (rojo) de los puntos de datos, así como el gráfico de \( y = a x + b \) en azul para el método de descenso por gradiente y en verde para el método de mínimos cuadrados lineales.

Ingrese el número de puntos: \( n = \)

Épocas (número máximo de iteraciones):
Tasa de Aprendizaje \( r \):
Valor inicial de \( a \): \(a_0 = \)
Valor inicial de \( b \): \(b_0 = \)

Salidas

\( \dfrac{\partial J}{\partial a} \) =

\( \dfrac{\partial J}{\partial b} \) =

Resultados del Método de Descenso por Gradiente

\(a = \)

\(b = \)

Resultados del Método de Mínimos Cuadrados Lineales (Usando las fórmulas para \( a \) y \( b \) arriba)

\(a = \)

\(b = \)

Valor Mínimo de la función de costo \( J(a, b) \):

Leyenda del Gráfico: Azul para el descenso por gradiente. Verde para el método de mínimos cuadrados lineales.