説明
Attentional Factorization Machine (AFM) は、注意ネットワークを通じて特徴量の相互作用の重要性を学習することにより、Factorization Machineのパフォーマンスを向上させるように設計された洗練されたモデルです。このリポジトリは、Factorization Machine (FM) の基本的な概念を基盤としたAFMモデルの直接的なTensorFlow実装を提供します。
続きを読む
このプロジェクトは、Jun Xiao、Hao Ye、Xiangnan He、Hanwang Zhang、Fei Wu、Tat-Seng Chuaによる論文「Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks」(IJCAI 2017で発表)に基づいています。この実装は、回帰タスクと分類タスクの両方をサポートし、RMSEを最適化します。
ユーザーはこのコードを利用して、研究結果を再現したり、AFMを独自のデータセットに適用したりできます。リポジトリには、環境設定のための明確な手順が用意されており、TensorFlow(バージョン1.0.1)、NumPy、およびScikit-learnが必要です。データセットはLibFMツールキットの入力形式に従う必要があり、パーソナライズされたタグ推薦のためのMovieLensデータセットを使用した例が含まれています。
付属のクイック例では、まずFMモデルをトレーニングして事前学習を行い、その後これらの重みを使用してAFMモデルをトレーニングする方法を示しています。このアプローチにより、標準的なFMと強化されたAFMのパフォーマンスを直接比較できます。コードには、テストデータセットでトレーニング済みモデルを評価する機能も含まれています。
この実装は、特徴量の相互作用のニュアンスを効果的に捉えることで、モデルの精度と解釈可能性を向上させたいと考えている推薦システム、機械学習、およびディープラーニング分野の研究者や実務家にとって特に価値があります。注意メカニズムにより、モデルは異なる特徴量のペアの重要性を動的に重み付けし、より正確な予測につながります。
- カテゴリーAIモデルとLLM
- 料金モデルオープンソース
- デプロイクラウド, セルフホスト
- プラットフォームWeb
Attentional Factorization Machineの主要機能
Attentional Factorization Machine (AFM) のTensorFlow実装
回帰タスクと分類タスクをサポート
RMSEを最適化
注意ネットワーク経由で特徴量の相互作用の重みを学習
事前学習のためのFactorization Machine (FM) の実装を含む
特徴量ベクトル変換のためのワンホットエンコーディングを使用
LibFMデータセット形式と互換性あり
MovieLensデータセットを使用した使用例を提供
トレーニングと評価のためのスクリプトを含む
コードベースにはAFM.py、FM.py、LoadData.pyが含まれる
モデルの事前学習をサポート
Attentional Factorization Machineをはじめる
環境設定: TensorFlow (v1.0.1)、NumPy、Scikit-learnをインストールします。
データセット準備: LibFMツールキットの仕様に従ってデータをフォーマットします。
FMモデルトレーニング: 事前学習のために、指定されたデータセットとパラメータで `python FM.py` を実行します。
AFMモデルトレーニング: 事前学習済みのFM重みを使用して `python AFM.py` を実行します。
モデル評価: `--process evaluate` フラグを付けて `python FM.py` または `python AFM.py` を実行します。
Attentional Factorization Machineの使用例
- 推薦システム
- タグ推薦
- クリック率予測
- 特徴量相互作用学習
- 機械学習モデル開発









