Jason Yair Corona Ventura 21c94d9dcc | 4 years ago | |
---|---|---|
fig | 4 years ago | |
Batchgradientdecent.py | 4 years ago | |
Descensogradientecomp.py | 4 years ago | |
Earlystop.py | 4 years ago | |
README.md | 4 years ago | |
RegresionElastic.py | 4 years ago | |
RegresionLasso.py | 4 years ago | |
RegresionRidge.py | 4 years ago | |
Regresionlinealmatricial.py | 4 years ago | |
regresionpolinomial.py | 4 years ago | |
stochasticgradientdescent.py | 4 years ago |
Codes are written on python and can be executed by both python 2 and 3 as long as the libraries are available.
Siguiendo el orden que se encuentra en el libro mencionado, Comenzamos con el analisis de regresión lineal que utiliza la función de costo mostrada en la siguiente figura:
Esta ecuación implementada en el código Regresionlinealmatricial.py, se utilizan como datos originales para las funciones lineales, la ecuación: 4 + 3 * X agregandole un error con distribución normal.
El primer ejemplo, entrega el resultado mostrado a continuación:
Llegando la regresión a la ecuación 3.96263358 + 3.02663111 * X siendo esta muy cercana a la original.
Ya que las operaciones matriciales necesarias para resolver una regresión lineal son en general muy lentas y complejas de computar, se muestra la opción de optimizar el algoritmo mendiante una opción más optima: Descenso por gradiente. Este método utiliza el vector gradiente de la función de costo original, que se muestra a continuación:
Uno de los más importantes parámetros dentro del método de descenso por gradiente es el tamaño de los pasos que se dan entre cada descenso, ya que si es muy pequeño el algoritmo necesita muchas iteraciones para converger, mientras que si es muy alto, podría diverger al saltar el valle donde se encuentra el mínimo.