描述
Attentional Factorization Machine (AFM) 是一种复杂的模型,旨在通过注意力网络学习特征交互的重要性来提高 Factorization Machine 的性能。该存储库提供了 AFM 模型的直接 TensorFlow 实现,建立在 Factorization Machine (FM) 的基础概念之上。
阅读更多
该项目基于研究论文《Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks》,作者为 Jun Xiao、Hao Ye、Xiangnan He、Hanwang Zhang、Fei Wu 和 Tat-Seng Chua,发表于 IJCAI 2017。该实现支持回归和分类任务,并以 RMSE 为优化目标。
用户可以利用此代码来复现研究成果或将其 AFM 应用于自己的数据集。该存储库提供了清晰的环境设置说明,需要 TensorFlow(版本 1.0.1)、NumPy 和 Scikit-learn。数据集应遵循 LibFM 工具包的输入格式,并提供使用 MovieLens 数据集进行个性化标签推荐的示例。
包含的快速示例演示了如何首先训练一个 FM 模型进行预训练,然后使用这些权重来训练 AFM 模型。这种方法可以对标准 FM 和增强型 AFM 之间的性能进行直接比较。代码还包括在测试数据集上评估训练模型的各项功能。
该实现对于推荐系统、机器学习和深度学习领域的研发人员和从业者特别有价值,他们希望通过有效捕捉特征交互的细微差别来提高模型的准确性和可解释性。注意力机制允许模型动态地衡量不同特征对的重要性,从而实现更精确的预测。
- 类别AI 模型与大语言模型
- 定价模式开源
- 部署云端, 自托管
- 平台网页版
Attentional Factorization Machine的核心功能
Attentional Factorization Machine (AFM) 的 TensorFlow 实现
支持回归和分类任务
以 RMSE 为优化目标
通过注意力网络学习特征交互的权重
包含 Factorization Machines (FM) 的实现用于预训练
使用独热编码进行特征向量转换
兼容 LibFM 数据集格式
提供 MovieLens 数据集的示例用法
包含训练和评估脚本
代码库包括 AFM.py、FM.py 和 LoadData.py
支持模型预训练
Attentional Factorization Machine入门
设置环境:安装 TensorFlow (v1.0.1)、NumPy 和 Scikit-learn。
准备数据集:按照 LibFM 工具包的规范格式化数据。
训练 FM 模型:使用指定的 dataset 和参数执行 `python FM.py` 进行预训练。
训练 AFM 模型:使用预训练的 FM 权重执行 `python AFM.py`。
评估模型:运行 `python FM.py` 或 `python AFM.py` 并添加 `--process evaluate` 标志。
Attentional Factorization Machine的使用案例
- 推荐系统
- 标签推荐
- 点击率预测
- 特征交互学习
- 机器学习模型开发









