Conjuntos de datos: conjuntos de datos desequilibrados

Considera un conjunto de datos que contenga una etiqueta categórica cuyo valor sea uno de los siguientes: Positiva o Negativa. En un conjunto de datos equilibrado, la cantidad de etiquetas Positivas y Negativas es aproximadamente igual. Sin embargo, si una etiqueta es más común que la otra etiqueta, el conjunto de datos se desequilibrado. La etiqueta predominante en un conjunto de datos desequilibrado se denomina clase mayor; la etiqueta menos común se llama clase minoritaria.

En la siguiente tabla, se proporcionan nombres y rangos generalmente aceptados para diferentes grados de desequilibrio:

Porcentaje de datos que pertenecen a la clase minoritaria Grado de desequilibrio
Entre el 20 y el 40% del conjunto de datos Leve
Entre el 1 y el 20% del conjunto de datos Moderado
Menos del 1% del conjunto de datos Extremo

Por ejemplo, considera un conjunto de datos de detección de virus en el que la clase minoritaria representa el 0.5% del conjunto de datos y la clase mayoritaria representa el 99.5%. Los conjuntos de datos extremadamente desequilibrados como este son comunes en la medicina, ya que la mayoría de los sujetos no tendrán el virus.

Figura 5: Gráfico de barras con dos barras. Una barra exhibe alrededor de 200
            clases negativas; la otra barra muestra 1 clase positiva.
Figura 5: Conjunto de datos extremadamente desequilibrado.

 

Los conjuntos de datos desequilibrados a veces no contienen suficiente clase minoritaria. para entrenar un modelo de forma apropiada. Es decir, con tan pocas etiquetas positivas, el modelo se entrena casi exclusivamente en etiquetas negativas y no puede aprender lo suficiente sobre las etiquetas positivas. Por ejemplo, si el tamaño del lote es de 50, muchos lotes no contendrán etiquetas positivas.

A menudo, el desequilibrio no es un problema, en especial para los conjuntos de datos ligeramente desequilibrados y algunos moderadamente desequilibrados. Por lo tanto, primero debes intentar entrenar con el conjunto de datos original. Si el modelo funciona bien, ya está todo listo. Si no es así, al menos el modelo subóptimo brinda una buena modelo de referencia para experimentos futuros. Luego, puedes probar las siguientes técnicas para superar los problemas que causan los conjuntos de datos desequilibrados.

Reducción de muestreo y aumento de ponderación

Una forma de controlar un conjunto de datos desequilibrados es reducir el muestreo y aumentar el peso del mayoritaria. A continuación, presentamos las definiciones de esos dos términos nuevos:

  • Reducción de muestreo (en este contexto) implica capacitarse en un subconjunto desproporcionadamente bajo de la clase mayoritaria, ejemplos.
  • Aumento de ponderación significa agregar un peso de ejemplo a la clase con reducción de muestreo igual al factor por el que se realizó la reducción de muestreo.

Paso 1: Reduce la muestra de la clase mayoritaria. Considera el conjunto de datos de virus que se muestra en la Figura 5, que tiene una proporción de 1 etiqueta positiva por cada 200 etiquetas negativas. La reducción de la muestra en un factor de 10 mejora el equilibrio a 1 positivo por 20 negativos (5%). Aunque el conjunto de entrenamiento resultante aún es moderadamente desequilibrada, la proporción de positivos a negativos es mucho mejor que con la proporción original extremadamente desequilibrada (0.5%).

Figura 6: Gráfico de barras con dos barras. Una barra muestra 20 clases negativas y la otra muestra 1 clase positiva.
Figura 6. Reducción de muestreo.

 

Paso 2: Aumenta el peso de la clase con reducción de muestreo: Agrega pesos de ejemplo a la clase con reducción de muestreo. Después de realizar una reducción de muestreo por un factor de 10, el peso del ejemplo debería ser 10. (Sí, esto puede parecer contradictorio, pero explicar por qué más adelante).

Figura 7: Un diagrama de dos pasos de reducción de muestras y aumento de ponderación.
            Paso 1: La reducción de la muestra extrae ejemplos aleatorios de la clase
            mayoritaria. Paso 2: El aumento de peso agrega peso a los ejemplos con muestreo reducido.
Figura 7: Aumento de los pesos

 

El término peso no se refiere a los parámetros del modelo (como w1 o w2). Aquí, peso se refiere a Ponderaciones de ejemplo, lo que aumenta la importancia de un ejemplo individual durante el entrenamiento. Un peso de ejemplo de 10 significa que el modelo trata el ejemplo como 10 veces más importante (cuando se calcula la pérdida) que un ejemplo de peso 1.

El peso debe ser igual al factor que usaste para reducir el muestreo:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Puede parecer extraño agregar pesos de ejemplo después de la reducción de la muestra. Después de todo, eres tratar de hacer que el modelo mejore a la clase minoritaria, entonces, ¿por qué aumentar mayoritaria? De hecho, aumentar el peso de la clase mayoritaria tiende a reducir el sesgo de predicción. Es decir, el aumento de peso después de la reducción de muestreo tiende a reducir el delta entre de las predicciones de tu modelo y el promedio de las etiquetas de tu conjunto de datos.

Proporciones de rebalanceo

¿Cuánto debes reducir la muestra y aumentar el peso para rebalancear tu conjunto de datos? Para determinar la respuesta, debe experimentar con la proporción de rebalanceo tal como lo harías con otras hiperparámetros. Dicho esto, la respuesta depende en última instancia de los siguientes factores:

  • El tamaño del lote
  • La proporción de desequilibrio
  • La cantidad de ejemplos en el conjunto de entrenamiento

Lo ideal sería que cada lote contenga varios ejemplos de clases minoritarias. Los lotes que no contengan suficientes clases minoritarias se entrenarán muy mal. El tamaño del lote debe ser varias veces mayor que la proporción de desequilibrio. Por ejemplo, si la proporción de desequilibrio es de 100:1, el tamaño del lote debe ser de al menos 500.

Ejercicio: Comprueba tu comprensión

Ten en cuenta la siguiente situación:

  • El conjunto de entrenamiento contiene un poco más de mil millones de ejemplos.
  • El tamaño del lote es 128.
  • La proporción de desequilibrio es 100:1, por lo que el conjunto de entrenamiento se divide de la siguiente manera:
    • Alrededor de mil millones de ejemplos de clases mayoritarias.
    • Alrededor de 10 millones de ejemplos de clases minoritarias.
¿Cuáles de las siguientes afirmaciones son verdaderas?
Aumentar el tamaño del lote a 1,024 mejorará el modelo resultante.
Con un tamaño de lote de 1,024, cada lote tendrá un promedio de 10 de clase minoritaria, lo que debería ayudar a entrenar un un modelo mejor.
Mantener el tamaño del lote en 128, pero reducir la muestra (y aumentar el peso) a 20:1 mejorará el modelo resultante.
Gracias a la submuestreo, cada lote de 128 tendrá un promedio de 21 de clase minoritaria, que deberían ser suficientes para entrenar un modelo útil. Ten en cuenta que la reducción de muestreo reduce la cantidad de ejemplos en el conjunto de entrenamiento de un poco más de mil millones alrededor de 60 millones.
Los hiperparámetros actuales están bien.
Con un tamaño de lote de 128, cada lote tendrá un promedio de aproximadamente 1 ejemplo de clase minoritaria, lo que podría ser insuficiente para entrenar un modelo útil.