Browse Source

nologistica

master
parent
commit
13925b5adc
1 changed files with 21 additions and 2 deletions
  1. +21
    -2
      README.md

+ 21
- 2
README.md View File

@ -30,5 +30,24 @@ El último ejemplo de descenso por gradiente, es una combinación de los dos ant
![Comparación entre tipos de descenco por gradiente](fig/ComparativaGradiente.png) ![Comparación entre tipos de descenco por gradiente](fig/ComparativaGradiente.png)
En la figura se puede apreciar que todos los metódos se aproximan a los valores originales de la ecuación; 4 y 3. El metodo de lote, tiene el comportamiento más estable mientras que los otros dos oscilan entre sus cambios de valores hasta establecerse en un punto. En la figura se puede apreciar que todos los metódos se aproximan a los valores originales de la ecuación; 4 y 3. El metodo de lote, tiene el comportamiento más estable mientras que los otros dos oscilan entre sus cambios de valores hasta establecerse en un punto.
Para casos en que los datos a analizar, no puedan ser aproximados por una linea recta, se muestran metódos alternos de solución, comenzando por la regresión polinómica. Este metódo utiliza la misma metodología que la regresión lineal con la diferencia que agrega potencias extras según el grado del polinomio a cada caracteristica. Para los siguientes polinomios, la ecuación que origina los datos es: 0.5 * X^2 + X + 2 agregando nuevamente ruido aleatorio a los datos. Los resultados obtenidos con la regresión polinomica que se encuentra en el código "regresionpolinomial.py" se muestran a continuación
![Comparación entre tipos de descenco por gradiente](fig/RegresionPolinomial.png)
Para casos en que los datos a analizar, no puedan ser aproximados por una linea recta, se muestran metódos alternos de solución, comenzando por la regresión polinómica. Este metódo utiliza la misma metodología que la regresión lineal con la diferencia que agrega potencias extras según el grado del polinomio a cada caracteristica. Para los siguientes polinomios, la ecuación que origina los datos es: 0.5 * X^2 + X + 2 agregando nuevamente ruido aleatorio a los datos. Los resultados obtenidos con la regresión polinomica que se encuentra en el código "regresionpolinomial.py" se muestran a continuación
![Regresión polinomial](fig/RegresionPolinomial.png)
De esta regresión se obtiene una aproximación con un 85.17% de exactitud, llegando a los valores 0.43536028*X^2 + 1.01274982*X + 2.15068581 que son muy próximos a los valores originales.
En el texto se menciona que uno de los principales problemas de estas regresiones lineales, son los riesgos de sobreestimación y subestimación. Así como hay metódos para detectar estos dos problemas, como lo es la validación cruzada y observar el comportamiento entre el entrenamiento y la validación, se ofrecen tres modelos lineales regularizados.
El primero de estos modelos es **Ridge Regression** que agrega un termino a la función de costo que forza el algoritmo de aprendizaje para no sólo encajar con los datos si no también mantener los pesos del modelo tan pequeños como sea posible. La ecuación utilizada por este metódo es la siguiente
![Lineal regularizado Ridge Función de costo](fig/RidgeCosto.PNG)
El código "RegresionRidge.py" se utiliza para aplicar esta regresión, obteniendo un porcentaje de exactitud máximo de 85.62% y llegando a los valores 0.47997248*X^2 + 0.99088271*X + 2.06616787
![Resultado del modelo Ridge](fig/RegresionRidge.png)
El segundo de estos modelos es Lasso Regression que igual que el termino anterior, utiliza un termino agregado a la función de costo pero con una norma diferente, como se muestra a continuación
![Función de costo Lasso](fig/LassoCosto.PNG)
El código "RegresionLasso.py" es el que se utiliza para este ejemplo, el modelo obtuvo una exactitud máxima del 85.39%, teniendo el valor de 0.4544238*X^2 + 0.98603098*X + 2.15597262. El resultado obtenido se muestra a continuación.
![Resultado del modelo Lasso](fig/RegresionLasso.png)
Por último, se presenta el modelo de red elastica, esta se encuentra en un punto medio entre la regresión Ridge y Lasso, ya que el término de regularización es una combinación entre los otros dos términos. Esta combinación se puede controlar con el valor del factor r, cuando vale 0, el comportamiento se asemeja a Ridge, mientras que al valer 1, es equivalente a Lasso. La función de costo se muestra a continuación
![Función de costo Elastic](fig/ElasticaCosto.PNG)
El código "RegresionElastic.py" es el que se utiliza para este último ejemplo, se encontró una exactitud máxima del 87.72% al utilizar este método y se llegó a los valores 0.47876133*X^2 + 1.00204149*X+ 2.14224417, la grafica resultante se encuentra a continuación
![Resultado del modelo Elastic](fig/RegresionElastica.png)

Loading…
Cancel
Save