Beschreibung
Die Attentional Factorization Machine (AFM) ist ein hochentwickeltes Modell, das darauf ausgelegt ist, die Leistung von Factorization Machines zu verbessern, indem die Bedeutung von Feature-Interaktionen durch Aufmerksamkeitsnetzwerke gelernt wird. Dieses Repository bietet eine direkte TensorFlow-Implementierung des AFM-Modells, die auf den grundlegenden Konzepten von Factorization Machines (FM) aufbaut.
Weiterlesen
Das Projekt basiert auf dem Forschungsartikel "Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks" von Jun Xiao, Hao Ye, Xiangnan He, Hanwang Zhang, Fei Wu und Tat-Seng Chua, der auf der IJCAI 2017 vorgestellt wurde. Die Implementierung unterstützt sowohl Regressions- als auch Klassifikationsaufgaben und optimiert für RMSE.
Benutzer können diesen Code nutzen, um die Forschungsergebnisse zu replizieren oder AFM auf ihre eigenen Datensätze anzuwenden. Das Repository bietet klare Anleitungen zur Einrichtung der Umgebung, die TensorFlow (Version 1.0.1), NumPy und Scikit-learn erfordert. Die Datensätze sollten dem Eingabeformat des LibFM-Toolkits folgen, mit einem Beispiel, das den MovieLens-Datensatz für personalisierte Tag-Empfehlungen verwendet.
Das enthaltene Schnellbeispiel zeigt, wie zuerst ein FM-Modell für das Vortraining trainiert und dann diese Gewichte zum Trainieren des AFM-Modells verwendet werden. Dieser Ansatz ermöglicht einen direkten Leistungsvergleich zwischen Standard-FM und dem verbesserten AFM. Der Code enthält auch Funktionen zur Evaluierung der trainierten Modelle auf Testdatensätzen.
Diese Implementierung ist besonders wertvoll für Forscher und Praktiker in den Bereichen Empfehlungssysteme, maschinelles Lernen und Deep Learning, die die Genauigkeit und Interpretierbarkeit ihrer Modelle verbessern möchten, indem sie die Nuancen von Feature-Interaktionen effektiv erfassen. Der Aufmerksamkeitsmechanismus ermöglicht es dem Modell, die Bedeutung verschiedener Feature-Paare dynamisch zu gewichten, was zu präziseren Vorhersagen führt.
- KategorieKI-Modelle & LLMs
- PreismodellOpen Source
- BereitstellungCloud, Selbst gehostet
- PlattformenWeb
Attentional Factorization Machine's Kernfunktionen
TensorFlow-Implementierung der Attentional Factorization Machine (AFM)
Unterstützt Regressions- und Klassifikationsaufgaben
Optimiert für RMSE
Lernt das Gewicht von Feature-Interaktionen über Aufmerksamkeitsnetzwerke
Enthält Implementierung von Factorization Machines (FM) für das Vortraining
Verwendet One-Hot-Encoding zur Konvertierung von Feature-Vektoren
Kompatibel mit dem LibFM-Datenformat
Bietet Beispielnutzung mit dem MovieLens-Datensatz
Enthält Skripte für Training und Evaluierung
Codebasis umfasst AFM.py, FM.py und LoadData.py
Unterstützt Modell-Vortraining
Erste Schritte mit Attentional Factorization Machine
Umgebung einrichten: Installieren Sie TensorFlow (v1.0.1), NumPy und Scikit-learn.
Datensatz vorbereiten: Formatieren Sie die Daten gemäß den Spezifikationen des LibFM-Toolkits.
FM-Modell trainieren: Führen Sie `python FM.py` mit dem angegebenen Datensatz und den Parametern für das Vortraining aus.
AFM-Modell trainieren: Führen Sie `python AFM.py` unter Verwendung der vortrainierten FM-Gewichte aus.
Modell evaluieren: Führen Sie `python FM.py` oder `python AFM.py` mit dem Flag `--process evaluate` aus.
Attentional Factorization Machine's Anwendungsfälle
- Empfehlungssysteme
- Tag-Empfehlung
- Vorhersage der Klickrate (CTR)
- Lernen von Feature-Interaktionen
- Entwicklung von Machine-Learning-Modellen









