Red de conocimiento informático - Aprendizaje de código fuente - Comprender el método de mínimos cuadrados y el método de descenso de gradiente

Comprender el método de mínimos cuadrados y el método de descenso de gradiente

En la regresión lineal, el método más utilizado es el método de mínimos cuadrados. El método de mínimos cuadrados conserva la idea central en el proceso de implementación específico, al tiempo que mejora el algoritmo en diversos grados. Por lo tanto, el método de mínimos cuadrados tiene muchas evoluciones, como: método de mínimos cuadrados recursivo, método de mínimos cuadrados ponderados, etc. Estos cambiarán según las circunstancias reales. En este artículo, me centraré en mi comprensión del método de mínimos cuadrados.

El llamado "método de mínimos cuadrados", entendido literalmente, es en última instancia la encarnación de un problema de optimización. Por lo tanto, el método de mínimos cuadrados es un problema de optimización (problema de optimización).

Según tengo entendido: cuando existe una determinada relación funcional entre la variable independiente y la variable dependiente que puede aproximarse, a esto lo llamamos regresión de comportamiento. Y esta función se llama función de regresión.

La regresión puede ayudarnos a predecir la variable dependiente. Basándonos en datos anteriores y funciones de regresión, podemos predecir aproximadamente la próxima tendencia de la variable dependiente. Este método se usa ampliamente en el mercado de valores y también se usa ampliamente en algunos problemas de series de tiempo.

Supongamos que tenemos un conjunto de números,

generamos un conjunto de números aleatorios y luego queremos usar una función para describir la relación entre el eje horizontal x y el eje vertical. y. Primero supongamos que esta relación es lineal, asumiendo que la función será H(x) = \theta_0 \theta_1*x

Si obtenemos \theta_0, \theta_1 , entonces nuestra función de regresión está determinada. A partir de x se puede calcular la y correspondiente.

Cómo obtener H (x)

Para que nuestra función de hipótesis describa mejor los datos reales, es decir, la función de hipótesis está más cerca de la distribución de los datos reales. Entonces el error entre los dos debería ser mínimo.

Entonces obtenemos la función de costo:

J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^m(H( x ^{(i)})-y^{(i)})^2

Calcula el error total sumando los errores al cuadrado de los valores discretos y calculados.

En este punto, nuestro objetivo es calcular:

Minimizar J(\theta_0, \theta_1)

Este es el concepto del método de mínimos cuadrados.

El método de mínimos cuadrados es una idea para problemas de optimización, y el método de descenso de gradiente es un método de solución que implementa específicamente esta idea de optimización.

Para resolver la minimización J(\theta_0,\theta_1) en el problema de mínimos cuadrados, si es un problema lineal, podemos intentar usar una matriz, es decir, una ecuación regular, y asegurarnos de que (x^Tx) ^{-1} simplemente existe. Por supuesto, esto también es una limitación de los cálculos matriciales.

Un método más general es el método de descenso de gradiente (no digas que es lento).

La esencia del método de descenso de gradiente es la iteración. Al actualizar iterativamente el valor \theta, se encuentra gradualmente el valor mínimo de J(\theta_0, \theta_1).

De la figura anterior podemos encontrar que a medida que aumenta el número de iteraciones en el eje horizontal, el valor J en el eje vertical se vuelve gradualmente más pequeño.

Sabemos que la función de costos J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^m(H(x^{(i)}) -y ^{(i)})^2

Nuestra función objetivo es minimizar J(\theta_0, \theta _1)

Por lo tanto, sea J(\theta_0, \theta_1 ) son las derivadas parciales de \theta_0 y \theta_1 respectivamente.

Obtenemos:

\frac{﹎ J(\theta_0, \theta_1)}{﹎ \theta_0} = \frac{1}{m}\sum_{i=1 }^m(x^{(i)})-y^{(i)})

\frac{\partial J(\theta_0,\theta_1) {\frac{frac{1}{ m}\sum_{i=1}^m(x^{(i)})-y^{(i)})

parcial J(\theta_0, \theta_1)}{parcial \theta_1 } = \frac{1}{m}\sum_{i=1}^m(x^{(i)})-y^{(i)})x_i

Actualizado el \theta :

\theta_0: \theta_0-\alpha \frac{J parcial(\theta_0)}{partial \theta_0}

\theta_1:\theta_1-\alpha \frac{J parcial (\theta_1)}{partial \theta _1}

Las líneas coloreadas aquí son líneas de gradiente. Podemos ver que inicialmente \theta es, luego \theta se acerca gradualmente al costo mínimo y finalmente alcanza la posición [. 1.6, 1.6].

En el método de descenso de gradiente, también tendremos el método de descenso de gradiente incremental, etc., pero todos son para lograr una aproximación más rápida, que conviene analizar en función de las necesidades específicas.