Descripción
La Attentional Factorization Machine (AFM) es un modelo sofisticado diseñado para mejorar el rendimiento de las máquinas de factorización aprendiendo la importancia de las interacciones de características a través de redes de atención. Este repositorio ofrece una implementación directa en TensorFlow del modelo AFM, basándose en los conceptos fundamentales de las Factorization Machines (FM).
El proyecto se basa en el artículo de investigación "Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks" de Jun Xiao, Hao Ye, Xiangnan He, Hanwang Zhang, Fei Wu y Tat-Seng Chua, presentado en IJCAI 2017. La implementación soporta tareas de regresión y clasificación, optimizando para RMSE.
Los usuarios pueden aprovechar este código para replicar los hallazgos de la investigación o aplicar AFM a sus propios conjuntos de datos. El repositorio proporciona instrucciones claras para configurar el entorno, que requiere TensorFlow (versión 1.0.1), NumPy y Scikit-learn. Los conjuntos de datos deben seguir el formato de entrada del toolkit LibFM, con un ejemplo que utiliza el conjunto de datos MovieLens para la recomendación de etiquetas personalizadas.
El ejemplo rápido incluido demuestra cómo entrenar primero un modelo FM para preentrenamiento y luego usar estos pesos para entrenar el modelo AFM. Este enfoque permite una comparación directa del rendimiento entre FM estándar y AFM mejorado. El código también incluye funcionalidades para evaluar los modelos entrenados en conjuntos de datos de prueba.
Esta implementación es particularmente valiosa para investigadores y profesionales en los campos de sistemas de recomendación, aprendizaje automático y aprendizaje profundo que buscan mejorar la precisión e interpretabilidad de sus modelos al capturar eficazmente los matices de las interacciones de características. El mecanismo de atención permite al modelo ponderar dinámicamente la importancia de diferentes pares de características, lo que lleva a predicciones más precisas.
Aspectos destacados de Attentional Factorization Machine
Implementación en TensorFlow de Attentional Factorization Machine (AFM)
Soporta tareas de regresión y clasificación
Optimiza para RMSE
Aprende el peso de las interacciones de características a través de redes de atención
Incluye implementación de Factorization Machines (FM) para preentrenamiento
Utiliza codificación one-hot para la conversión de vectores de características
Compatible con el formato de datos de LibFM
Proporciona uso de ejemplo con el conjunto de datos MovieLens
Incluye scripts para entrenamiento y evaluación
La base de código incluye AFM.py, FM.py y LoadData.py
Soporta preentrenamiento de modelos
Primeros pasos con Attentional Factorization Machine
Configurar entorno: Instalar TensorFlow (v1.0.1), NumPy y Scikit-learn.
Preparar conjunto de datos: Formatear los datos según las especificaciones del toolkit LibFM.
Entrenar modelo FM: Ejecutar `python FM.py` con el conjunto de datos y parámetros especificados para preentrenamiento.
Entrenar modelo AFM: Ejecutar `python AFM.py` utilizando los pesos FM preentrenados.
Evaluar modelo: Ejecutar `python FM.py` o `python AFM.py` con la bandera `--process evaluate`.
Casos de uso de Attentional Factorization Machine
- Sistemas de Recomendación
- Recomendación de Etiquetas
- Predicción de Tasa de Clics
- Aprendizaje de Interacciones de Características
- Desarrollo de Modelos de Machine Learning








