¿Qué es el sobremuestreo?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

¿Qué es el sobremuestreo?

El sobremuestreo aumenta el número de muestras de datos en un conjunto de datos. Al hacerlo, su objetivo es corregir los datos desequilibrados y, por lo tanto, mejorar el rendimiento del modelo.

El sobremuestreo, también conocido como sobremuestreo, es una técnica de procesamiento y optimización de datos que aborda el desequilibrio de clases en un conjunto de datos mediante la adición de datos. El sobremuestreo agrega datos mediante el uso de muestras originales de clases minoritarias hasta que todas las clases tengan el mismo tamaño. Tanto Python scikit-learn como Matlab contienen funciones integradas para aplicar técnicas de sobremuestreo.

El sobremuestreo para la ciencia de datos se suele confundir con el sobremuestreo en el procesamiento digital de señales (DSP). Ambas son similares en espíritu pero distintas. De forma similar al sobremuestreo en la ciencia de datos, el sobremuestreo en DSP crea artificialmente más muestras en el dominio de la frecuencia a partir de una señal de entrada (concretamente una señal de tiempo discreto) interpolando frecuencias de muestreo más altas. Estas nuevas muestras se generan insertando ceros en la señal original y utilizando un filtro de paso bajo para la interpolación. Esto difiere de la forma en que se remuestrean los datos en el equilibrado de datos.

El sobremuestreo para el equilibrio de datos también es distinto del sobremuestreo en el procesamiento de imágenes. En este último, las imágenes de alta resolución se reducen primero en resolución (eliminando píxeles) para acelerar los cálculos, tras lo cual la convolución devuelve la imagen a sus dimensiones originales (añadiendo píxeles de nuevo).

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Por qué utilizar el sobremuestreo?

El sobremuestreo es una forma eficaz de abordar el desequilibrio dentro de un conjunto de datos. Un conjunto de datos desequilibrado se define como un conjunto de datos en el que una clase está muy poco representada en el conjunto de datos en relación con la población real, lo que crea un sesgo involuntario. Por ejemplo, imagine que un modelo está entrenado para clasificar las imágenes como si mostraran un gato o un perro. El conjunto de datos utilizado está compuesto por un 90 % de gatos y un 10 % de perros. Los gatos en este escenario están sobrerrepresentados, y si tenemos un clasificador que predice gatos cada vez, producirá una precisión del 90 % para clasificar gatos, pero una precisión del 0 % para clasificar perros. El conjunto de datos desequilibrado en este caso hará que los clasificadores favorezcan la precisión de la clase mayoritaria a expensas de la clase minoritaria. El mismo problema puede surgir con conjuntos de datos de varias clases.1

El proceso de sobremuestreo contrarresta el problema del desequilibrio del conjunto de datos. Rellena el conjunto de datos con puntos sintetizados a partir de características de la clase minoritaria del conjunto de datos original. Esto equilibra el conjunto de datos al aumentar de forma efectiva el número de muestras para una clase minoritaria infrarrepresentada hasta que el conjunto de datos contenga una proporción igual de puntos en todas las clases.

Si bien los desequilibrios se pueden ver simplemente trazando los recuentos de puntos de datos en cada clase, no nos dice si afectará en gran medida al modelo. Afortunadamente, podemos usar métricas de desempeño para medir qué tan bien una técnica de submuestreo corrige el desequilibrio de clase. La mayoría de estas métricas serán para clasificación binaria, donde solo hay dos clases: una positiva y una negativa. Por lo general, la clase positiva es la clase minoritaria mientras que la clase negativa es la clase mayoritaria. Dos métricas populares son las curvas de característica operativa del receptor (ROC) y las curvas de recuperación de precisión.1

Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Ventajas y desventajas del sobremuestreo

Ventajas

  • Sin pérdida de información: a diferencia del submuestreo, que elimina los puntos de datos de la clase mayoritaria, el sobremuestreo genera nuevos puntos de datos, lo que evita cualquier pérdida de información.
  • Aumento de los datos a bajo costo: el sobremuestreo es especialmente eficaz, y a menudo es la única forma, de aumentar el tamaño del conjunto de datos bajo demanda en los casos en los que los datos sólo pueden adquirirse mediante observación. Por ejemplo, algunas enfermedades son demasiado raras para permitir la recopilación de más datos.

Desventajas

  • Sobreajuste: dado que el sobremuestreo crea nuevos datos basados en los datos existentes de las clases minoritarias, el clasificador puede sobreajustarse a los datos. El sobremuestreo presupone que los datos existentes captan adecuadamente la realidad; si no es así, es posible que el clasificador no pueda generalizar muy bien.
  • Ruido de datos: el sobremuestreo puede aumentar la cantidad de ruido en los datos, lo que reduce la confiabilidad y el rendimiento del clasificador.2
  • Complejidad computacional: al aumentar la cantidad de datos, entrenar al clasificador será más costoso desde el punto de vista computacional, lo que puede ser un problema cuando se utiliza la computación en la nube.2

Técnicas de sobremuestreo

Sobremuestreo aleatorio

El sobremuestreo aleatorio es el proceso de duplicar puntos de datos aleatorios en la clase minoritaria hasta que el tamaño de la clase minoritaria sea igual al de la clase mayoritaria.

Aunque son similares en su naturaleza, el sobremuestreo aleatorio es distinto del bootstrapping. El bootstrapping es una técnica de aprendizaje por conjunto que vuelve a tomar muestras de todas las clases. Por el contrario, el sobremuestreo aleatorio vuelve a tomar muestras únicamente de la clase minoritaria. Por lo tanto, el sobremuestreo aleatorio puede entenderse como una forma más especializada de bootstrapping.

Sin embargo, a pesar de su simplicidad, el sobremuestreo aleatorio tiene limitaciones. Debido a que el sobremuestreo aleatorio solo agrega puntos de datos duplicados, puede provocar un sobreajuste.3 Pero aún tiene muchas ventajas sobre otros métodos: su facilidad de implementación, la falta de suposiciones extensivas sobre los datos y la baja complejidad de tiempo debido a un algoritmo simple.2

SMOTE

La técnica de sobremuestreo sintético de minorías, o SMOTE, es una técnica de muestreo ascendente propuesta por primera vez en 2002 que sintetiza nuevos puntos de datos a partir de los puntos existentes en la clase minoritaria.4 Consiste en el siguiente proceso:2

  1. Busque los K vecinos más cercanos para todos los puntos de datos de clase minoritaria. K suele ser 5.
  2. Repita los pasos 3-5 para cada punto de datos de clase minoría:
  3. Elija uno de los K vecinos más cercanos del punto de datos.
  4. Seleccione un punto aleatorio en el segmento de línea que conecta estos dos puntos en el espacio de características para generar una nueva muestra de salida. Este proceso se conoce como interpolación.
  5. En función de la cantidad de sobremuestreo que se desee, repita los pasos 3 y 4 utilizando un vecino más cercano diferente.

SMOTE resuelve el problema del sobreajuste en el sobremuestreo aleatorio al añadir nuevos datos nunca antes vistos al conjunto de datos en lugar de simplemente duplicar los datos preexistentes. Por esta razón, algunos investigadores consideran que SMOTE es una mejor técnica de sobremuestreo que el sobremuestreo aleatorio.

Por otro lado, la generación artificial de puntos de datos de SMOTE agrega ruido adicional al conjunto de datos, lo que podría hacer que el clasificador sea más inestable.1 Los puntos sintéticos y el ruido de SMOTE también pueden conducir inadvertidamente a superposiciones entre las clases minoritarias y mayoritarias que no reflejan la realidad, lo que lleva a lo que se denomina generalización excesiva.5

Borderline SMOTE

Una extensión popular, Borderline SMOTE, se utiliza para combatir el problema del ruido artificial del conjunto de datos y para crear puntos de datos "más duros". Los puntos de datos 'duros' son puntos de datos cercanos al boundary y, por lo tanto, más difíciles de clasificar. Estos puntos más difíciles son más útiles para que el modelo los aprenda.2

Borderline SMOTE identifica los puntos de clase minoritaria que están cerca de muchos puntos de clase mayoritaria y los coloca en un conjunto de PELIGRO. Los puntos de PELIGRO son los puntos de datos "difíciles" de aprender, lo que nuevamente se debe a que son más difíciles de clasificar en comparación con los puntos que están rodeados por puntos de clase minoritaria. Este proceso de selección excluye los puntos cuyos vecinos más cercanos son solo puntos de clase mayoritaria, que se cuentan como ruido. A partir de ahí, el algoritmo SMOTE continúa normalmente utilizando este conjunto de PELIGRO.3

ADASYN

El enfoque de muestreo sintético adaptativo (ADASYN) es similar a Borderline SMOTE en el sentido de que genera datos más difíciles de aprender para el modelo. Pero también tiene como objetivo preservar la distribución de los datos de la clase minoritaria.6 Para ello, primero crea una distribución ponderada de todos los puntos minoritarios basada en el número de ejemplos de clase mayoritaria en su vecindario. A partir de ahí, utiliza puntos de clase minoritaria más cercanos a la clase mayoritaria con más frecuencia para generar nuevos datos.

El proceso es el siguiente:2

  1. Cree un modelo KNN en todo el conjunto de datos.
  2. A cada punto de clase minoritaria se le asigna un "factor de dureza", denominado r, que es la relación entre el número de puntos de clase mayoritaria y el número total de vecinos en KNN.
  3. Al igual que SMOTE, los puntos generados sintéticamente son una interpolación lineal entre los datos minoritarios y sus vecinos, pero el número de puntos generados se escala con el factor de dureza de un punto. Lo que hace es generar más puntos en áreas con menos datos minoritarios y menos puntos en áreas con más.

Transformación/aumentos de datos

El aumento de datos genera nuevos datos mediante la creación de variaciones de los mismos. El aumento de datos se aplica en una variedad de campos de machine learning.

La forma más básica de aumento de datos se ocupa de transformar las entradas sin procesar del conjunto de datos. Por ejemplo, en visión artificial, se pueden utilizar aumentos de imagen (recorte, desenfoque, reflejo, etc.) para crear más imágenes que el modelo pueda clasificar. Del mismo modo, el aumento de datos también se puede utilizar en tareas de procesamiento de lenguaje natural, como reemplazar palabras con sinónimos o crear oraciones semánticamente equivalentes.

Los investigadores han descubierto que el aumento de datos aumenta eficazmente la precisión del modelo para las tareas de visión artificial y NLP porque agrega datos similares a un bajo costo. Sin embargo, es importante tener en cuenta algunas precauciones antes de ejecutar estas técnicas. Para los aumentos geométricos tradicionales, se debe considerar la "seguridad" de las transformaciones antes de realizarlas. Por ejemplo, rotar una imagen de un "9" haría que pareciera un "6", cambiando su significado semántico.7

Investigación reciente

Las extensiones SMOTE y el aprendizaje profundo han sido el objetivo de las técnicas de sobremuestreo en los últimos años. Estos métodos tienen como objetivo mejorar el rendimiento del modelo y abordar algunas de las deficiencias del sobremuestreo, como el sesgo introducido en la distribución de la clase minoritaria.

Algunos desarrollos en SMOTE incluyen un SMOTE de probabilidad predictiva minoritaria (MPP-SMOTE), que aumenta las muestras en función de las probabilidades estimadas de ver cada muestra de clase minoritaria.8 Se ha propuesto la técnica de sobremuestreo límite multietiqueta (MLBOTE) para ampliar SMOTE a la clasificación multiclase.9 Ambos han superado a todas las variantes de SMOTE existentes y han conservado los patrones de los datos originales.

Neural networks también se han utilizado para desarrollar técnicas de sobremuestreo. Las redes adversarias generativas han despertado cierto interés y han producido resultados prometedores, aunque el tiempo de entrenamiento hace que esta técnica sea más lenta que otros métodos tradicionales de muestreo ascendente.10

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo
Notas de pie de página

1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, septiembre de 2009, https://ieeexplore.ieee.org/document/5128907 (el enlace se encuentra fuera de ibm.com). (1,2,10)

2 Kumar Abishek y Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, noviembre de 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (el enlace se encuentra fuera de ibm.com). (3,4,6,8,9,12,14-17)

3 Kumar Abishek y Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, noviembre de 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (el enlace se encuentra fuera de ibm.com). Alberto Fernandez y colaboradores, Learning from Imbalanced Data Sets, 2018.

4 Nitesh Chawla y colaboradores, SMOTE: Synthetic Minority Oversampling Technique, JAIR, 1 de junio de 2002, https://www.jair.org/index.php/jair/article/view/10302 (el enlace se encuentra fuera de ibm.com).

2 Kumar Abhishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, noviembre de 2023 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, septiembre de 2009, https://ieeexplore.ieee.org/document/5128907 (el enlace se encuentra fuera de ibm.com).

6 Alberto Fernandez y colaboradores, Learning from Imbalanced Data Sets, Springer, 2018.

7 Connor Shorten y Taghi Khoshgoftaar, A survey on Image Data Augmentation for aprendizaje profundo, Springer, 06 de julio de 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (el enlace se encuentra fuera de ibm.com).

8 Zhen Wei, Li Zhang, and Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 6 de diciembre de 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (enlace externo a ibm.com).

9 Zeyu Teng y colaboradores, Multi-label borderline oversampling technique, ScienceDirect, 14 de septiembre de 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (enlace externo a ibm.com).

10 Justin Engelmann y Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for desequilibriod learning, 15 de julio de 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA: n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (enlace externo a ibm.com). Shuai Yang y colaboradores, Fault diagnostic of wind turbinas with generative adversarial network-based oversampling method, IOP Science, 12 de enero de 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (el enlace se encuentra fuera de ibm.com).