En estadística y aprendizaje automático , la fuga (también conocida como fuga de datos o fuga de objetivos ) se refiere al uso de información durante el entrenamiento del modelo que no estaría disponible en el momento de la predicción . Esto da como resultado estimaciones de rendimiento excesivamente optimistas, ya que el modelo parece funcionar mejor durante la evaluación de lo que realmente lo haría en un entorno de producción. [ 1 ]
Las fugas suelen ser sutiles e indirectas, lo que dificulta su detección y eliminación. Pueden llevar a un estadístico o modelador a seleccionar un modelo subóptimo, que podría ser superado por una alternativa sin fugas. [ 1 ]
Modos de fuga
Las fugas pueden ocurrir en múltiples etapas del flujo de trabajo del aprendizaje automático. En términos generales, sus fuentes se pueden dividir en dos categorías: las que surgen de las características y las que surgen de los ejemplos de entrenamiento. [ 1 ]
Fuga de características
La fuga de características o columnas se produce por la inclusión de columnas que son alguna de las siguientes: una etiqueta duplicada, un proxy para la etiqueta o la etiqueta misma. Estas características, conocidas como anacronismos , no estarán disponibles cuando el modelo se utilice para predicciones y dan lugar a fugas si se incluyen durante el entrenamiento del modelo. [ 2 ]
Por ejemplo, incluir una columna "SalarioMensual" al predecir "SalarioAnual"; o "MinutosDeRetraso" al predecir "LlegaDeRetraso".
fuga de ejemplo de entrenamiento
La fuga de datos por filas se produce por un intercambio inadecuado de información entre filas de datos. Los tipos de fuga de datos por filas incluyen:
- Extracción de características prematura ; fugas de extracción de características prematura antes de la división de validación cruzada / entrenamiento / prueba (debe ajustar MinMax / n-gramas / etc. solo en la división de entrenamiento, luego transformar el conjunto de prueba) [ 3 ]
- Duplicar filas entre entrenamiento/validación/prueba (por ejemplo, sobremuestrear un conjunto de datos para aumentar su tamaño antes de dividirlo; o diferentes rotaciones/aumentos de una sola imagen; muestreo bootstrap antes de la división; o duplicar filas para sobremuestrear la clase minoritaria).
- Datos aleatorios no independientes e idénticamente distribuidos (no-IID)
- Fuga de tiempo (por ejemplo, dividir un conjunto de datos de series temporales de forma aleatoria en lugar de utilizar datos más recientes en el conjunto de prueba mediante una división de entrenamiento/prueba o validación cruzada de origen móvil).
- Fuga de grupo: no se incluye una columna de división de grupo (por ejemplo, el grupo de Andrew Ng tenía 100 000 radiografías de 30 000 pacientes, lo que significa aproximadamente 3 imágenes por paciente. El artículo utilizó una división aleatoria en lugar de asegurar que todas las imágenes de un paciente estuvieran en la misma división. Por lo tanto, el modelo memorizó parcialmente a los pacientes en lugar de aprender a reconocer la neumonía en las radiografías de tórax. [ 4 ] [ 5 ] )
Una revisión de 2023 encontró que la fuga de datos era "un modo de falla generalizado en la ciencia basada en aprendizaje automático (ML)", que había afectado al menos a 294 publicaciones académicas en 17 disciplinas y estaba causando una posible crisis de reproducibilidad . [ 6 ]
Detección
La fuga de datos en el aprendizaje automático puede detectarse mediante diversos métodos, centrándose en el análisis del rendimiento, el examen de características, la auditoría de datos y el análisis del comportamiento del modelo. En cuanto al rendimiento, una precisión inusualmente alta o discrepancias significativas entre los resultados del entrenamiento y las pruebas suelen indicar fugas. [ 7 ] Los resultados inconsistentes de la validación cruzada también pueden señalar problemas.
El análisis de características implica examinar minuciosamente las clasificaciones de importancia de las características y garantizar la integridad temporal en los datos de series temporales. Una auditoría exhaustiva del flujo de datos es crucial, revisando los pasos de preprocesamiento, la ingeniería de características y los procesos de división de datos. [ 8 ] Detectar entradas duplicadas en las divisiones del conjunto de datos también es importante.
Para los modelos de lenguaje, el método Min-K% puede detectar la presencia de datos en un conjunto de datos de preentrenamiento. Presenta una oración que se sospecha que está presente en el conjunto de datos de preentrenamiento y calcula la log-verosimilitud de cada token, luego calcula el promedio de los K más bajos de estos. Si esto supera un umbral, entonces es probable que la oración esté presente. [ 9 ] [ 10 ] Este método se mejora comparándolo con una línea base de la media y la varianza. [ 11 ]
Analizar el comportamiento del modelo puede revelar fugas de información. Los modelos que dependen en gran medida de características contraintuitivas o que muestran patrones de predicción inesperados merecen ser investigados. La degradación del rendimiento con el tiempo al probarlo con datos nuevos puede indicar que las métricas anteriores estaban infladas debido a fugas de información.
Las técnicas avanzadas incluyen la eliminación regresiva de características, donde las características sospechosas se eliminan temporalmente para observar los cambios en el rendimiento. Es recomendable utilizar un conjunto de datos de validación independiente para la validación final antes de la implementación. [ 8 ]
Véase también
- AutoML
- Deriva conceptual (donde la estructura del sistema estudiado evoluciona con el tiempo, invalidando el modelo)
- dragado de datos
- Sobreajuste
- Remuestreo (estadística)
- Aprendizaje supervisado
- Conjuntos de entrenamiento, validación y prueba
Referencias
- 1 2 3 Shachar Kaufman; Saharon Rosset; Claudia Perlich (enero de 2011). "Fugas en la minería de datos: formulación, detección y prevención" . Actas de la 17.ª conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos . Vol. 6. págs. 556–563 . doi : 10.1145/2020408.2020496 . ISBN 978-1-4503-0813-7. S2CID 9168804 . Consultado el 13 de enero de 2020 .
- ↑ Soumen Chakrabarti (2008). "9". Minería de datos: Conócelo todo . Morgan Kaufmann Publishers. pág. 383. ISBN 978-0-12-374629-0Las variables anacrónicas constituyen un problema grave en la minería de datos. Sin embargo ,
no representan ningún problema durante la implementación, ¡a menos que se espere que el modelo funcione! Las variables anacrónicas están fuera de lugar en el tiempo. Específicamente, durante el modelado de datos, transportan información del futuro al pasado.
- ↑ Moscovich, Amit; Rosset, Saharon (septiembre de 2022). "Sobre el sesgo de validación cruzada debido al preprocesamiento no supervisado". Journal of the Royal Statistical Society Series B: Statistical Methodology . 84 (4): 1474– 1502. arXiv : 1901.08974 . doi : 10.1111/rssb.12537 .
- ↑ Guts, Yuriy (30 de octubre de 2018). Yuriy Guts. FUGAS DE OBJETIVOS EN EL APRENDIZAJE AUTOMÁTICO (Charla) . Conferencia AI Ukraine. Ucrania – vía YouTube.
- Yuriy Guts. "Fugas de objetivos en ML" (PDF) . Conferencia en línea de IA Ucrania .
- ↑ Nick, Roberts (16 de noviembre de 2017). "Respondiendo a @AndrewYNg @pranavrajpurkar y otros 2" . Brooklyn, NY, EE. UU.: Twitter. Archivado del original el 10 de junio de 2018. Recuperado el 13 de enero de 2020.
Respondiendo a @AndrewYNg @pranavrajpurkar y otros 2... ¿Le preocupaba que la red pudiera memorizar la anatomía del paciente dado que los pacientes se utilizan para el entrenamiento cruzado y la validación? "El conjunto de datos ChestX-ray14 contiene 112.120 imágenes de rayos X de vista frontal de 30.805 pacientes únicos. Dividimos aleatoriamente todo el conjunto de datos en un 80 % para entrenamiento y un 20 % para validación".
- ↑ Kapoor, Sayash; Narayanan, Arvind (agosto de 2023). "Fugas y la crisis de reproducibilidad en la ciencia basada en el aprendizaje automático" . Patterns . 4 (9) 100804. doi : 10.1016/j.patter.2023.100804 . ISSN 2666-3899 . PMC 10499856. PMID 37720327 .
- ↑ Batutin, Andrew (2024-06-20). "Fuga de datos en modelos de aprendizaje automático" . Shelf . Recuperado el 18 de octubre de 2024 .
- 1 2 "¿Qué es la fuga de datos en el aprendizaje automático? | IBM" . www.ibm.com . 30 de septiembre de 2024. Consultado el 18 de octubre de 2024 .
- ^ Shi, Weijia; Ajith, Anirudh; Xia, Mengzhou; Huang, Yangsibo; Liu, Daogao; Blevins, Tierra; Chen, Danqi; Zettlemoyer, Lucas (2023). "Detección de datos de preentrenamiento de modelos de lenguaje grandes". arXiv : 2310.16789 [ cs.CL ].
- ↑ "Detección de datos de preentrenamiento en modelos de lenguaje grandes" . swj0419.github.io . Consultado el 10 de marzo de 2025 .
- ^ Zhang, Jingyang; Sol, Jingwei; Sí, Eric; Ouyang, Yang; Kuo, Martín; Zhang, Jianyi; Hao Frank Yang; Li, Hai (2024). "Min-K%++: línea de base mejorada para detectar datos previos al entrenamiento de modelos de lenguaje grandes". arXiv : 2404.02936 [ cs.CL ].
- Aprendizaje automático
- Clasificación estadística