¿Cómo se relacionan la regresión lineal y el descenso de gradiente? ¿Es el descenso de gradiente un tipo de regresión lineal y es similar a los mínimos cuadrados ordinarios (OLS) y los mínimos cuadrados generalizados (GLS)?

El descenso de gradiente es solo una forma, un algoritmo de optimización particular, para aprender los coeficientes de peso de un modelo de regresión lineal.

Entonces, dibujemos el modelo primero:


La entrada neta z , se calcula como la suma de las características de entrada x multiplicada por los pesos del modelo w:


En el caso de regresión lineal, la función de activación
es simplemente la función de identidad

Ahora, para aprender los pesos óptimos del modelo w , necesitamos definir una función de costo que podamos optimizar. Aquí, nuestra función de costo J es la suma de los errores al cuadrado (SSE), que multiplicamos por 1/2 para facilitar la derivación:


dónde
es la etiqueta o etiqueta de destino del i ésimo punto de entrenamiento

(Tenga en cuenta que la función de costo SSE es convexa y, por lo tanto, diferenciable).
En palabras simples, podemos resumir el aprendizaje del descenso de gradiente de la siguiente manera:

Lo que podemos traducir en una notación más matemática:


Realizar esta actualización de peso global

puede entenderse como “actualizar los pesos del modelo dando un paso opuesto hacia el gradiente de costos escalado por la tasa de aprendizaje η

donde la derivada parcial con respecto a cada w_j se puede escribir como

Para resumir: para usar el descenso de gradiente para aprender los coeficientes del modelo, simplemente actualizamos los pesos w dando un paso en la dirección opuesta del gradiente para cada pasada sobre el conjunto de entrenamiento, eso es básicamente. ¿Pero cómo llegamos a la ecuación?

Pasemos por la derivación paso a paso.


Entonces, esa es básicamente una forma de aprender un modelo de regresión lineal. Es decir, un modelo que minimiza los “desplazamientos verticales”, los errores entre los valores predichos y los valores reales.

    La regresión lineal es básicamente un ajuste de curva (en este caso, la curva es una línea): tiene algunos puntos de datos y desea encontrar la mejor línea que se ajuste a los puntos de datos, es decir, la línea que minimiza la distancia al cuadrado.

    Una línea tiene la ecuación [matemáticas] y = ax + b [/ matemáticas]. Tenemos puntos de datos, por ejemplo, [math] \ {(x_1, y_1), (x_2, y_2), \ dots (x_m, y_m) \} [/ math]. Por cada [matemática] x [/ matemática] nuestra línea nos dará la correspondiente [matemática] y [/ matemática]. Queremos minimizar el error entre nuestra predicción [matemática] y [/ matemática] y la real [matemática] y [/ matemática].


    Las líneas verticales denotan la distancia entre los puntos de datos y la línea, que es lo que queremos minimizar.

    Matemáticamente, para los puntos de datos [math] m [/ math], queremos minimizar [math] \ sum_ {i = 1} ^ m \ left (y_i – \ left (ax_i + b \ right) \ right) ^ 2 [/mates]

    Necesitamos elegir un cierto valor de [math] a [/ math] y un cierto valor para [math] b [/ math] que minimizará la expresión anterior. Ahí es donde la pendiente del gradiente entra en escena. El descenso de gradiente es un algoritmo que minimiza una función convexa. Resulta que si denotamos la expresión anterior como una especie de costo, entonces para cada elección de [matemáticas] a, b [/ matemáticas], obtendremos un cierto costo. Queremos que esto sea mínimo.

    Matemáticamente, por cada elección de [matemáticas] a [/ matemáticas] y [matemáticas] b [/ matemáticas] obtenemos otro valor, el costo.

    [matemáticas] f (a, b) = \ sum_ {i = 1} ^ m \ left (y_i – \ left (ax_i + b \ right) \ right) ^ 2 [/ math]

    Queremos minimizar el valor de [math] f (a, b) [/ math].

    Si graficamos el costo que obtenemos por cada valor de [matemática] a [/ matemática] y [matemática] b [/ matemática] obtenemos una superficie que se ve así:


    El eje x tiene todos los valores del parámetro [matemática] a [/ matemática], el eje y tiene los valores de [matemática] b [/ matemática] y el eje z nos da el costo. El término función convexa significa informalmente que los mínimos locales y globales son iguales. Entonces, el descenso de gradiente toma como entrada algunos valores semilla de [matemática] a [/ matemática] y [matemática] b [/ matemática] y la mejora iterativamente, hasta que alcancemos el costo mínimo, dándonos así los parámetros óptimos [matemática] a ^ {\ text {óptimo}} [/ matemático] y [matemático] b ^ {\ text {óptimo}} [/ matemático], y luego podemos obtener la línea deseada, [matemático] y = a ^ {\ text { óptimo}} \ cdot x + b ^ {\ text {óptimo}} [/ math].

    La intuición simple es la siguiente:
    -en muchos problemas de aprendizaje automático, incluida la regresión lineal, el objetivo es minimizar una función de costo / error / pérdida.
    -en la regresión lineal, la función de costo suele ser la suma de los errores al cuadrado (SSE). Minimizar esto es equivalente a resolver la estimación de máxima verosimilitud para los pesos.
    el descenso de gradiente es un método iterativo para minimizar una función de costo y se puede aplicar para minimizar el SSE

    La regresión lineal es un modelo cuando se supone que el fenómeno que se está estudiando puede explicarse como la suma de algunas otras variables.

    El descenso de gradiente es un método de optimización que se puede utilizar para, entre otras cosas, minimizar el error del modelo de un modelo de regresión lineal.

    La regresión lineal es el problema de resolver AX = b.

    Necesitamos encontrar X tal que AX = b. Si tenemos más ecuaciones que incógnitas, entonces no hay solución. Pero para aproximar la solución, usamos Mínimo cuadrado o pseudo inverso.

    Si usamos mínimos cuadrados, entonces debemos minimizar el error de aproximación de x.

    Utilizamos el gradiente de descenso para esto. Es una técnica de optimización iterativa para encontrar lo óptimo.

    Los métodos iterativos se usan cuando las soluciones de forma cerrada son computacionalmente caras.

    Encontré este video útil

    También puede consultar las respuestas de stackoverflow aquí por qué el descenso de gradiente cuando podemos resolver la regresión lineal analíticamente