¿Qué es la fuga de datos en el machine learning?

Autor

Tim Mucci

IBM Writer

Gather

¿Qué es la fuga de datos en el machine learning?

La fuga de datos en el machine learning se produce cuando un modelo utiliza, durante el entrenamiento, información que no estaría disponible en el momento de la predicción. La fuga hace que un modelo predictivo parezca preciso hasta que se implemente en su caso de uso; entonces, arrojará resultados inexactos, lo que conducirá a una mala toma de decisiones y conocimiento falso.

El objetivo del modelado predictivo es crear un modelo de machine learning que pueda hacer predicciones precisas sobre datos futuros del mundo real, que no están disponibles durante el entrenamiento del modelo. Para evitar resultados inexactos, los modelos no deben evaluarse con los mismos datos con los que se entrenan. Por lo tanto, los científicos de datos suelen dividir los datos disponibles en dos conjuntos: uno para entrenar el modelo y otro para validar el rendimiento del modelo con datos no vistos.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados 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! Está suscrito.

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

Ejemplos y tipos de fuga de datos

La fuga de datos se produce cuando se utilizan datos externos al conjunto de datos de entrenamiento para crear el modelo, pero estos datos futuros no estarán disponibles cuando el modelo se utilice para la predicción. El modelo funcionará bien en las pruebas y la validación, pero cuando se utiliza en producción, se vuelve totalmente inexacto.

Hay dos tipos de fuga: fuga objetivo y contaminación de entrenamiento-prueba.

Fuga objetivo: los modelos incluyen datos que no estarán disponibles cuando el modelo se utilice para hacer predicciones.

El uso de información que no estará disponible durante las predicciones del mundo real conduce a un sobreajuste, donde el modelo funciona excepcionalmente bien en los datos de entrenamiento y validación, pero mal en producción.

Contaminación de entrenamiento y prueba: cuando se utilizan tanto datos de entrenar como de validación para crear un modelo, a menudo debido a una división o preprocesamiento inadecuados.

Ejemplo de fuga de destino

Por ejemplo, imagine un modelo creado para predecir el fraude con tarjetas de crédito. Este problema es preocupante en las aplicaciones de previsión en las que los modelos deben hacer predicciones futuras fiables basadas en datos incompletos. El conjunto de datos sin procesar contendrá información sobre el cliente, el importe de la transacción, la ubicación, si se detectó fraude y si se recibió una devolución de cargo.

Al entrenar el modelo, las columnas de detección del fraude y contracargo tendrán valores verdaderos o falsos introducidos. En el mundo real, una devolución de cargo generalmente se inicia después de que se haya detectado el fraude, por lo que esta información no estaría disponible en el momento de la detección.

Entrenar un modelo con esta información le enseña que las transacciones con contracargo son casi siempre fraudulentas. Durante la validación, el modelo mostrará una gran precisión porque, en el entrenamiento, la relación entre el fraude y las devoluciones de cargo es fuerte. Sin embargo, la información de contracargo no estará disponible cuando se implemente y el modelo tendrá un rendimiento deficiente en la práctica.

Ejemplo de contaminación de prueba de entrenamiento

Imagine a un científico de datos que construye un modelo para predecir los precios de la vivienda en función de características como el tamaño de la casa, el número de habitaciones y el vecindario. La estandarización de las características numéricas (como el tamaño y la antigüedad de la casa) para que todas tengan la misma escala es un paso de preprocesamiento común, que es útil para muchos algoritmos de machine learning.

Sin embargo, supongamos que el científico de datos aplica la estandarización a todo el conjunto de datos antes de dividirlo en conjuntos de datos de entrenamiento y prueba. En ese caso, el modelo "verá" indirectamente la información del conjunto de pruebas durante el entrenamiento. Como resultado, el rendimiento del modelo en los datos de prueba podría parecer inflado artificialmente porque la información del conjunto de prueba se utilizó en el paso de preprocesamiento. Esto facilita que el modelo funcione bien en el conjunto de pruebas, pero reduce potencialmente su capacidad de generalizar a datos nuevos e invisibles.

Los pasos de preprocesamiento, como el escalado, la imputación o la selección de características, deben ajustarse solo en los datos de entrenamiento y luego aplicarse al conjunto de validación, en lugar de ajustarlos en todo el conjunto de datos antes de dividirlos. La aplicación incorrecta de transformadores como el escalado o la normalización puede provocar la contaminación de entrenamiento-prueba, especialmente en los modelos de redes neuronales. Cuando estos pasos de preprocesamiento ejecutados incorrectamente se realizan en todo el conjunto de datos, se producen predicciones sesgadas y una sensación poco realista del rendimiento del modelo.

AI Academy

Ponga la IA a trabajar para el servicio de atención al cliente

Vea cómo la IA generativa puede satisfacer a los clientes con una experiencia más fluida y aumentar la productividad de la organización en estas tres áreas clave: autoservicio, agentes humanos y operaciones del centro de contacto.

Causas de la fuga de datos

La fuga de datos puede ser un error que lleva mucho tiempo y cuesta varios millones de dólares, y las fugas en el machine learning se producen debido a diversos factores. Algunas causas comunes son:

Inclusión de información futura: cuando se utiliza información no disponible que no estaría disponible en el momento de la predicción en un escenario del mundo real.

Selección inapropiada de características: selección de características correlacionadas con el objetivo pero no relacionadas causalmente. El modelo está aprendiendo a explotar información a la que no tendría acceso en las predicciones del mundo real.

Contaminación de datos externos: la fusión de conjuntos de datos externos con datos de entrenamiento puede dar lugar a predicciones sesgadas o inexactas, ya que los datos externos pueden contener información directa o indirecta sobre la variable objetivo.

Errores de preprocesamiento de datos: la división incorrecta de los datos se produce al escalar los datos antes de dividirlos en conjuntos de entrenamiento y validación o al rellenar los missing values con información del conjunto de datos. Esto puede ser especialmente problemático en los modelos de deep learning, donde a menudo se requiere un preprocesamiento extenso, por lo que es crucial evitar mezclar datos de entrenamiento y prueba.

Validación cruzada incorrecta: al realizar una validación cruzada en un conjunto de datos con datos dependientes del tiempo, si se incluyen puntos de datos del futuro, el modelo obtiene acceso a información que no debería tener, lo que da lugar a evaluaciones demasiado optimistas.

Normalización: las transformaciones de datos, como el escalado o la normalización de características, cuando se aplican incorrectamente a los datos de entrenamiento y prueba juntos, en lugar de aplicarse por separado, provocan fugas de datos.

Validación y fuga de cambios en el proceso: cambiar la forma en que se realiza la validación puede introducir fugas al permitir que entre nueva información en el conjunto de entrenamiento. Ajustar el proceso parcialmente volviendo a ejecutar la validación cruzada o volviendo a dividir los datos después de ajustar los modelos puede filtrar información inadvertidamente en el proceso de entrenamiento.

Impacto de la fuga de datos en los modelos de machine learning

La fuga de datos es un escollo común en el entrenamiento de algoritmos de machine learning para el modelado predictivo. Un estudio de la Biblioteca Nacional de Medicina1 descubrió que en 17 campos científicos diferentes en los que se han aplicado métodos de machine learning, al menos 294 artículos científicos se vieron afectados por la fuga de datos, lo que llevó a un rendimiento demasiado optimista.

Un estudio de Yale2 reveló que la fuga de datos puede inflar o desinflar las métricas de rendimiento de los modelos basados en neuroimagen, dependiendo de si la información filtrada introduce ruido o crea patrones poco realistas. Estos modelos se utilizan para diagnosticar enfermedades para identificar tratamientos y ayudar a los neurocientíficos a comprender mejor la relación entre el cerebro y el cuerpo.

La fuga de datos en los modelos de machine learning puede tener varios impactos en diferentes campos y tipos de datos, estos son los más comunes:

Mala generalización a nuevos datos: cuando los modelos se entrenan con información que no representa el mundo real, el modelo tendrá dificultades para generalizar a los datos invisibles. Las predicciones sobre nuevos datos pueden ser inexactas y poco fiables.

Toma de decisiones sesgada: los sesgos en los datos filtrados corren el riesgo de sesgar el comportamiento del modelo, lo que da lugar a decisiones injustas y divorciadas de los escenarios del mundo real.

Conocimientos y hallazgos poco fiables: la fuga de datos compromete la fiabilidad de los conocimientos derivados del modelo, lo que lleva a los usuarios a desconfiar de los resultados.

Métricas de rendimiento infladas: la fuga en los modelos de machine learning a menudo dan como resultado modelos que muestran falsamente una alta precisión y exactitud.

Despilfarro de recursos: encontrar y corregir la fuga de datos después de entrenar un modelo lleva mucho tiempo y es costoso. Corregir la fuga de datos requiere volver a entrenar los modelos desde cero, lo que es costoso desde el punto de vista computacional, y reelaborar toda la canalización del modelo, desde el preprocesamiento de los datos hasta el nuevo entrenamiento, lo que puede requerir muchos recursos en términos de esfuerzo humano y costes computacionales.

Pérdida de confianza: los modelos poco fiables acaban provocando desconfianza en los equipos de ciencia de datos y en el proceso analítico en general.

Riesgos legales y de cumplimiento: la fuga de datos en el análisis predictivo puede dar lugar a riesgos legales y normativos. El uso indebido de información confidencial puede dar lugar a sanciones y daños a la reputación.

Detección de fugas de datos en machine learning

La detección de fugas de datos requiere que las organizaciones sean conscientes de cómo se preparan y procesan los modelos; requiere estrategias rigurosas para validar la integridad de los modelos de machine learning. Estas son algunas buenas prácticas a tener en cuenta con respecto a la construcción de modelos y la detección de fugas de datos:

Preparación: los datos deben dividirse correctamente y los pasos de preprocesamiento deben aplicarse solo al conjunto de datos de entrenamiento. Revise todas las características para asegurarse de que no representen información futura o no disponible durante la predicción.

Búsqueda: una vez entrenado el modelo, investigue los patrones sospechosos que puedan indicar fugas. Revise la importancia de las características y el comportamiento del modelo para detectar cualquier relación poco realista.

Prueba: pruebe un modelo limitado con datos del mundo real. Monitorizar su rendimiento en escenarios del mundo real; si el rendimiento cae significativamente, podría indicar que se ha producido una fuga durante el entrenamiento.

Estas son algunas señales de alerta comunes para detectar fugas:

Rendimiento inusualmente alto: si un modelo muestra una exactitud, precisión o recuperación significativamente mayores de lo esperado, especialmente en los datos de validación, podría indicar una fuga de datos.

Discrepancias entre el entrenamiento y el rendimiento de las pruebas: una gran brecha entre el rendimiento del conjunto de entrenamiento y el conjunto de pruebas es una señal de que el modelo podría estar sobreajustado debido a fugas.

Resultados incoherentes de la validación cruzada: si el rendimiento en los pliegues de la validación cruzada varía mucho o parece inusualmente alto, puede deberse a una fuga en las pruebas del entrenamiento o a una división incorrecta.

Comportamiento inesperado del modelo: si un modelo se basa en gran medida en características que no tienen sentido lógicamente, eso podría indicar una fuga.

Técnicas de evaluación adecuadas

La minimización de la fuga de datos se puede lograr de varias maneras y se emplean varias herramientas para salvaguardar la integridad del modelo. La validación cruzada, en particular las series temporales o los k-fold estratificados, ayuda a evaluar los modelos correctamente y pone de relieve las posibles fugas. En los LLM (modelos de lenguaje de gran tamaño), la validación cruzada y el manejo estricto de los datos son esenciales para evitar entrenar el modelo con datos que podría encontrar más tarde durante la inferencia, lo que socavaría su capacidad de responder a nuevas entradas. El uso de un conjunto de retención independiente que permanece intacto durante el entrenamiento añade protección contra las fugas.

La importancia de las características puede revelar si el modelo se basa en datos que no estarían disponibles durante las predicciones. La visualización de datos y las predicciones de los modelos pueden exponer patrones o anomalías indicativas de fugas. Además, losexpertos en el dominio deben examinar el modelo para identificar si este utiliza datos poco realistas o no disponibles, lo que ayuda a descubrir características problemáticas.

Prevención de la fuga de datos en el machine learning

Para evitar la fuga de datos, las organizaciones deben gestionar cuidadosamente los datos y realizar una evaluación sistemática. Estas son algunas prácticas esenciales:

Preprocesamiento de datos: para evitar la fuga de información entre conjuntos, aplique pasos de preprocesamiento como escalar o imputar missing values por separado para conjuntos de entrenamiento y prueba. Realice el preprocesamiento, como el escalado, la codificación y la imputación por separado para los conjuntos de entrenamiento y prueba; automatice los pipelines cuando sea posible.

División adecuada de los datos: divida correctamente los conjuntos de entrenamiento y prueba. Una división de entrenamiento/prueba cuidadosamente planificada evita que la información del conjunto de pruebas se filtre en la fase de entrenamiento. Para los datos dependientes del tiempo, divídalos cronológicamente para evitar que datos futuros entren en el proceso de entrenamiento. Para comprobar si hay fugas, mantenga un conjunto de validación separado y distinto que no se utilice durante el entrenamiento, representativo de los datos del mundo real.

Validación cruzada: utilice la validación cruzada k-fold para probar el modelo en varios subconjuntos de datos, lo que ayuda a detectar posibles fugas y mejora la generalización.

Ingeniería de características: evite crear características que introduzcan datos futuros. Revise las características derivadas para confirmar que reflejan solo lo que estaría disponible en el momento de la predicción. Evalúe periódicamente la relevancia de las características para confirmar que son apropiadas y no introduzca información no disponible en el momento de la predicción.

Validación basada en el tiempo: para datos de series temporales, utilice la validación basada en el tiempo para imitar el rendimiento del mundo real. Esto ayuda a garantizar que los datos pasados se utilicen para predecir resultados futuros y evita futuras fugas de datos. Maneje los datos de series temporales con cuidado, utilizando métodos como la validación de ventana móvil o la validación de avance para evitar fugas de datos futuros durante el entrenamiento.

Evaluación regular del modelo: monitorice continuamente el rendimiento durante el entrenamiento y las pruebas para detectar cualquier cambio inesperado que indique fugas.

Fuga de datos en la prevención de pérdida de datos

Hay otra definición de fuga de datos que no tiene nada que ver con el machine learning, sino que se refiere a la exposición involuntaria de datos desde una perspectiva de seguridad de datos. La fuga de datos en la prevención de pérdida de datos (DLP) se produce cuando la información confidencial se expone involuntariamente a partes no autorizadas. Por ejemplo, un servidor de almacenamiento en la nube mal configurado podría permitir un fácil acceso a información de identificación personal (PII) y secretos comerciales.

Los vectores más comunes de fuga de datos provienen de errores humanos, como que un empleado extravíe su ordenador portátil o comparta información confidencial a través de plataformas de correo electrónico y mensajería. Los hackers pueden utilizar los datos expuestos para cometer robos de identidad, robar datos de tarjetas de crédito o vender los datos en la dark web.

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 a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

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