Tenía un curso en línea, en el que aprendí que las clases no balanceadas en los datos de entrenamiento pueden generar problemas, porque los algoritmos de clasificación se basan en la regla de la mayoría, como da buenos resultados si el desequilibrio es demasiado. En una tarea, uno tenía que equilibrar los datos mediante el submuestreo de la clase mayoritaria.
Sin embargo, en este blog, alguien afirma que los datos equilibrados son aún peor:
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 con datos no balanceados?
Respuesta
El razonamiento intuitivo se ha explicado en la entrada del blog:
Si nuestro objetivo es la predicción, esto provocará un sesgo definido. Y lo que es peor, será un sesgo permanente, en el sentido de que no tendremos estimaciones consistentes a medida que el tamaño de la muestra crezca.
Por lo tanto, podría decirse que el problema de los datos (artificialmente) balanceados es peor que el caso desequilibrado .
Los datos equilibrados son buenos para la clasificación, pero obviamente pierde información sobre las frecuencias de aparición, lo que afectará las métricas de precisión en sí mismas, así como el rendimiento de producción. .
Digamos que está reconociendo letras escritas a mano del alfabeto inglés (26 letras). Sobrebalancear la apariencia de cada 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 es correcto cuando el clasificador puede 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 darte una definición, puedes pensar en ello como el «peor de los casos»), los puntos mal clasificados -probablemente distribuir 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 equilibrio (asumiendo que «A» y «C» tienen probabilidades mucho más altas de apariencia 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í que los casos frecuentes obtendrán menos errores de clasificación. 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ás intentando reconocer algo como la captura de pantalla de ECDSA-key (más entropía -> menos predicción), mantener los datos desequilibrados no sería de ayuda. 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 puedes realizar un seguimiento del rendimiento de la clasificación no balanceada con métricas de precisión / recuperación primero y decidir si necesitas agregar balanceo o no.
EDIT : Existe una confusión adicional en teoría de estimación precisamente en la diferencia entre la media de la muestra y la media de la población. Por ejemplo, es posible que conozca (posiblemente) la distribución real de las letras en inglés en el alfabeto $ p (x_i | \ theta) $ , pero su muestra (conjunto de entrenamiento) no es lo suficientemente grande para estimarlo correctamente (con $ p (x_i | \ hat \ theta) $ ). Entonces, para compensar un $ \ hat \ theta_i – \ theta_i $ , a veces se recomienda reequilibrar las clases según la población en sí o los parámetros conocidos de una muestra más grande (por lo tanto, 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 letras en inglés recopiladas de literatura técnica frente a ficción frente a toda la biblioteca), por lo que el equilibrio podría ser perjudicial .
Esta respuesta también debería 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 a la proporción de patrones positivos y negativos en sí misma.Generalmente si tiene suficientes datos, el «problema de desequilibrio de clases» no surge
Como conclusión, el equilibrio artificial rara vez es útil si el conjunto de entrenamiento es lo suficientemente grande. Ausencia de datos estadísticos de un idénticamente distribuido muestra también sugiere que no hay necesidad de equilibrio artificial (especialmente para la predicción), de lo contrario, la calidad del estimador es tan buena como la «probabilidad de encontrar un dinosaurio»:
¿Cuál es la probabilidad de encontrarse con un dinosaurio en la calle?
1/2 o se encuentra con un dinosaurio o no se encuentra con un dinosaurio
Comentarios
- Creo que además de la explicación del problema, la conclusión importante de esta respuesta es que uno debe intente desequilibrado primero y verifique sus resultados y solo si es necesario haga el balanceo y verifique su resultado. +1
- Entonces, en otras palabras, con clases distribuidas de manera uniforme en el subconjunto de entrenamiento, el modelo perderá su precisión en datos invisibles, ¿verdad? Pero, en el caso opuesto, cuando intentas extraer de forma aleatoria entradas de un conjunto de datos para tus subconjuntos de entrenamiento / prueba, ¿funcionará mejor tu clasificador?
- @ChristosK. Como muchos afirmaron, cuando ves el problema como una clasificación, es difícil razonar sobre la predicción. En cualquier caso, si elimina el sesgo (muestra «aleatoriamente»), necesita una muestra más grande para mejorar el rendimiento. Es solo que «generalmente» la muestra es lo suficientemente grande como para preservar la semántica, por lo que el sobrebalance solo haría daño y actuaría como un martillo regularizador que «aplana» todo sin la consideración adecuada. Además, como sugiere la metáfora de los dinosaurios, «equilibrado» no significa «uniforme»; se realiza un equilibrio adecuado solo cuando se sabe que algunas probabilidades están mal representadas en una muestra «aleatoria».
- @ChristosK. Gracias por algunas aclaraciones. No es lo mismo lo que quise decir, pero el enfoque es muy similar. La recomendación habitual para la aplicabilidad de k-fold es hacerlo cuando su muestra inicial sea «algo pequeña». No estoy seguro, pero el plegado no debería doler de todos modos, es solo que se necesitan 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 esencialmente menos sesgo.
- @ChristosK. Ah, y como advertencia, la proporció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, debería tener cuidado con tales suposiciones: la proporción también podría estar sesgada. Es posible que desee estimar PrecisionRecall en sus clasificadores primero, si algo no está muestreado, prefiero recopilar / generar (?) Más datos.
Respuesta
De acuerdo 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 y 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 son todo porque en ese caso uno puede Solo habla razonablemente de tendencias , no de predecir ocurrencias individuales.
En estadística, aprendimos hace un tiempo que cualquier método que requiera excluir algunos de los datos es altamente sospechoso. Así que el objetivo de equilibrar los resultados está fuera de lugar. La predicción de tendencias (probabilidades) no lo requiere. Y una vez que estima una probabilidad, puede tomar una decisión óptima aplicando la La función de utilidad / costo / pérdida al riesgo predicho.
Respuesta
¿Depende de lo que desee lograr con la clasificación?
Digamos que es cáncer y no cáncer, entonces detectar el cáncer es vital. Sin embargo, dado que los no cancerosos formarán la mayoría de sus datos, el clasificador esencialmente puede enviar todos los casos a la clase de no cancerosos y obtener una precisión muy alta. Pero no podemos permitirnos eso, por lo que básicamente reducimos la muestra de casos no cancerosos, esencialmente moviendo el límite de decisión de la región con cáncer a la región sin cáncer.
Incluso en casos de uso donde la precisión es nuestra única objetivo, el equilibrio puede ser esencial si se espera que el balance 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 entrenamiento con 900 mangos y 30 naranjas, pero espera implementarlo en un mercado con mangos y naranjas iguales, entonces, idealmente, debería tomar muestras en la proporción de muestra esperada para maximizar la precisión.
Comentarios
- Eso es lo que entendí de las conferencias que tuve. Sin embargo, no ‘ no entiendo cuándo el equilibrio puede ser malo, como sugiere esta publicación del blog. ¿Por qué sería malo equilibrio, si quedan suficientes puntos de datos para cada clase?
- Lo siento, pero en su analogía, ¿qué tiene que ver la distribución de frutas en el mercado con el modelo ac ¿curato?O aprendiste a separar los mangos de las naranjas, o no. En otras palabras, debería poder implementar el mismo modelo en un mercado de solo naranjas o mangos.
- Pero el problema con el ejemplo del cáncer es verlo como una clasificación , debe tratarse como una estimación de riesgo . Luego, el problema aparente con las clases no balanceadas desaparece, consulte stats.stackexchange.com/questions/127042/…
Respuesta
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 Precision (PPR), Recall (sensibilidad). Estas dos métricas deben equilibrarse cuando se comparan. También debe verificar F1-Score, que es la media armónica de Precisión y recuperación. Esto es aplicable a todos los algoritmos de aprendizaje automático