por qué descenso de gradiente cuando podemos resolver la regresión lineal analíticamente


¿Cuál es el beneficio de usar el Descenso de Gradiente en el espacio de regresión lineal? parece que podemos resolver el problema (encontrando theta0-n que minimizan el costo func) con el método analítico, así que ¿por qué todavía queremos usar el descenso de gradiente para hacer lo mismo? gracias

Author: John, 2013-08-12

4 answers

Cuando se utilizan las ecuaciones normales para resolver la función de coste analíticamente se tiene que calcular:

introduzca la descripción de la imagen aquí

Donde X es su matriz de observaciones de entrada y y su vector de salida. El problema con esta operación es la complejidad de tiempo de calcular la inversa de una matriz nxn que es O(n^3) y como n aumenta puede tomar un tiempo muy largo para terminar.

Cuando n es baja (n El descenso del gradiente es mucho más rápido, por lo que la única razón es el tiempo:)

 93
Author: jabaldonedo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-12 19:15:55

Debe proporcionar más detalles sobre el problema de yout - ¿qué es exactamente lo que está preguntando - estamos hablando de regresión lineal en una o varias dimensiones? Simple o generalizado? ¿

En general, ¿por qué la gente usa el GD?

  • es fácil de implementar
  • es una técnica de optimización muy genérica, incluso si cambia su modelo a uno más general, puede usarlo

Entonces, ¿qué pasa con las soluciones analíticas? Bueno, nosotros los usamos , su afirmación es simplemente falsa aquí (si estamos hablando en general), por ejemplo, el método OLS es una forma cerrada, solución analítica, que es ampliamente utilizada. Si puede usar la solución analítica, es computacional asequible (ya que a veces GD es simplemente más barato o más rápido), entonces puede, e incluso debe, usarla.

Neverlethles esto siempre es una cuestión de pros y contras: las soluciones analíticas están fuertemente conectadas con el modelo, por lo que implementarlas puede ser ineficiente si planea generalizar / cambiar sus modelos en el futuro. A veces son menos eficientes que sus aproximaciones numéricas, y a veces son simplemente más difíciles de implementar. Si nada de lo anterior es cierto, debe usar la solución analítica, y la gente lo hace, realmente.

Para resumir, prefiere usar GD sobre solución analítica si:

  • está considerando cambios en el modelo, generalizaciones, agregar algunos más complejos términos/regularización / modificaciones
  • necesitas un método genérico porque no sabes mucho sobre el futuro del código y el modelo (eres solo uno de los desarrolladores)
  • solución analítica es computacionaly más caro, y se necesita eficiencia
  • la solución analítica requiere más memoria, que no tiene
  • la solución analítica es difícil de implementar y necesita un código fácil y simple
 12
Author: lejlot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-12 18:44:21

Vi una muy buena respuesta de https://stats.stackexchange.com/questions/23128/solving-for-regression-parameters-in-closed-form-vs-gradient-descent

Básicamente, las razones son:

1.Para la mayoría de los problemas de regresión no lineal no hay una solución de forma cerrada.

2.Incluso en la regresión lineal (uno de los pocos casos donde una solución de forma cerrada está disponible), puede ser poco práctico utilizar la fórmula. El siguiente ejemplo muestra una forma en que esto puede suceder.

 7
Author: enaJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:44:13

Otra razón es que el descenso de gradiente es inmediatamente útil cuando generaliza la regresión lineal, especialmente si el problema no tiene una solución de forma cerrada, como por ejemplo en Lasso (que agrega el término de regularización que consiste en la suma de los valores absolutos del vector de peso).

 0
Author: Jakub Bartczuk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-07 08:23:01