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?
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!
fuente
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.
fuente
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.
fuente
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)
fuente