Descrição
O Attentional Factorization Machine (AFM) é um modelo sofisticado projetado para aprimorar o desempenho das máquinas de fatoração, aprendendo a importância das interações de recursos através de redes de atenção. Este repositório oferece uma implementação direta em TensorFlow do modelo AFM, baseando-se nos conceitos fundamentais das Máquinas de Fatoração (FM).
O projeto é baseado no artigo de pesquisa "Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks" de Jun Xiao, Hao Ye, Xiangnan He, Hanwang Zhang, Fei Wu e Tat-Seng Chua, apresentado no IJCAI 2017. A implementação suporta tarefas de regressão e classificação, otimizando para RMSE.
Os usuários podem aproveitar este código para replicar os achados da pesquisa ou aplicar o AFM aos seus próprios conjuntos de dados. O repositório fornece instruções claras para configurar o ambiente, que requer TensorFlow (versão 1.0.1), NumPy e Scikit-learn. Os conjuntos de dados devem seguir o formato de entrada do toolkit LibFM, com um exemplo usando o conjunto de dados MovieLens para recomendação de tags personalizada.
O exemplo rápido incluído demonstra como treinar um modelo FM primeiro para pré-treinamento e, em seguida, usar esses pesos para treinar o modelo AFM. Essa abordagem permite uma comparação direta de desempenho entre o FM padrão e o AFM aprimorado. O código também inclui funcionalidades para avaliar os modelos treinados em conjuntos de dados de teste.
Esta implementação é particularmente valiosa para pesquisadores e profissionais nas áreas de sistemas de recomendação, aprendizado de máquina e aprendizado profundo que buscam melhorar a precisão e a interpretabilidade de seus modelos, capturando efetivamente as nuances das interações de recursos. O mecanismo de atenção permite que o modelo pondere dinamicamente a importância de diferentes pares de recursos, levando a previsões mais precisas.
Destaques de Attentional Factorization Machine
Implementação em TensorFlow da Attentional Factorization Machine (AFM)
Suporta tarefas de regressão e classificação
Otimiza para RMSE
Aprende o peso das interações de recursos via redes de atenção
Inclui implementação de Factorization Machines (FM) para pré-treinamento
Usa codificação one-hot para conversão de vetor de recursos
Compatível com o formato de dados LibFM
Fornece exemplo de uso com o conjunto de dados MovieLens
Inclui scripts para treinamento e avaliação
A base de código inclui AFM.py, FM.py e LoadData.py
Suporta pré-treinamento de modelo
Primeiros passos com Attentional Factorization Machine
Configurar ambiente: Instalar TensorFlow (v1.0.1), NumPy e Scikit-learn.
Preparar conjunto de dados: Formatar dados de acordo com as especificações do toolkit LibFM.
Treinar modelo FM: Executar `python FM.py` com o conjunto de dados e parâmetros especificados para pré-treinamento.
Treinar modelo AFM: Executar `python AFM.py` usando os pesos FM pré-treinados.
Avaliar modelo: Executar `python FM.py` ou `python AFM.py` com o flag `--process evaluate`.
Casos de uso de Attentional Factorization Machine
- Sistemas de Recomendação
- Recomendação de Tags
- Previsão de Taxa de Cliques
- Aprendizado de Interação de Recursos
- Desenvolvimento de Modelos de Machine Learning








