¿Qué es el sobremuestreo?

29 de abril de 2024

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

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 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 (al eliminar píxeles) para acelerar los cálculos, tras lo cual la convolución devuelve la imagen a sus dimensiones originales (al volver a añadir píxeles).

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

¿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 clases1.

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ón1.

Mixture of Experts | Pódcast

Descifrar 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 bullicio de la IA para ofrecerle las últimas noticias y conocimientos 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 coste: el sobremuestreo es especialmente eficaz, y suele ser la única forma, para 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 clasificador2.
  • 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 computing2.

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. Como el sobremuestreo aleatorio solo agrega datos duplicados, puede provocar el sobreajuste3. 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 simple2.

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 minoritaria4. 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 técnica de sobremuestreo mejor 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 inestable1. 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ón5.

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

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

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 minoritarias6. 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 consiste en transformar las entradas brutas 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 artificial 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ántico7.

Investigación reciente

Las extensiones SMOTE y el deep learning 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 avances en 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 minoritaria8. Se ha propuesto la técnica de sobremuestreo límite de etiquetas múltiples (MLBOTE) para extender SMOTE a la clasificación de múltiples clases9. Ambas han superado a todas las variantes de SMOTE existentes y han conservado los patrones en 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 sobremuestreo10.

Soluciones relacionadas
IBM watsonx.ai

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

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y la cartera de soluciones de IA de IBM.

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

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

Explore los servicios de IA
Dé el siguiente paso

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

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

1 Haobo He y 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. 06 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).