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


29

Tuve un curso en línea, donde aprendí, que las clases desequilibradas en los datos de entrenamiento podrían ocasionar problemas, porque los algoritmos de clasificación siguen la regla de la mayoría, ya que da buenos resultados si el desequilibrio es demasiado. En una tarea, uno tenía que equilibrar los datos submuestreando 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 confiables en los datos no balanceados?

Respuestas:


28

El razonamiento intuitivo se ha explicado en la publicación del blog:

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.

Entonces, podría decirse que el problema de los datos equilibrados (artificialmente) es peor que el caso desequilibrado.

Los datos equilibrados son buenos para la clasificación, pero obviamente pierde información sobre las frecuencias de apariencia, lo que afectará las métricas de precisión, así como el rendimiento de la producción.

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

Pero si la precisión y, lo más importante, la generalización no es "tan alta" (no puedo darle una definición, puede pensarlo como el "peor de los casos"), los puntos mal clasificados probablemente se distribuirán equitativamente entre todas las letras , algo como:

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

A diferencia de sin balancear (suponiendo que "A" y "C" tienen probabilidades mucho más altas de aparición 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

Por lo tanto, los casos frecuentes obtendrán menos clasificaciones erróneas. Si es bueno o no depende de su tarea. Para el reconocimiento de texto natural, se podría argumentar que las letras con frecuencias más altas 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 está tratando de reconocer algo como la captura de pantalla de la clave ECDSA (más entropía -> menos predicción), mantener los datos desequilibrados no ayudaría. Entonces, de nuevo, depende.

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

PD Siempre puede realizar un seguimiento del rendimiento de la clasificación desequilibrada con métricas de precisión / recuperación primero y decidir si necesita agregar equilibrio o no.


p(xi|θ)p(xi|θ^)θ^iθi, a veces se recomienda reequilibrar las clases según la propia población o los parámetros conocidos de una muestra más grande (por lo tanto, un mejor estimador). Sin embargo, en la práctica no hay garantía de que una "muestra más grande" se distribuya de manera idéntica debido al riesgo de obtener datos sesgados en cada paso (digamos cartas en inglés recopiladas de literatura técnica vs ficción vs toda la biblioteca), por lo que el equilibrio aún podría ser perjudicial.

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

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

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 una muestra distribuida idénticamente más grande también sugiere que no es necesario un 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 te encuentras con un dinosaurio o no te encuentras con un dinosaurio


55
Creo que, además de la explicación del problema, la conclusión importante de esta respuesta es que primero se debe intentar desequilibrar y verificar sus resultados y solo si es necesario hacer el equilibrio y verificar su resultado. +1
Zelphir Kaltstahl

En otras palabras, con clases distribuidas uniformemente en el subconjunto de entrenamiento, el modelo perderá su precisión en datos invisibles, ¿verdad? Pero, en el caso contrario, cuando intente extraer aleatoriamente las entradas de un conjunto de datos para sus subconjuntos de entrenamiento / prueba, ¿su clasificador funcionará mejor?
Christos K.

@ChristosK. Como muchos dijeron, cuando ves el problema como clasificación, es difícil razonar sobre la predicción. En cualquier caso, si elimina el sesgo (muestra "al azar"), necesita una muestra más grande para mejorar el rendimiento. Es solo que la muestra "generalmente" es lo suficientemente grande como para preservar la semántica, por lo que el sobrebalanceo solo dolerí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 "par", usted hace un equilibrio adecuado solo cuando sabe que algunas probabilidades están mal representadas en una muestra "aleatoria".
dk14

1
@ChristosK. Gracias por algunas aclaraciones. No es lo mismo a lo que me refería, pero el enfoque es muy similar. La recomendación habitual para la aplicabilidad de k-fold es hacerlo cuando su muestra inicial es "un poco pequeña". No estoy seguro, pero doblar no debería doler de todos modos, es solo que toma más carreras, y cuanto menos te preocupes por la predicción, menos te importa la generalización / rendimiento tan tautológico como suena :). Pero en general, k-fold significa menos sesgo esencialmente.
dk14

1
@ChristosK. Ah, y como advertencia, la relación de spam / no-spam podría ser una variable aleatoria no estacionaria por sí sola. Con todas esas "noticias falsas", "trolls rusos" y otras cosas que tendría cuidado con tales suposiciones, la relación también podría ser parcial. Es posible que desee estimar PrecisionRecall en sus clasificadores primero, si algo está submuestreado; prefiero recopilar / generar (?) Más datos.
dk14

17

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

En estadística, aprendimos hace un tiempo que cualquier método que requiera que uno excluya algunos de los datos es altamente sospechoso. Por lo tanto, el objetivo de equilibrar los resultados está fuera de lugar. La predicción de tendencias (probabilidades) no lo requiere. Y una vez que calcule una probabilidad, puede tomar una decisión óptima aplicando la función de utilidad / costo / pérdida al riesgo predicho.


1

¿Depende de lo que quieras lograr de la clasificación?

Digamos que es cáncer v / s no cáncer, entonces la detección del cáncer es vital. Sin embargo, dado que el no cáncer formará la mayoría de sus datos, el clasificador esencialmente puede enviar todos los casos a la clase no cancerosa y obtener una precisión muy alta. Pero no podemos permitirnos eso, por lo que esencialmente reducimos la muestra de casos no cancerosos, esencialmente alejando el límite de decisión de la región cancerosa a la región no cancerosa.

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

Por ejemplo, digamos que desea clasificar mangos y naranjas, tiene un conjunto de datos de capacitación con 900 mangos y 30 naranjas, pero espera desplegarlo en un mercado con mangos y naranjas iguales, entonces idealmente debe probar la proporción de muestra esperada para maximizar exactitud.


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

Lo sentimos, pero en su analogía, ¿qué tiene que ver la distribución de frutas del mercado con la precisión del modelo? Aprendiste a separar los mangos de las naranjas, o no. En otras palabras, debería poder implementar el mismo modelo en un mercado solo de naranja o de mango.
Fernando

3
Pero el problema con el ejemplo del cáncer es verlo como una clasificación , debe tratarse como una estimación del riesgo . Luego, el aparente problema con las clases desequilibradas desaparece, ver stats.stackexchange.com/questions/127042/…
kjetil b halvorsen

1

Cuando sus datos están equilibrados, puede preferir verificar la precisión de la métrica. Pero cuando tal situación sus datos están desequilibrados, su precisión no es consistente para diferentes iteraciones. Necesita concentrar más métricas como Precisión (PPR), Recuperación (sensibilidad). Estas dos métricas deben estar equilibradas al comparar. Además, debe verificar F1-Score, que es la media armónica de precisión y recuperación. Esto es aplicable para todos los algoritmos de aprendizaje automático

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.