Últimamente he estado pensando mucho en el "problema del desequilibrio de clases" en el aprendizaje automático/estadístico, y cada vez tengo más la sensación de no entender lo que está pasando.
En primer lugar, permítanme definir (o intentar) mis términos:
El problema de desequilibrio de clases en el aprendizaje automático/estadístico es la observación de que algunos algoritmos de clasificación binaria(*) no funcionan bien cuando la proporción de clases 0 respecto a las clases 1 está muy sesgada.
Así, en lo anterior, por ejemplo, si hubiera cien $0$ clases para cada $1$ clase, yo diría que el desequilibrio de clase es $1$ a $100$ o $1\%$ .
La mayoría de las declaraciones del problema que he visto carecen de lo que yo consideraría una cualificación suficiente (qué modelos luchan, hasta qué punto el desequilibrio es un problema), y ésta es una fuente de mi confusión.
Un estudio de los textos estándar sobre el aprendizaje automático/estadístico no arroja muchos resultados:
-
Elementos de la inclinación estadística y Introducción al aprendizaje estadístico no contienen "desequilibrio de clases" en el índice.
-
Aprendizaje automático para el análisis predictivo de datos tampoco contiene "desequilibrio de clases" en el índice.
-
Murphy's Aprendizaje automático: Una perspectiva probabilística hace contienen "desequilibrio de clases* en el índice. La referencia es a una sección sobre SVM, donde encontré el siguiente comentario tentador:
Vale la pena recordar que todas estas dificultades, y la plétora de heurísticas que se han propuesto para solucionarlas, surgen fundamentalmente porque las SVM no modelan la incertidumbre utilizando probabilidades, por lo que sus puntuaciones de salida no son comparables entre clases.
Este comentario coincide con mi intuición y experiencia: en mi anterior trabajo ajustábamos rutinariamente regresiones logísticas y modelos de árbol reforzados por gradiente (para minimizar la probabilidad logarítmica binomial) a datos no equilibrados (del orden de un $1\%$ desequilibrio de clases), sin problemas evidentes de rendimiento.
He leído (en algún sitio) que los modelos basados en árboles de clasificación (árboles propiamente dichos y bosques aleatorios) también sufren el problema del desequilibrio de clases. Esto enturbia un poco las aguas, los árboles, en cierto sentido, devuelven probabilidades: el registro de votos para la clase objetivo en cada nodo terminal del árbol.
Así que, para terminar, lo que realmente busco es una comprensión conceptual de las fuerzas que conducen al problema del desequilibrio de clases (si es que existe).
- ¿Es algo que nos hacemos con algoritmos mal elegidos y umbrales de clasificación por defecto perezosos?
- ¿Desaparece si siempre ajustamos modelos de probabilidad que optimicen los criterios de puntuación adecuados? Dicho de otro modo, ¿la causa es simplemente una mala elección de la función de pérdida, es decir, evaluar el poder predictivo de un modelo basándose en reglas de clasificación duras y en la precisión global?
- Si es así, ¿los modelos que no optimizan las reglas de puntuación adecuadas son entonces inútiles (o al menos menos menos útiles)?
(*) Por clasificación Me refiero a cualquier modelo estadístico que se ajuste a datos de respuesta binaria. Yo soy no asumiendo que mi objetivo es una asignación dura a una u otra clase, aunque puede serlo.