9 votos

Descenso de gradiente o no para regresión lineal simple

Existen varios sitios web que describen la descenso de gradiente para encontrar los parámetros de la regresión lineal simple (aquí es uno de ellos). Google también lo describe en su nuevo curso de ML (para el público).

Sin embargo, en Wikipedia, se proporcionan las siguientes fórmulas para calcular los parámetros: $$ {\displaystyle {\begin{aligned}{\hat {\alpha }}&={\bar {y}}-{\hat {\beta }}\,{\bar {x}},\\{\hat {\beta }}&={\frac {\sum _{i=1}^{n}(x_{i}-{\bar {x}})(y_{i}-{\bar {y}})}{\sum _{i=1}^{n}(x_{i}-{\bar {x}})^{2}}}\end{aligned}}} $$

Además, la función LinearRegression de scikit-learn no tiene un atributo n_iter_ (número de iteraciones) como lo tiene muchas otras funciones de aprendizaje, ¿lo que sugiere que no se está utilizando el descenso de gradiente?

Preguntas:

  1. ¿Los sitios web que describen el descenso de gradiente para la regresión lineal simple lo hacen solo para enseñar el concepto en el modelo de ML más básico? ¿Es la fórmula en Wikipedia lo que la mayoría de programas de estadísticas usarían para calcular los parámetros (al menos scikit-learn no parece estar utilizando el descenso de gradiente)?
  2. ¿Qué se usa típicamente para la regresión lineal múltiple?
  3. ¿Para qué tipos de modelos de aprendizaje estadístico se utiliza típicamente el descenso de gradiente para encontrar los parámetros sobre otros métodos? Es decir, ¿hay alguna regla general?

8voto

user777 Puntos 10934
  1. La regresión lineal se usa comúnmente como una forma de introducir el concepto de descenso de gradiente.

  2. La factorización QR es la estrategia más común. La factorización SVD y Cholesky son otras opciones. Ver ¿Necesitamos descenso de gradiente para encontrar los coeficientes de un modelo de regresión lineal?

En particular, tenga en cuenta que las ecuaciones que ha escrito pueden mostrar una mala condición numérica y/o ser costosas de calcular. La factorización QR es menos susceptible a problemas de condicionamiento (pero no es inmune) y no es demasiado cara.

  1. Las redes neuronales son el ejemplo más destacado de uso aplicado del descenso de gradiente, pero está lejos de ser el único ejemplo. Otro ejemplo de un problema que requiere actualizaciones iterativas es la regresión logística, que no permite soluciones directas, por lo que típicamente se utiliza Newton-Raphson. (Pero también se podría usar GD o sus variantes.)

0 votos

En el enlace que proporcionaste, ¿se refiere el #3: las "Ecuaciones normales", a las ecuaciones de mi pregunta aquí? Si no, ¿cuál es el término técnico para estas ecuaciones?

1 votos

@OliverAngelil Las "ecuaciones normales" son, de hecho, el término técnico para el sistema de ecuaciones lineales que son las condiciones de primer orden para el problema de optimización de mínimos cuadrados ordinarios.

0 votos

Entonces, ¿se utilizan las "ecuaciones normales" en el software estadístico cuando solo hay 1 variable predictora? Para n = 100, obtengo coeficientes b0 y b1 idénticos (hasta 6 decimales) cuando uso las ecuaciones normales frente a la función LinearRegression en scikit-learn. Aunque estoy confundido: ¿El #3 en el enlace afirma que las "ecuaciones normales" son una idea "TERRIBLE"??

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