Inicio Topics Muestreo superior ¿Qué es el sobremuestreo?
Explora el sobremuestreo con watsonx.ai Regístrese para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de monitor de ordenador, servidor, nubes, puntos

Publicado: 29 de abril de 2024
Colaboradores: Jacob Murel Ph.D.

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).

Por qué el gobierno de la IA es un imperativo para escalar la inteligencia artificial empresarial

Conozca los obstáculos para la adopción de la IA, en particular la falta de soluciones de gestión de riesgos y gobierno de la IA.

Contenido relacionado

Regístrese para recibir la guía sobre modelos fundacionales

¿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 infrarrepresentada en el conjunto de datos en relación con la población real, lo que crea un sesgo no intencionado. Por ejemplo, imagine que se entrena a una modelo para clasificar las imágenes según las que muestran 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 prediga los gatos siempre, tendrá una precisión del 90 % en la clasificación de los gatos, pero del 0 % de precisión en la clasificación de los perros. En este caso, el conjunto de datos desequilibrado hará que los clasificadores favorezcan la precisión de la clase mayoritaria a expensas de la minoritaria. Puede surgir el mismo problema 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.

Aunque los desequilibrios pueden observarse simplemente trazando el recuento de puntos de datos en cada clase, no nos dice si afectarán en gran medida al modelo. Afortunadamente, podemos utilizar métricas de rendimiento para calibrar hasta qué punto una técnica de sobremuestreo corrige el desequilibrio de clases. La mayoría de estas métricas serán para la clasificación binaria, donde solo hay dos clases: positiva y 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

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 coste: 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, el entrenamiento del clasificador será más costoso a nivel computacional, lo que puede ser un problema cuando se utiliza el cloud computing.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. Dado que el sobremuestreo aleatorio solo agrega datos duplicados, puede provocar el sobreajuste.3 Sin embargo, aún tiene muchas ventajas sobre otros métodos: su facilidad de implementación, la falta de suposiciones sobre los datos y la complejidad de tiempo reducido debido a un algoritmo simple.2

SMOTE

La técnica de sobremuestreo de minorías sintéticas, o SMOTE, es una técnica de sobremuestreo 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 añade ruido adicional al conjunto de datos y puede hacer que el clasificador sea más inestable.1 Los puntos y el ruido sintéticos de SMOTE también pueden provocar, sin darse cuenta, superposiciones entre las clases minoritarias y mayoritarias que no reflejan la realidad, lo que lleva a lo que se denomina sobregeneralización.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 difíciles". Los puntos de datos "más difíciles" son puntos de datos cercanos al límite de decisión y, por lo tanto, más difíciles de clasificar. Estos puntos más difíciles son más útiles para que el modelo 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 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 puntos cuyos vecinos más cercanos son solo puntos de la mayoría de las clases, que se cuentan como ruido. A partir de ahí, el algoritmo SMOTE continúa como de costumbre utilizando este conjunto PELIGRO.3

ADASYN

El enfoque de muestreo sintético adaptativo (ADASYN) es similar al Borderline SMOTE en 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 las clases minoritarias.6 Para ello, primero crea una distribución ponderada de todos los puntos minoritarios en función del número de ejemplos de la clase mayoritaria en su vecindad. 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 del lenguaje natural, como reemplazar palabras con sinónimos o crear oraciones semánticamente equivalentes.

Los investigadores han descubierto que el aumento de datos aumenta efectivamente la precisión del modelo para tareas de visión por computadora y PLN porque agrega datos similares a un bajo coste. Sin embargo, es importante tener en cuenta algunas precauciones antes de ejecutar estas técnicas. En el caso de los aumentos geométricos tradicionales, se debe considerar la "seguridad" de las transformaciones antes de realizarlas. Por ejemplo, al rotar la imagen de un “9” se vería como un “6”, cambiando así 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 de SMOTE incluyen un SMOTE de probabilidad predictiva de minorías (MPP-SMOTE), que realiza un sobremuestreo basado en las probabilidades estimadas de ver muestras de cada clase minoritaria.8 Se ha propuesto la técnica de sobremuestreo de límites multietiqueta (MLBOTE) para ampliar SMOTE a la clasificación multiclase.9 Ambas han superado a todas las variantes existentes de SMOTE y han conservado los patrones de los datos originales.

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

Recursos relacionados ¿Qué es el submuestreo?

El submuestro disminuye 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.

¿Qué es el sobreajuste?

En el machine learning, el sobreajuste se produce cuando un algoritmo se ajusta demasiado, o incluso exactamente, a sus datos de entrenamiento, lo que da lugar a un modelo que no puede hacer predicciones o conclusiones precisas a partir de otros datos que no sean los de entrenamiento.

¿Qué es el machine learning (ML)?

El machine learning (ML) es una rama de la inteligencia artificial y la informática que se centra en el uso de datos y algoritmos para permitir que la IA imite la forma en que aprenden los humanos, mejorando gradualmente su precisión.

Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo
Notas a pie de página

1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data. IEEE. Septiembre de 2009. https://ieeexplore.ieee.org/document/5128907 (enlace externo a 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 (enlace externo a 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 (enlace externo a ibm.com). Alberto Fernandez, et al. Learning from Imbalanced Data Sets. 2018.

4 Nitesh Chawla, et al. SMOTE: Synthetic Minority Over-sampling Technique. JAIR. 1 de junio de 2002. https://www.jair.org/index.php/jair/article/view/10302 (enlace externo a ibm.com).

5 Kumar Abishek y Mounir Abdelaziz. Machine Learning for Imbalanced Data. Packt. Noviembre de 2023. Haobo He y Edwardo Garcia. Learning from Imbalanced Data. IEEE. Septiembre de 2009. https://ieeexplore.ieee.org/document/5128907 (enlace externo a ibm.com).

6 Alberto Fernandez, et al. Learning from Imbalanced Data Sets. Springer. 2018.

7 Connor Shorten y Taghi Khoshgoftaar. A survey on Image Data Augmentation for Deep Learning. Springer. 06 de julio de 2019**.** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (enlace externo a ibm.com).

8 Zhen Wei, Li Zhang y 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, et al. 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 imbalanced 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, et al. Fault diagnosis of wind turbines 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 (enlace externo a ibm.com).