Cómo hacer Fitness en Machine Learning

Ledys Izquierdo

En aprendizaje de máquina (sigla en inglés ML), siempre buscamos que los modelos sean éticamente diseñados, operativamente funcionales, productivos y eficientes. Sabemos que la base para este logro es el entrenamiento de modelos computacionales que permiten la generalización de conjuntos de datos alrededor de un concepto o de una variedad de criterios. La eficiencia del entrenamiento se mide por el rendimiento de sus propias métricas, al tiempo que, dicho entrenamiento se valida con datos no entrenados, para evaluar si el modelo es verdaderamente eficaz.

En el mundo del aprendizaje automático no se puede construir un modelo 100% preciso, nunca se está libre de errores, además es necesario conocer las fuentes de errores en los modelos para comprender su alcance y capacidad interpretativa. Los modelos de aprendizaje mejor ajustados son aquellos en donde las generalizaciones reportadas de los datos de entrenamiento sirven para generalizar datos y conocimiento nuevo en el proceso de validación. Técnicamente este equilibrio es muy difícil de alcanzar y corresponde al espacio en donde el error de entrenamiento y validación son más próximos. En contraposición, cuando hay desequilibrio entre los datos de entrenamiento y de validación (training y test data), se presentan subajustes (en inglés underfitting) o sobreajustes (en inglés overfitting), problemas comunes en ML, que serán analizados en el presente escrito.

Para comprender el underfitting y overfitting, se deben introducir elementos conceptuales que expliquen como el error de validación nos permite entender el equilibrio o desequilibrio de un modelo de ML en su etapa de entrenamiento. En este orden se debe definir el error irreductible, que se refiere a datos anómalos y variables desconocidas, que también se conoce como ruido; el error de sesgo que es la diferencia entre la predicción esperada del modelo y los valores verdaderos, y se relaciona con la exactitud; el error de varianza que es una medida de dispersión, que indica cuanto varia la predicción según los datos que utilicemos para el entrenamiento, y se relaciona con la precisión.

Es importante ampliar el concepto que relaciona precisión/varianza, que se refiere a la dispersión del conjunto de valores obtenidos de mediciones repetidas de una magnitud, e indica que, cuanto menor es la dispersión de los datos mayor es la precisión. Asimismo, la relación exactitud/sesgo indica cuan cerca del valor real se encuentra el valor medido. Las relaciones mencionadas y el comportamiento de los datos pueden explicarse mejor, si tomamos como ejemplo los disparos a una diana. La precisión y la exactitud en el disparo tienen que ver con la concentración de los impactos alrededor del centro de la diana. En la figura A se observa un alto grado de precisión dado que todos los disparos se concentran en un espacio pequeño y, un alto grado de exactitud dado que los disparos se concentran sobre el centro de la diana.  En la figura B, el grado de precisión es similar al de la figura A, los disparos están igual de concentrados, pero, la exactitud es menor, dado que los disparos se han desviado separándose del centro de la diana.

Figura modificada https://youtu.be/F7xj8H_p288                              

Los conceptos descritos anteriormente, permiten ubicar el underfitting en los casos en que el modelo de aprendizaje automático es simple en relación con la complejidad del problema y con el tamaño del conjunto de datos. Este modelo de aprendizaje se caracteriza por tener un rendimiento débil tanto en conjuntos de entrenamiento como en conjuntos de validación, entonces el infrajuste es de fácil detección a la luz de sus métricas de rendimiento. Con pocos datos el modelo no es preciso ni exacto, por tanto, presenta un sesgo alto y una varianza baja. Para overfitting, el modelo de aprendizaje automático es complejo, con más parámetros y con un conjunto de datos mayor, comporta un rendimiento eficiente en el entrenamiento, pero resulta ineficiente en la validación, este caso tiene una varianza alta y un sesgo bajo.

Resumiendo:

Underfitting: Es un modelo con pobre captura de información y por tanto el desempeño sobre el set de datos de entrenamiento es pobre lo que no permite su generalización.

Overfitting: Es un modelo que captura demasiada información incluyendo ruido y por tanto tiene alto desempeño en el set de entrenamiento, pero no en el set de validación.

Por medio de las gráficas de errores de entrenamiento y de validación se puede representar el error del modelo en los datos usados para entrenar (Training) y en los datos usados para validar el modelo (Test). Lo ideal es que ambos errores estén lo más cerca posible, pero no hacia los extremos. En la gráfica A se muestra el error en Train y en Test a medida que aumenta la complejidad del modelo. Es decir, a medida que aumenta la capacidad de captar detalles, el error en Train se reduce, pero puede llegar a un punto en el que el modelo empieza a «memorizar» patrones no generales y empieza a aumentar el error en Test, en este punto el modelo se caracteriza por tener bajo sesgo pero alta varianza, y lo contrario sucede con el subajuste, en donde ambos errores están tan cerca que se caracteriza por tener alto sesgo y baja varianza. Debemos buscar el equilibrio entre un sesgo bajo y una varianza baja [Rahmani 2021].

Figura A. Errores de entrenamiento y de validación

Figura B. Gráficos modificados Referencia 2. Underfitting y Overfitting

Para la Figura B, en la gráfica correspondiente al underfitting, la línea de color negro no cubre todos los puntos, y en el gráfico que representa el overfitting, la línea de color negro utilizada como clasificador, se adapta mejor a los datos con los que hemos entrenado al clasificador, pero está demasiado adaptada a ellos, de forma que ante nuevos datos probablemente arrojará más errores porque cubre hasta los valores atípicos.

Técnicas de evaluación entrenamiento y validación

Algunas técnicas de ciencia de datos permiten lograr este equilibrio:

Método de retención (Holdout): La forma de evaluar cuando un modelo esta subajustado, sobreajustado o en su defecto equilibrado, consiste en dividir el conjunto total de datos,particionado en 2 conjuntos disjuntos tomando un grupo de muestras para datos de entrenamiento (training dataset ), y otro grupo para muestras de validación (test dataset), el conjunto de datos de validación ayuda a proporcionar una evaluación imparcial de la aptitud del modelo, de esta forma no solo se califica el entrenamiento, sino que se pueden comparar métricas de entrenamiento y pruebas para saber que tan predictivo es el modelo. Se prefiere mantener una relación entre el entrenamiento y validación de 2/3 y 1/3 respectivamente, ósea que el entrenamiento sea mayor que el de las pruebas de validación, si el tamaño de los datos de entrenamiento es pequeño se aumenta la varianza y si el error en el conjunto de datos de validación aumenta, entonces tenemos un modelo de sobreajuste.

Figura Método de retención (Holdout)  

Muestreo aleatorio (Random subsampling): repite el método holdout muchas veces (k-veces) y calcula la media de las exactitudes obtenidas.  El submuestreo aleatorio realiza K divisiones de datos del conjunto de datos, cada división selecciona aleatoriamente un número fijo para realizar las pruebas sin realizar reemplazo. Para cada división de datos, volvemos a entrenar al clasificador desde cero. El Problema de las exactitudes calculadas es que no son datos independientes, y con esta técnica no hay control sobre los ejemplos que ya han sido usados para entrenamiento. Es decir, la verdadera estimación del error con la métrica utilizada para evaluarlo es obtenido con o el promedio de las estimaciones separadas, y esta estimación en ocasiones es significativamente mejor que la estimación reservada.

Grafica Muestreo aleatorio (Random subsampling)

Validación cruzada (cross-validation)- con k pliegues(K-Fold):  es donde un conjunto de datos se divide en un número K de secciones / pliegues donde cada pliegue se usa como un conjunto de prueba en algún momento. Tomemos el escenario de validación cruzada de 4 partes (K = 4). Aquí, el conjunto de datos se divide en 4 pliegues. En la primera iteración, el primer pliegue se usa para probar el modelo y el resto se usa para entrenar el modelo. En la segunda iteración, el segundo pliegue se utiliza como conjunto de prueba, mientras que el resto sirve como conjunto de entrenamiento. Este proceso se repite hasta que los 4 pliegues se hayan utilizado como conjunto de prueba.

 Grafico cross-validation modificado referencia 2

Con esta técnica el sesgo es reducido, Todos los puntos de datos se prueban exactamente una vez y se utilizan en el entrenamiento k-1 veces, La varianza de la estimación resultante se reduce a medida que k aumenta, El algoritmo de entrenamiento es computacionalmente intensivo, ya que el algoritmo debe volver a ejecutarse desde cero k veces.

Técnicas de ensamblaje: (Bootstrap y Boosting): consiste en combinar predicciones de nuevos modelos, promedia los errores para generar mejores predicciones generales. Si es por la técnica Bootstrap lo hace por “remuestreo” tomando muestras aleatorias con reemplazos, el muestreo es realizado b veces para generar b muestras y el tamaño de esas muestras deben ser igual al tamaño original.  La técnica de Boosting es secuencial entrena un modelo con todos los datos y los modelos posteriores se construyen ajustando los errores del modelo inicial e intenta dar mayor peso a las observaciones que el modelo inicial estimo pobremente. Son fáciles de implementar y reducen la varianza en los datos, pero puede caer en la perdida de la interpretabilidad, computacionalmente pueden ser más costoso. Se utilizan de acuerdo con los datos, la simulación y la circunstancia porque combinan varias estimaciones. Sobre estas técnicas de ensamblaje hablaremos posteriormente aquí en AIpocrates.

Otras estrategias para reducir underfitting y overfitting se pueden agregar a las técnicas ya explicadas, procedimientos simples como: el aumento de la cantidad de datos para que los algoritmos generalicen mejor,  simplificación de datos para disminuir la complejidad de los modelos, selección de características para evitar la redundancia, utilizar clases variadas y equilibradas en cantidad para que los datos de entrenamiento estén balanceados y evitar capas ocultas en exceso en los modelos de redes neuronales ya que haríamos que el modelo memorice las posibles salidas, en vez de ser flexible y adecuar las activaciones a las entradas nuevas. En otra columna se hablará sobre la importancia de las diferentes métricas en la evaluación de los modelos.

En conclusión, la mejor técnica para reducir underfitting y overfitting y encontrar el equilibrio en los modelos de ML, es el adecuado entrenamiento y la validación de los datos, con la utilización de técnicas que pueden ir de lo simple a lo complejo, y que deben aplicarse de acuerdo con los objetivos en cada modelo.

Lecturas Recomendadas

  1. Leer columnas anteriores AIPOCRATES: Preprocesamiento de datos, Del dato a la información en salud, inteligencia artificial a la carté en salud, persiguiendo un Ferrari en bicicleta. Biomedicina y datos complejos, los problemas de los algoritmos soportados en IA en el sector salud
  2. Rahmani AM, Yousefpoor E, Yousefpoor MS, Mehmood Z, Haider A, Hosseinzadeh M, Ali Naqvi R. Machine Learning (ML) in Medicine: Review, Applications, and Challenges. Mathematics. 2021; 9(22):2970. https://doi.org/10.3390/math9222970
  3. Pang Ning T, Steinbach M, Kumar B. Introduction to Data Mining. 2nd ed. Boston: Pearson Education, Inc; 2018. ISBN-10: 0321321367. 427p.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: