Conjuntos de datos: conjuntos de datos desequilibrados

Considera un conjunto de datos que contiene una etiqueta categórica cuyo valor es Positivo o Negativo. 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, el conjunto de datos está desbalanceado. La etiqueta predominante en un conjunto de datos desequilibrado se denomina clase mayoritaria; la etiqueta menos común se denomina 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 muestra alrededor de 200
            clases negativas; la otra barra muestra 1 clase positiva.
Figura 5: Conjunto de datos extremadamente desequilibrado.

 

A veces, los conjuntos de datos desequilibrados no contienen suficientes ejemplos de la clase minoritaria para entrenar un modelo de forma adecuada. 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 en el conjunto de datos original. Si el modelo funciona bien, ya está todo listo. De lo contrario, al menos el modelo subóptimo proporciona un buen 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 desequilibrado es reducir la muestra y aumentar el peso de la clase mayoritaria. Estas son las definiciones de esos dos términos nuevos:

  • Reducción de muestreo (en este contexto) significa entrenar en un subconjunto desproporcionalmente bajo de los ejemplos de la clase mayoritaria.
  • 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 por un factor de 10 mejora el equilibrio a 1 positivo por 20 negativos (5%). Aunque el conjunto de entrenamiento resultante sigue siendo moderadamente desequilibrado, la proporción de positivos a negativos es mucho mejor que 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 reducir la muestra en un factor de 10, el peso del ejemplo debe ser 10. (Sí, esto puede parecer contraproducente, pero te explicaremos 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: Incremento de ponderación

 

El término peso no se refiere a los parámetros del modelo (como w1 o w2). Aquí, peso se refiere a los pesos de ejemplo, que aumentan 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:

 {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, estás tratando de hacer que el modelo mejore en la clase minoritaria, así que ¿por qué aumentar la ponderación de la clase mayoritaria? De hecho, aumentar el peso de la clase mayoritaria tiende a reducir el sesgo de predicción. Es decir, la ponderación ascendente después del remuestreo tiende a reducir la diferencia entre el promedio de las predicciones de tu modelo y el promedio de las etiquetas de tu conjunto de datos.

También es posible que te preguntes si el aumento de ponderación anula el remuestreo. Sí, hasta cierto punto. Sin embargo, la combinación de aumento de peso y reducción de muestra permite que los minilotes contengan suficientes clases minoritarias para entrenar un modelo eficaz.

Por lo general, es más fácil implementar el aumento de la clase minoritaria por sí solo que reducir el muestreo y aumentar la clase mayoritaria. Sin embargo, aumentar el peso de la clase minoritaria tiende a aumentar el sesgo de predicción.

La reducción de la muestra de la clase mayoritaria ofrece los siguientes beneficios:

  • Convergencia más rápida: Durante el entrenamiento, el modelo ve la clase de minoría con más frecuencia, lo que ayuda a que el modelo converja más rápido.
  • Menos espacio en el disco: Cuando se consolida la clase mayoritaria en menos ejemplos con pesos más grandes, el modelo usa menos espacio en el disco para almacenar esos pesos. Este ahorro permite más espacio en el disco para la clase minoritaria, de modo que el modelo puede recopilar una mayor cantidad y una gama más amplia de ejemplos de esa clase.

Lamentablemente, por lo general, debes reducir la muestra de la clase mayoritaria de forma manual, lo que puede llevar mucho tiempo durante los experimentos de entrenamiento, en especial para conjuntos de datos muy grandes.

Proporciones de rebalanceo

¿Cuánto debes reducir la muestra y aumentar el peso para reequilibrar tu conjunto de datos? Para determinar la respuesta, debes experimentar con la proporción de reabastecimiento, al igual que lo harías con otros 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 es 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 poco más de mil millones de ejemplos.
  • El tamaño del lote es 128.
  • La proporción de desequilibrio es de 100:1, por lo que el conjunto de entrenamiento se divide de la siguiente manera:
    • Aproximadamente 1,000 millones de ejemplos de clases mayoritarias
    • Alrededor de 10 millones de ejemplos de clases minoritarias
¿Cuáles de las siguientes afirmaciones son verdaderas?
Mantener el tamaño del lote en 128, pero reducir la muestra (y aumentar el peso) a 20:1 mejorará el modelo resultante.
Los hiperparámetros actuales están bien.
Aumentar el tamaño del lote a 1,024 mejorará el modelo resultante.