¿Qué problema resuelve el sobremuestreo, el submuestreo y SMOTE?

25

En una pregunta reciente y bien recibida, Tim pregunta cuándo los datos desequilibrados son realmente un problema en Machine Learning . La premisa de la pregunta es que hay mucha literatura de aprendizaje automático que discute el equilibrio de la clase y el problema de las clases desequilibradas . La idea es que los conjuntos de datos con un desequilibrio entre la clase positiva y la negativa causen problemas para algunos algoritmos de clasificación de aprendizaje automático (incluyo modelos probabilísticos aquí), y se deben buscar métodos para "equilibrar" el conjunto de datos, restaurando el 50/50 perfecto dividido entre clases positivas y negativas.

El sentido general de las respuestas votadas es que "no lo es, al menos si eres considerado en tu modelado". M. Henry L., en un comentario votado a una respuesta aceptada, afirma

[...] no hay un problema de bajo nivel con el uso de datos no balanceados. En mi experiencia, el consejo para "evitar datos desequilibrados" es un algoritmo específico o una sabiduría heredada. Estoy de acuerdo con AdamO en que, en general, los datos desequilibrados no plantean ningún problema conceptual a un modelo bien especificado.

AdamO argumenta que el "problema" con el equilibrio de clase es realmente uno de rareza de clase

Por lo tanto, al menos en regresión (pero sospecho que en todas las circunstancias), el único problema con los datos desequilibrados es que efectivamente tiene un tamaño de muestra pequeño. Si algún método es adecuado para el número de personas en la clase más rara, no debería haber problema si su proporción de miembros está desequilibrada.

Si este es el verdadero problema, deja una pregunta abierta: ¿cuál es el propósito de todos los métodos de remuestreo destinados a equilibrar el conjunto de datos: sobremuestreo, submuestreo, SMOTE, etc.? Claramente, no abordan el problema de tener implícitamente un tamaño de muestra pequeño, ¡no puede crear información de la nada!

Matthew Drury
fuente
Eso es exactamente a lo que lo habría cambiado ... gracias. No cubre todo el alcance de su pregunta, pero un título no tiene que hacerlo: claramente llega a qué tipo de cosa está preguntando.
Glen_b -Reinstalar Monica
Ciertamente, hay situaciones en las que los métodos de arranque y submuestreo son útiles y, a veces, mejores que otros métodos no paramétricos. Los libros sobre bootstrap y submuestreo cubren esto. Hay discusiones en este sitio que discuten esto, incluida la superioridad del bootstrap sobre la exclusión en el análisis discriminante, incluso en muestras relativamente pequeñas. Ciertamente, hay algunas situaciones en las que el bootstrap falla y se mencionan en mi libro, así como en otras.
Michael R. Chernick
@MichaelChernick No estoy hablando de bootstrap, de eso estaba comentando Glen. Estoy hablando de enfoques de "equilibrio de clase", como sobre y bajo muestreo, de modo que la clase positiva a la negativa se represente igualmente en un conjunto de datos.
Matthew Drury
¿Incluye submuestreo? ¿Se refiere solo al tamaño desigual de la muestra? ¿Qué tan general estás haciendo una declaración?
Michael R. Chernick
@MichaelChernick Agregué algunas observaciones aclaratorias en el primer y último párrafo, espero que sea útil.
Matthew Drury

Respuestas:

0

Algunas técnicas de muestreo son para ajustar el sesgo (si la tasa de población es conocida y diferente), pero estoy de acuerdo con la idea de que la clase desequilibrada no es el problema en sí. Una razón importante se reduce al rendimiento del procesamiento. Si nuestra clase objetivo, por ejemplo, es un caso extremadamente raro en 1: 100000, nuestro conjunto de datos de modelado sería masivo y el cálculo sería difícil. El muestreo, sin importar la estrategia, siempre arroja algunos datos para reducir el tamaño total del conjunto de datos. Supongo que la diferencia entre todas las diferentes estrategias de muestreo es la inteligencia en torno a qué datos desechamos sin sacrificar la pérdida de posibilidades predictivas.

Josh
fuente
44
Todo esto es cierto, pero muchos de los métodos que estoy discutiendo crean conjuntos de datos más grandes . El muestreo ascendente crea más instancias de la clase positiva copiando los puntos de datos existentes, y SMOTE crea puntos de datos "sintéticos" de la clase rara. Ciertamente, esto no ayudaría con la eficiencia informática.
Matthew Drury
0

El problema que estos métodos están tratando de resolver es aumentar el impacto de la clase minoritaria en la función de costos. Esto se debe a que los algos intentan adaptarse bien a todo el conjunto de datos y luego adaptarse a la mayoría. Otro enfoque sería utilizar pesos de clase, y este enfoque en la mayoría de los casos da mejores resultados, ya que no hay pérdida de información por submuestreo o pérdida de rendimiento e introducción de ruido por sobremuestreo.

Milan Vukicevic
fuente
2
No entiendo tu respuesta.
Michael R. Chernick
Quise decir que el rendimiento del clasificador se evalúa en todo el conjunto de datos (error promedio en los ejemplos positivos y negativos), donde el error para cada ejemplo es igualmente ponderado. Por lo tanto, el algoritmo (por ejemplo, la regresión logística) adapta su función de hipótesis a ejemplos que maximizarán la reducción de errores. En este caso, a la clase mayoritaria, donde la minoría (clase negativa) prácticamente no se tiene en cuenta porque no tiene una gran influencia en el error en todo el conjunto de datos. Esta es la razón por la cual el sobremuestreo, el bajo muestreo o la ponderación de clase permiten una mejor adopción del algoritmo a la clase minoritaria.
Milan Vukicevic
0

Te daré un ejemplo más extremo. Considere el caso en el que tiene un conjunto de datos con 99 puntos de datos etiquetados como positivos y solo uno etiquetado como negativo. Durante el entrenamiento, su modelo se dará cuenta de que si clasifica todo como positivo, terminará saliéndose con la suya. Una forma de arreglar esto es sobremuestrear la clase subrepresentada y otra es submuestrear la clase sobrerrepresentada. Por ejemplo, en un conjunto de datos de 70 etiquetas positivas y 30 negativas, podría muestrear las etiquetas negativas con reemplazo y las positivas sin reemplazo, lo que hará que mi modelo encuentre más etiquetas negativas durante el entrenamiento. De esta manera, si mi modelo trata de clasificar todo como positivo, incurrirá en una pérdida mayor de lo que hubiera sido de otra manera.

Un enfoque más que no pertenece al muestreo es ajustar la función de costo para dar mayor peso a los puntos de datos con la etiqueta de minoría. Por ejemplo, si está utilizando la pérdida de NLL en un conjunto de datos donde los 1 están sobrerrepresentados en comparación con los 0 entre las etiquetas, puede ajustar su función de pérdida para que sea:

L(Xyo~,yyo)=-α(yyo)En(Xyo~)-β(1-yyo)En(1-Xyo~)

β>αβ-α

Ilkin Bayramli
fuente
0

No estaré de acuerdo con la premisa de que los datos desequilibrados no son un problema en el aprendizaje automático. Quizás menos en regresión, pero ciertamente está en clasificación.

Los datos desequilibrados son relevantes en las aplicaciones de Machine Learning debido a la disminución del rendimiento de los algoritmos (la investigación en la que estoy pensando es específicamente en clasificadores) en el contexto del desequilibrio de clases.

Tome un problema de clasificación binaria simple con una relación 25: 1 de ejemplos de entrenamiento de clase A 'vs.' clase B '. La investigación ha demostrado que la precisión de la clasificación de la clase B se ve afectada simplemente por la disminución de la proporción de datos de entrenamiento. Tiene sentido, ya que cuantos menos ejemplos de entrenamiento tenga, más pobre será su clasificador en esos datos. Como dijo uno de los comentaristas, no puedes hacer algo de la nada. Según los documentos que he visto, en problemas de clasificación multiclase, parece que necesita llegar a una relación de 10: 1 para comenzar a tener un impacto significativo en la precisión de la clase minoritaria. Quizás las personas que leen literatura diferente a la que he visto tienen opiniones diferentes.

Entonces, las soluciones propuestas son: Sobremuestreo de la clase minoritaria, Submuestreo de la clase mayoritaria o uso de SMOTE en la clase minoritaria. Sí, realmente no puede crear datos de la nada (SMOTE lo hace, pero no exactamente) a menos que esté entrando en la creación de datos sintéticos para la clase minoritaria (no es un método simple). Otras técnicas como MixUp y similares potencialmente entran en este concepto, pero creo que son más regularizadores que las soluciones de desequilibrio de clase. En los documentos que he leído, Sobremuestreo> SMOTE> Submuestreo.

Independientemente de su técnica, está alterando la relación entre las clases mayoritarias y minoritarias que pueden afectar la incidencia. En otras palabras, si está creando un clasificador para detectar la enfermedad cerebral súper rara X que tiene una incidencia de 1 en 100,000 y su clasificador está en 1: 1, puede ser más sensible y menos específico con un mayor número de falsos positivos . Si es importante que detecte esos casos y el árbitro más tarde, está bien. Si no, desperdiciaste mucho tiempo y dinero de otras personas. Este problema eventualmente tendrá que ser tratado.

Entonces para responder la pregunta:

tl / dr: existen operaciones de equilibrio de clase como Over / Undersampling y SMOTE (y datos sintéticos) para mejorar el rendimiento del algoritmo de aprendizaje automático (clasificador) al resolver el impacto de rendimiento inherente en un algoritmo causado por el desequilibrio en sí .

drsxr
fuente