¿Debo elegir un conjunto de datos 'equilibrado' o un conjunto de datos 'representativo'?

48

Mi tarea de "aprendizaje automático" es separar el tráfico benigno de Internet del tráfico malicioso. En el escenario del mundo real, la mayoría (digamos 90% o más) del tráfico de Internet es benigno. Por lo tanto, sentí que debería elegir una configuración de datos similar para entrenar a mis modelos también. Pero me encontré con uno o dos trabajos de investigación (en mi área de trabajo) que han utilizado un enfoque de datos de "equilibrio de clases" para entrenar los modelos, lo que implica un número igual de casos de tráfico benigno y malicioso.

En general, si estoy construyendo modelos de aprendizaje automático, ¿debería elegir un conjunto de datos que sea representativo del problema del mundo real, o sea un conjunto de datos equilibrado más adecuado para construir los modelos (dado que ciertos clasificadores no se comportan bien con el desequilibrio de clases, o debido a otras razones que no conozco)

¿Alguien puede arrojar más luz sobre los pros y los contras de las opciones y cómo decidir cuál elegir?

pnp
fuente

Respuestas:

38

Diría que la respuesta depende de su caso de uso. Según mi experiencia:

  • Si está tratando de construir un modelo representativo, uno que describa los datos en lugar de predecir necesariamente, entonces sugeriría usar una muestra representativa de sus datos.
  • Si desea construir un modelo predictivo, particularmente uno que funcione bien mediante la medición del AUC o el orden de rango y planee usar un marco básico de LD (es decir, Árbol de decisión, SVM, Naive Bayes, etc.), le sugiero que alimente el marco un conjunto de datos equilibrado. Gran parte de la literatura sobre el desequilibrio de clase encuentra que el submuestreo aleatorio (reducir la muestra de la clase mayoritaria al tamaño de la clase minoritaria) puede generar ganancias de rendimiento.
  • Si está construyendo un modelo predictivo, pero está utilizando un marco más avanzado (es decir, algo que determina los parámetros de muestreo a través de un contenedor o una modificación de un marco de ensacado que muestrea a la equivalencia de clase), sugeriría nuevamente alimentar la muestra representativa y dejar El algoritmo se encarga de equilibrar los datos para el entrenamiento.
DSea
fuente
2
Si está tratando de construir un modelo representativo, uno que describa los datos en lugar de predecir necesariamente ... ¿quién construye un modelo que no predice? No te
llevé
8
El aprendizaje no supervisado sería un ejemplo en el que se construye un modelo que no está necesariamente orientado a predecir. En algunos casos, es posible que desee explorar o resumir sus datos.
DSea
1
Diría que es más seguro equilibrar su muestra, pero también recolectar pesos de muestreo para que luego pueda volver a ponderar sus datos para obtener representatividad si es necesario. @pnp muchos científicos sociales crean modelos no predictivos, por ejemplo, para confirmar teorías.
shadowtalker
¿Cómo se compararía un modelo equilibrado con un modelo representativo utilizando observaciones ponderadas para imitar un modelo equilibrado?
JenSCDC
1
El AUC no se ve afectado por el desequilibrio de clase, ya que es la probabilidad de que su modelo clasifique una clase positiva elegida al azar más alta que una clase negativa elegida al azar. Estoy bastante en desacuerdo con su consejo aquí para fines generales. Si tiene una muestra representativa, por ejemplo, una muestra aleatoria simple, debe dejarse representativa.
Matthew Drury
8

Creo que siempre depende del escenario. Usar un conjunto de datos representativo no siempre es la solución. Suponga que su conjunto de entrenamiento tiene 1000 ejemplos negativos y 20 ejemplos positivos. Sin ninguna modificación del clasificador, su algoritmo tenderá a clasificar todos los ejemplos nuevos como negativos. En algunos escenarios esto está bien, pero en muchos casos el costo de los ejemplos positivos que faltan es alto, por lo que debe encontrar una solución.

En tales casos, puede usar un algoritmo de aprendizaje automático sensible al costo. Por ejemplo, en el caso del análisis de datos de diagnóstico médico.

En resumen: ¡los errores de clasificación no tienen el mismo costo!

Pasmod Turing
fuente
7

Siempre existe la solución para probar ambos enfoques y mantener el que maximice los rendimientos esperados.

En su caso, supongo que prefiere minimizar los falsos negativos a costa de algunos falsos positivos, por lo que desea sesgar su clasificador contra el fuerte negativo anterior y abordar el desequilibrio reduciendo el número de ejemplos negativos en su conjunto de entrenamiento.

Luego calcule la precisión / recuperación, o sensibilidad / especificidad, o cualquier criterio que le convenga en el conjunto de datos completo y desequilibrado para asegurarse de que no haya ignorado un patrón significativo presente en los datos reales mientras construye el modelo en los datos reducidos.

damienfrancois
fuente
4

Separe los escenarios operacionales y de capacitación.

El escenario operativo es aquel en el que se medirá su clasificador. Aquí es donde debes desempeñarte bien. El uso debe tener un conjunto de datos que sea representativo de este escenario.

El escenario de entrenamiento es lo que esté haciendo para construir un clasificador que funcione bien en el escenario operativo.

Muchas veces los conjuntos de datos en ambos escenarios son de la misma naturaleza, por lo que no es necesario distinguirlos. Por ejemplo, tiene alguna tienda en línea, por lo que la usa para entrenar el uso anterior para rendir bien en el uso futuro. Sin embargo, durante el entrenamiento puede usar un conjunto de datos diferente al que representa el escenario operativo. En realidad, si duerme, sueña con un clasificador, valídelo en su escenario operativo (este paso debe hacerse después de despertarse), es tan bueno como después de seguir el camino habitual de aprendizaje automático.

La distinción entre escenarios operativos y de capacitación se vuelve importante cuando el conjunto de datos está desequilibrado. La mayoría de los algoritmos no funcionarán bien en ese conjunto de datos.

Por lo tanto, no dude en usar dos conjuntos de datos: puede usar un conjunto de datos equilibrado para la capacitación. Una vez que haya terminado, valide su clasificador del conjunto de datos operativos.

DaL
fuente
3

Creo que hay dos cuestiones separadas a considerar: el tiempo de entrenamiento y la precisión de la predicción.

Tome un ejemplo simple: considere que tiene dos clases, que tienen una distribución normal multivariada. Básicamente, debe estimar las medias de clase y las covarianzas de clase respectivas. Ahora, lo primero que le importa es su estimación de la diferencia en los medios de la clase: pero su rendimiento está limitado por la precisión de la peor media estimada: no es bueno estimar una media al centésimo decimal, si la otra media es solo estimado a 1 decimal. Por lo tanto, es un desperdicio de recursos informáticos utilizar todos los datos; en cambio, puede subestimar la clase más común Y volver a clasificar las clases de manera adecuada. (esos recursos informáticos se pueden usar para explorar diferentes variables de entrada, etc.)

Ahora el segundo problema es la precisión predictiva: diferentes algoritmos utilizan diferentes métricas de error, que pueden o no estar de acuerdo con sus propios objetivos. Por ejemplo, la regresión logística penalizará el error de probabilidad general, por lo que si la mayoría de sus datos provienen de una clase, tenderá a tratar de mejorar las estimaciones de probabilidad precisas (por ejemplo, 90 frente a 95% de probabilidad) de esa clase en lugar de tratar de identificar La clase rara. En ese caso, definitivamente querrá intentar volver a pesar para enfatizar la clase rara (y luego ajustar la estimación [ajustando el término de sesgo] para obtener las estimaciones de probabilidad realineadas)

seanv507
fuente