Opiniones sobre Oversampling en general, y el algoritmo SMOTE en particular [cerrado]

18

¿Cuál es su opinión sobre el sobremuestreo en la clasificación en general, y el algoritmo SMOTE en particular? ¿Por qué no solo aplicaríamos un costo / penalización para ajustar el desequilibrio en los datos de clase y cualquier costo de error no balanceado? Para mis propósitos, la precisión de la predicción para un conjunto futuro de unidades experimentales es la medida definitiva.

Como referencia, el artículo SMOTE: http://www.jair.org/papers/paper953.html

Dave Cummins
fuente
1
Un problema con el sobremuestreo de una clase minoritaria en un conjunto de datos desequilibrado es que terminaría aprendiendo demasiado de lo específico de los pocos ejemplos, y eso no se generalizaría bien. Se supone que SMOTE aprende las propiedades topológicas del vecindario de esos puntos en la clase minoritaria, por lo que es menos probable que se sobreajuste.
horaceT
2
Este es un gran tema para una pregunta, pero ¿podría enfocarlo un poco más? "¿Cuál es tu opinión?" invita a un debate interminable, pero tendemos a centrarnos más en un formato de pregunta / respuesta.
Sycorax dice Reinstate Monica

Respuestas:

19

{1} ofrece una lista de ventajas y desventajas del aprendizaje sensible al costo versus el muestreo:

2.2 Muestreo

El sobremuestreo y el submuestreo pueden usarse para alterar la distribución de la clase de los datos de entrenamiento y ambos métodos se han usado para tratar el desequilibrio de la clase [1, 2, 3, 6, 10, 11]. La razón por la que alterar la distribución de la clase de los datos de entrenamiento ayuda al aprendizaje con conjuntos de datos muy sesgados es que efectivamente impone costos de clasificación erróneos no uniformes. Por ejemplo, si uno altera la distribución de la clase del conjunto de entrenamiento de modo que la proporción de ejemplos positivos a negativos va de 1: 1 a 2: 1, entonces uno ha asignado efectivamente una relación de costo de clasificación errónea de 2: 1. Esta equivalencia entre alterar la distribución de clase de los datos de entrenamiento y alterar la relación de costo de clasificación errónea es bien conocida y fue descrita formalmente por Elkan [9].

Existen desventajas conocidas asociadas con el uso del muestreo para implementar el aprendizaje sensible al costo. La desventaja del submuestreo es que descarta datos potencialmente útiles . La principal desventaja con el sobremuestreo , desde nuestra perspectiva, es que al hacer copias exactas de los ejemplos existentes, hace que el sobreajuste sea probable . De hecho, con el sobremuestreo es bastante común que un alumno genere una regla de clasificación para cubrir un solo ejemplo replicado. Una segunda desventaja del sobremuestreo es que aumenta el número de ejemplos de entrenamiento, lo que aumenta el tiempo de aprendizaje .

2.3 ¿Por qué usar muestreo?

Dadas las desventajas con el muestreo, vale la pena preguntarse por qué alguien lo usaría en lugar de un algoritmo de aprendizaje sensible al costo para tratar datos con una distribución de clase sesgada y costos de clasificación erróneos no uniformes. Hay varias razones para esto. La razón más obvia es que no hay implementaciones sensibles a los costos de todos los algoritmos de aprendizaje y, por lo tanto, un enfoque basado en envoltorio que usa muestreo es la única opción. Si bien esto es ciertamente menos cierto hoy que en el pasado, muchos algoritmos de aprendizaje (por ejemplo, C4.5) aún no manejan directamente los costos en el proceso de aprendizaje.

Una segunda razón para usar el muestreo es que muchos conjuntos de datos altamente asimétricos son enormes y el tamaño del conjunto de capacitación debe reducirse para que el aprendizaje sea factible. En este caso, el submuestreo parece ser una estrategia razonable y válida. En este documento no consideramos la necesidad de reducir el tamaño del conjunto de entrenamiento. Sin embargo, deberíamos señalar que si uno necesita descartar algunos datos de entrenamiento, aún podría ser beneficioso descartar algunos de los ejemplos de clases mayoritarias para reducir el tamaño del conjunto de entrenamiento al tamaño requerido, y luego también emplear un costo. algoritmo de aprendizaje sensible, de modo que se minimiza la cantidad de datos de entrenamiento descartados.

Una razón final que puede haber contribuido al uso del muestreo en lugar de un algoritmo de aprendizaje sensible al costo es que los costos de clasificación errónea a menudo son desconocidos. Sin embargo, esta no es una razón válida para usar el muestreo sobre un algoritmo de aprendizaje sensible al costo, ya que el problema análogo surge con el muestreo: ¿cuál debería ser la distribución de la clase de los datos finales del entrenamiento? Si no se conoce esta información de costos, una medida como el área bajo la curva ROC podría usarse para medir el rendimiento del clasificador y ambos enfoques podrían entonces determinar empíricamente la distribución adecuada de la relación costo / clase.

También hicieron una serie de experimentos, que no fueron concluyentes:

Según los resultados de todos los conjuntos de datos, no hay un ganador definitivo entre el aprendizaje sensible al costo, el sobremuestreo y el submuestreo

Luego intentan comprender qué criterios en los conjuntos de datos pueden indicar qué técnica se ajusta mejor.

También comentan que SMOTE puede aportar algunas mejoras:

Hay una variedad de mejoras que las personas han hecho para mejorar la efectividad del muestreo. Algunas de estas mejoras incluyen la introducción de nuevos ejemplos "sintéticos" al sobremuestreo [5 -> SMOTE], la eliminación de ejemplos de clase mayoritaria menos útiles al submuestreo [11] y el uso de múltiples submuestras al submuestreo que cada ejemplo se utiliza en al menos uno submuestra [3]. Si bien estas técnicas se han comparado con sobremuestreo y submuestreo, generalmente no se han comparado con algoritmos de aprendizaje sensibles al costo. Valdría la pena estudiarlo en el futuro.


{1} Weiss, Gary M., Kate McCarthy y Bibi Zabar. "Aprendizaje sensible al costo versus muestreo: ¿cuál es el mejor para manejar clases desequilibradas con costos de error desiguales?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=en&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Franck Dernoncourt
fuente
2
Cuando dices "algoritmo de aprendizaje sensible al costo", ¿debería pensar mi cerebro "penalizar las clases con altas frecuencias de ocurrencia y posiblemente asignar más importancia a las clases con bajas frecuencias"? ¿Es este concepto equivalente a asignar pesos de clase?
Jarad