FactorizationMachines
Issue Date: 2020-08-29 Field Weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising, Pan+, WWW'18 Comment
CTR予測でbest-performingなモデルと言われているField Aware Factorization Machines(FFM)では、パラメータ数がフィールド数×特徴数のorderになってしまうため非常に多くなってしまうが、これをよりメモリを効果的に利用できる手法を提案。FFMとは性能がcomparableであるが、パラメータ数をFFMの4%に抑えることができた。
#RecommenderSystems #CollaborativeFiltering
Issue Date: 2018-01-02 [Paper Note] Factorization Machines with libFM, Steffen Rendle, TIST'12 Comment
Factorization Machinesの著者実装。
FMやるならまずはこれ。
#RecommenderSystems #MachineLearning #CollaborativeFiltering #ICDM #Selected Papers/Blogs
Issue Date: 2018-12-22 [Paper Note] Factorization Machines, Steffen Rendle, ICDM'10 Comment
解説ブログ:
http://echizen-tm.hatenablog.com/entry/2016/09/11/024828
DeepFMに関する動向:
https://data.gunosy.io/entry/deep-factorization-machines-2018
上記解説ブログの概要が非常に完結でわかりやすい
FMのFeature VectorのExample
各featureごとにlatent vectorが学習され、featureの組み合わせのweightが内積によって表現される
Matrix Factorizationの一般形のような形式
下記モデルが実装されているすごいリポジトリ。論文もリンクも記載されており、Factorization Machinesを勉強する際に非常に参考になると思う。MITライセンス。各手法はCriteoのCTRPredictionにおいて、AUC0.8くらい出ているらしい。
- Logistic Regression
- Factorization Machine
- Field-aware Factorization Machine
- Higher-Order Factorization Machines
- Factorization-Supported Neural Network
- Wide&Deep
- Attentional Factorization Machine
- Neural Factorization Machine
- Neural Collaborative Filtering
- Field-aware Neural Factorization Machine
- Product Neural Network
- Deep Cross Network
- DeepFM
- xDeepFM
- AutoInt (Automatic Feature Interaction Model)
- AFN(AdaptiveFactorizationNetwork Model)
#Article #RecommenderSystems #CollaborativeFiltering #Pocket Issue Date: 2021-07-02 Deep Learning Recommendation Model for Personalization and Recommendation Systems, Naumov+, Facebook, arXiv‘19 GPT Summary- 深層学習に基づく推薦モデル(DLRM)を開発し、PyTorchとCaffe2で実装。埋め込みテーブルのモデル並列性を活用し、メモリ制約を軽減しつつ計算をスケールアウト。DLRMの性能を既存モデルと比較し、Big Basin AIプラットフォームでの有用性を示す。 Comment
Facebookが開発したopen sourceのDeepな推薦モデル(MIT Licence)。
モデル自体はシンプルで、continuousなfeatureをMLPで線形変換、categoricalなfeatureはembeddingをlook upし、それぞれfeatureのrepresentationを獲得。
その上で、それらをFactorization Machines layer(second-order)にぶちこむ。すなわち、Feature間の2次の交互作用をembedding間のdot productで獲得し、これを1次項のrepresentationとconcatしMLPにぶちこむ。最後にシグモイド噛ませてCTRの予測値とする。
実装: https://github.com/facebookresearch/dlrm
Parallelism以後のセクションはあとで読む
#Article #RecommenderSystems #NeuralNetwork #CollaborativeFiltering #Pocket #CTRPrediction #IJCAI Issue Date: 2021-05-25 DeepFM: A Factorization-Machine based Neural Network for CTR Prediction, Guo+, IJCAI’17 Comment
Factorization Machinesと、Deep Neural Networkを、Wide&Deepしました、という論文。Wide=Factorization Machines, Deep=DNN。
高次のFeatureと低次のFeatureを扱っているだけでなく、FMによってフィールドごとのvector-wiseな交互作用、DNNではbit-wiseな交互作用を利用している。
割と色々なデータでうまくいきそうな手法に見える。
発展版としてxDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, Lian+, KDD‘18
がある。
[Paper Note] Factorization Machines, Steffen Rendle, ICDM'10
にも書いたが、下記リンクに概要が記載されている。
DeepFMに関する動向:
https://data.gunosy.io/entry/deep-factorization-machines-2018
#Article #RecommenderSystems #NeuralNetwork #CollaborativeFiltering #Pocket #CTRPrediction #SIGKDD Issue Date: 2021-05-25 xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, Lian+, KDD‘18 Comment
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction, Guo+, IJCAI’17 DeepFMの発展版
[Paper Note] Factorization Machines, Steffen Rendle, ICDM'10
にも書いたが、下記リンクに概要が記載されている。
DeepFMに関する動向:
https://data.gunosy.io/entry/deep-factorization-machines-2018
DeepFMの発展についても詳細に述べられていて、とても参考になる。
#Article #RecommenderSystems #CollaborativeFiltering #Library Issue Date: 2018-01-01 fastFM Comment
実装されているアルゴリズム:Factorization Machines
実装:python
使用方法:pythonライブラリとして利用
※ Factorization Machinesに特化したpythonライブラリ
参考:
http://www.kamishima.net/archive/recsysdoc.pdf
https://takuti.me/note/recommender-libraries/
#Article #RecommenderSystems #Tools #CollaborativeFiltering #Library Issue Date: 2018-01-01 LibRec Comment
実装されているアルゴリズム:協調フィルタリング、Factorization Machines、
Restricted Boltzman Machineなど、計70種類のアルゴリズムが実装
実装:Java
使用方法:コマンドライン、Javaライブラリとして利用
※ 実装されているアルゴリズムの豊富さが強み
※ 実装されているアルゴリズムのリスト(
https://www.librec.net/dokuwiki/doku.php?id=AlgorithmList)
参考:
http://www.kamishima.net/archive/recsysdoc.pdf
https://takuti.me/note/recommender-libraries/