49 votos

¿Cuándo debo equilibrar las clases en un conjunto de datos de entrenamiento?

Tuve un curso online en el que aprendí que las clases desequilibradas en los datos de entrenamiento pueden dar problemas, porque los algoritmos de clasificación optan por la regla de la mayoría, ya que da buenos resultados si el desequilibrio es demasiado grande. En una tarea había que equilibrar los datos mediante un submuestreo de la clase mayoritaria.

Sin embargo, en este blog alguien afirma que los datos equilibrados son aún peores:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

Entonces, ¿cuál es? ¿Debo equilibrar los datos o no? ¿Depende del algoritmo utilizado, ya que algunos podrían adaptarse a las proporciones desequilibradas de las clases? Si es así, ¿cuáles son fiables con datos desequilibrados?

40voto

Joshua Kissoon Puntos 111

El razonamiento intuitivo se ha explicado en el blogpost:

Si nuestro objetivo es la predicción, esto provocará un sesgo definitivo. Y lo que es peor, será un sesgo permanente, en el sentido de que no tendremos estimaciones consistentes a medida que crezca el tamaño de la muestra.

Por lo tanto, podría decirse que el problema de los datos equilibrados (artificialmente) es peor que el caso de los desequilibrados.

Los datos equilibrados son buenos para la clasificación, pero obviamente se pierde información sobre las frecuencias de aparición, lo que va a afectar a las propias métricas de precisión, así como al rendimiento de la producción.

Digamos que está reconociendo las letras escritas a mano del alfabeto inglés (26 letras). El sobrebalanceo de la aparición de cada letra dará a cada letra una probabilidad de ser clasificada (correctamente o no) de aproximadamente 1/26, por lo que el clasificador se olvidará de la distribución real de las letras en la muestra original. Y es ok cuando el clasificador es capaz de generalizar y reconocer cada letra con alta precisión .

Pero si la precisión y, lo que es más importante, la generalización no es "tan alta" (no puedo darle una definición - puede pensar en ello sólo como un "peor caso") - los puntos mal clasificados se distribuirán muy probablemente por igual entre todas las letras, algo así como:

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

Frente a sin equilibrar (asumiendo que "A" y "C" tienen probabilidades mucho más altas de aparecer en el texto)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

Así, los casos frecuentes tendrán menos errores de clasificación. Que sea bueno o no depende de la tarea. Para el reconocimiento de texto natural, se podría argumentar que las letras con mayor frecuencia son más viables, ya que preservarían la semántica del texto original, acercando la tarea de reconocimiento a la predicción (donde la semántica representa tendencias ). Pero si se trata de reconocer algo como la captura de pantalla de Clave ECDSA (más entropía -> menos predicción) - mantener los datos desequilibrados no ayudaría. Así que, de nuevo, depende.

La distinción más importante es que la estimación de la exactitud es, en sí misma, sesgada (como se puede ver en el ejemplo del alfabeto equilibrado), por lo que no se sabe cómo el comportamiento del modelo se ve afectado por los puntos más raros o más frecuentes.

P.D. Siempre puede seguir el rendimiento de la clasificación desequilibrada con Precisión/recuperación métrica primero y decida si necesita o no añadir balanceo.


EDITAR : Hay una confusión adicional que radica en teoría de la estimación precisamente en la diferencia entre media de la muestra y la media de la población. Por ejemplo, se puede conocer (posiblemente) la distribución real de las letras inglesas en el alfabeto $p(x_i | \theta)$ pero su muestra (conjunto de entrenamiento) no es lo suficientemente grande como para estimarla correctamente (con $p(x_i | \hat \theta)$ ). Por lo tanto, para compensar una $\hat \theta_i - \theta_i$ A veces se recomienda reequilibrar las clases en función de la propia población o de los parámetros conocido por una muestra mayor (por tanto, mejor estimador). Sin embargo, en la práctica no hay garantía de que la "muestra más grande" esté idénticamente distribuida debido al riesgo de obtener datos sesgados en cada paso (digamos que las letras inglesas recogidas de la literatura técnica frente a la ficción frente a toda la biblioteca) por lo que el equilibrio podría seguir siendo perjudicial.

Esta respuesta también debe aclarar los criterios de aplicabilidad para el equilibrio:

El problema del desequilibrio de clases se debe a que no hay suficientes patrones pertenecientes a la clase minoritaria, no por la proporción de patrones positivos y negativos en sí misma. En general, si se tienen suficientes datos, el "problema del desequilibrio de clases" no se plantea

Como conclusión, el equilibrio artificial rara vez es útil si el conjunto de entrenamiento es lo suficientemente grande. La ausencia de datos estadísticos de un idénticamente distribuidos La muestra también sugiere que no es necesario el equilibrio artificial (especialmente para la predicción), de lo contrario la calidad del estimador es tan buena como la "probabilidad de encontrarse con un dinosaurio":

¿Cuál es la probabilidad de encontrarse con un dinosaurio en la calle?

1/2 o te encuentras con un dinosaurio o no te encuentras con un dinosaurio

10 votos

Creo que además de la explicación del tema, lo importante de esta respuesta es que hay que probar primero el desequilibrado y comprobar sus resultados y sólo si es necesario hacer el equilibrado y comprobar su resultado. +1

0 votos

Entonces, en otras palabras, con clases distribuidas uniformemente al subconjunto de entrenamiento el modelo perderá su precisión en los datos no vistos, ¿verdad? Pero, en el caso contrario, en el que intentas extraer aleatoriamente entradas de un conjunto de datos para tus subconjuntos de entrenamiento/prueba, ¿tu clasificador tendrá un mejor rendimiento?

0 votos

@ChristosK. Como muchos afirmaron, cuando ves el problema como una clasificación, es difícil razonar sobre la predicción. En cualquier caso, si eliminas el sesgo (muestreo "aleatorio"), necesitas una muestra mayor para mejorar el rendimiento. Es que "normalmente" la muestra es lo suficientemente grande como para preservar la semántica, por lo que el sobrebalanceo sólo perjudicaría y actuaría como un martillo regularizador que "aplana" todo sin la debida consideración. Además, como sugiere la metáfora de los dinosaurios, "equilibrado" no significa "parejo": sólo se hace un equilibrio adecuado cuando se sabe que algunas probabilidades están mal representadas en una muestra "aleatoria".

23voto

dan90266 Puntos 609

En consonancia con el comentario de @kjetil-b-halvorsen, la rápida adopción del aprendizaje automático ha confundido a los investigadores sobre la predicción frente a la clasificación. Como he descrito con más detalle aquí La clasificación sólo es apropiada en una minoría de casos. Cuando el resultado es raro (o demasiado común), las probabilidades son todo porque en ese caso sólo se puede hablar razonablemente de tendencias no se trata de predecir sucesos individuales.

En estadística, aprendimos hace tiempo que cualquier método que requiera excluir parte de los datos es altamente sospechoso. Así que el objetivo de equilibrar los resultados está mal planteado. La predicción de tendencias (probabilidades) no lo requiere. Y una vez que se estima una probabilidad, se puede tomar una decisión óptima aplicando la función de utilidad/coste/pérdida al riesgo previsto.

5voto

sherri Puntos 21

Depende de lo que quiera conseguir con la clasificación.

Digamos que se trata de un cáncer contra un no cáncer, entonces detectar el cáncer es vital. Sin embargo, dado que los casos no cancerosos constituyen la mayoría de los datos, el clasificador puede enviar todos los casos a la clase no cancerosa y obtener una precisión muy alta. Pero no podemos permitirnos ese lujo, así que básicamente reducimos la muestra de los casos no cancerosos, desplazando el límite de decisión de la región del cáncer a la región no cancerosa.

Incluso en los casos de uso en los que la precisión es nuestro único objetivo, el equilibrado puede ser esencial si se espera que el equilibrio del tiempo de prueba sea diferente del tiempo del tren.

Por ejemplo, digamos que quieres clasificar mangos y naranjas, tienes un conjunto de datos de entrenamiento con 900 mangos y 30 naranjas, pero esperas desplegarlo en un mercado con igual cantidad de mangos y naranjas, entonces lo ideal es que muestrees en la proporción de muestra esperada para maximizar la precisión.

1 votos

Eso es lo que entendí de las conferencias que tuve. Sin embargo, no entiendo cuándo puede ser malo equilibrar, como sugiere esta entrada del blog. ¿Por qué iba a ser malo equilibrar, si quedan suficientes puntos de datos para cada clase?

1 votos

Lo siento, pero en su analogía, ¿qué tiene que ver la distribución de la fruta en el mercado con la precisión del modelo? O aprendes a separar los mangos de las naranjas, o no. En otras palabras, deberías ser capaz de desplegar el mismo modelo en un mercado sólo de naranjas o mangos.

5 votos

Pero el problema con el ejemplo del cáncer es verlo como una clasificación debe ser tratada como estimación del riesgo . Entonces desaparece el aparente problema de las clases desequilibradas, véase stats.stackexchange.com/questions/127042/

1voto

mi986 Puntos 179

Cuando sus datos estén equilibrados, puede preferir comprobar la exactitud de la métrica. Pero cuando los datos están desequilibrados, la precisión no es consistente para diferentes iteraciones. Necesita concentrarse más en métricas como la Precisión (PPR), la Recuperación (sensibilidad). Estas dos métricas deben estar equilibradas cuando se comparan. También debe comprobar la puntuación F1, que es la media armónica de la precisión y la recuperación. Esto es aplicable a todos los algoritmos de aprendizaje automático.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X