|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2024-25
Aplicación de Aprendizaje Federado en datos de supermercados y almacenes |
Tecnologías Específicas
Computación
Descripcion y Objetivos
En el contexto de la creciente preocupación por la privacidad de los datos y la necesidad de aprovechar la información distribuida, el aprendizaje federado ha emergido como una solución innovadora. En este enfoque, los modelos se entrenan localmente en los datos de cada cliente (supermercado o almacén, en este caso), sin que los datos salgan del origen, y los modelos se actualizan de forma colaborativa a través de un servidor central que agrupa las mejoras locales.
La mayoría de los enfoques de aprendizaje federado actuales se han enfocado en modelos basados en redes neuronales, que son idóneos para datos no estructurados como imágenes o texto. Sin embargo, los datos generados por supermercados y almacenes son principalmente datos tabulares que pueden ser mejor abordados por otros modelos, como las redes Bayesianas y los árboles de clasificación. Estos algoritmos son interpretables y efectivos para tareas de predicción, clasificación o análisis de ventas, inventario, y patrones de demanda, entre otros.
Este TFG se centrará en aplicar aprendizaje federado a este tipo de datos y dominios, permitiendo a cada supermercado o almacén entrenar un modelo local en sus datos y contribuir a un modelo global sin comprometer la privacidad de sus datos.
Objetivos
- Desplegar un marco de aprendizaje federado para datos tabulares, centrado principalmente en redes Bayesianas y árboles de clasificación.
- Aplicar el marco a conjuntos de datos tabulares generados por supermercados o almacenes, tratando a cada supermercado como un cliente en el sistema federado.
- Evaluar la eficacia de los modelos locales y globales, midiendo el rendimiento y la calidad del modelo global en comparación con los entrenamientos individuales.
- Estudiar el impacto de la heterogeneidad de los datos entre los supermercados (por ejemplo, diferencias en tamaños, ubicación geográfica o tipos de productos) en la convergencia del modelo federado.
- Desarrollar una aplicación práctica que permita simular el proceso de aprendizaje federado, visualizando la contribución de cada cliente al modelo global.
- Escribir la memoria del TFG, documentando el proceso de investigación, los métodos implementados y los resultados obtenidos
Metodología y Competencias
Metodología
- Análisis del Aprendizaje Federado:
- Revisar la teoría subyacente del aprendizaje federado y su aplicación en algoritmos no neuronales.
- Estudiar cómo adaptar algoritmos como redes Bayesianas y árboles de clasificación al marco federado, explorando cómo combinar los modelos locales para crear un modelo global sin acceder directamente a los datos de los clientes.
- Diseño de Algoritmos No Neuronales en un Entorno Federado:
- Implementar redes Bayesianas y árboles de clasificación en un entorno federado, permitiendo que cada cliente entrene su modelo localmente y comparta actualizaciones con el servidor central.
- Experimentar con diferentes estrategias para la agregación de modelos locales, como ponderación por tamaño de los datos o actualización iterativa basada en la importancia de cada cliente y las características únicas que pueda tener cada uno de ellos.
- Obtención de los conjuntos de datos y realizar un análisis exploratorio detallado.
- Como puntos de partida inicial se pueden usar los siguientes conjuntos de datos disponibles en Kaggle, si bien durante el desarrollo del TFG se podrá extender la búsqueda/selección a otros conjuntos:
- Big Mart Sales Data Transformed (https://www.kaggle.com/code/caesarmario/python-magic-big-mart-sales-data-transformed)
- Supermarket sales (https://www.kaggle.com/datasets/aungpyaeap/supermarket-sales)
- Adidas Sales Dataset (https://www.kaggle.com/datasets/heemalichaudhari/adidas-sales-dataset/data)
- El análisis de datos exploratorio o EDA deberá hacerse teniendo en cuenta todos los datos y también los datos segmentados por cliente.
- Entrenamiento Federado y Evaluación:
- Entrenar los modelos localmente en los datos de cada cliente y combinar las actualizaciones en un servidor central para crear el modelo global.
- Evaluar el rendimiento de los modelos locales y global en términos de precisión, interpretabilidad y eficiencia en comparación con modelos centralizados.
- Medir la eficacia del aprendizaje federado en situaciones donde los datos de los clientes son heterogéneos (diferentes perfiles de supermercado).
- Desarrollo de una Aplicación Práctica:
- Crear una aplicación que simule el flujo de trabajo del aprendizaje federado, permitiendo a los usuarios visualizar la evolución del modelo global a medida que se actualiza con los datos de diferentes supermercados.
- Proporcionar herramientas para comparar el rendimiento del modelo global con los modelos entrenados localmente en cada cliente.
- Documentación:
- Redactar la memoria del TFG explicando el marco teórico y práctico del aprendizaje federado aplicado a redes Bayesianas y árboles de clasificación, los experimentos realizados y las conclusiones obtenidas.
Competencias
Este proyecto desarrollará competencias clave en las siguientes áreas:
- [CM3] Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
- [CM5] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
- [CM7] Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos.
Medios a utilizar
- Herramientas de programación como Python, junto con librerías para aprendizaje automático como Scikit-learn para algoritmos clásicos y Pyro o pgmpy para redes Bayesianas.
- Herramientas especializadas en aprendizaje federado como PySyft para simular un entorno federado y coordinar las comunicaciones entre los clientes y el servidor central.
- Entornos de simulación o conjuntos de datos de ejemplo sobre ventas, inventarios o patrones de compras en supermercados.
Bibliografía
- Documentación sobre aprendizaje federado y sus aplicaciones en privacidad y optimización.
- Artículos científicos sobre redes Bayesianas, árboles de clasificación y otros modelos no neuronales en entornos distribuidos.
- Manuales y guías sobre el uso de librerías como pgmpy, Pyro, PySyft y Scikit-learn para el desarrollo de modelos distribuidos y federados.
- Bases de datos junto con información acerca de sus atributos y características en Kaggle.
Tutores GAMEZ MARTIN, JOSE ANTONIO TORRIJOS ARENAS, PABLO | Alumno DE LAMO MARTÍNEZ, HUGO
|
| |