Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I. OBJETIVOS
• Bias-Variance
• K-fold Cross Validation
• Overfitting
• Tuning
Bias-Variance
Cuando entrenamos nuestra red neuronal artificial dos veces se nota que la segunda vez, se obtiene una menor
precisión, tanto en el conjunto de entrenamiento como en el conjunto de prueba comparado con la primera
vez. Eso nos introduce a la compensación Sesgo-Varianza (Bias-Variance). La Compensación entre Bias-
Variance es el hecho de que estamos tratando de entrenar un modelo que no solo será preciso, sino que no
debería tener demasiada variación de precisión, cuando lo entrenamos varias veces.
El problema de la variación se puede explicar por el hecho de que cuando obtenemos la precisión en el
conjunto de pruebas, si ejecutamos el modelo nuevamente y probamos nuevamente su rendimiento en otro
conjunto de pruebas, podemos obtener una precisión muy diferente. Por lo tanto, juzgar el rendimiento de
nuestro modelo solo con una precisión en un conjunto de prueba, en realidad no es súper relevante.
Esa no es la forma más relevante, para evaluar el rendimiento del modelo.
La técnica K-Fold Cross Validation mejora mucho esta situación. Porque eso solucionará este problema de
varianza. Lo arreglará dividiendo el conjunto de entrenamiento en 10 pliegues (folds) cuando K es igual a 10,
y la mayoría de las veces, K es igual a 10.
Tópicos Avanzados en Ingeniería de Software
Overfitting
El sobreajuste (overfitting) es el efecto de sobreentrenar un algoritmo de aprendizaje con unos ciertos datos
para los que se conoce el resultado deseado. Cuando un sistema se entrena demasiado (se sobreentrena) o se
entrena con datos extraños, el algoritmo de aprendizaje puede quedar ajustado a unas características muy
específicas de los datos de entrenamiento que no tienen relación causal con la función objetivo.
La validación cruzada es una técnica con la que se puede identificar la existencia de diferentes problemas
durante el entrenamiento de los modelos, como la aparición de sobreajuste. Permitiendo así obtener modelos
más estables.
Tuning
La afinación o ajuste (tuning) de parámetros permite elegir los mejores parámetros para nuestra red neuronal
Tópicos Avanzados en Ingeniería de Software
En la ANN, tenemos dos tipos de parámetros: parámetros que se aprenden del modelo durante el
entrenamiento y estos son los pesos y tenemos algunos otros parámetros que se mantienen fijos y estos
parámetros se denominan hiper parámetros.
Así, por ejemplo, estos hiper parámetros son el número de una época, el tamaño del lote, el optimizador o el
número de neuronas en las capas. Y cuando entrenamos bien nuestra red neuronal artificial, la entrenamos con
algunos valores fijos de estos hiper parámetros. Pero tal vez al tomar algunos otros valores, obtendríamos una
mayor precisión en general con una validación cruzada cuidadosa.
Y de eso se trata el ajuste de parámetros.
GridSearchCV
GridSearchCV es una clase disponible en scikit-learn que permite evaluar y seleccionar de forma sistemática
los parámetros de un modelo. Indicándole un modelo y los parámetros a probar, puede evaluar el rendimiento
del primero en función de los segundos mediante validación cruzada.
3. Ejecute el bloque de código. Tomará algo más del tiempo esperado para ver los resultados.
Tópicos Avanzados en Ingeniería de Software
5. Así que el 86% de precisión que obtuvimos la primera vez no fue relevante. Por eso la
importancia de usar la validación cruzada de K-fold para evitar ese tipo de trampas.
6. A continuación, vamos a mejorar y afinar la ANN para superar el Overfitting por medio de
Dropout Regularization.
7. Importe la librería Dropout
8. Luego agregue el siguiente código que importe la librería GridSearchCV para la selección
sistemática de parámetros:
Tópicos Avanzados en Ingeniería de Software
V. Ejercicios