Git Product home page Git Product logo

recommendation_model's Introduction

pytorch recommendation_system

想练习下用pytorch来复现下经典的推荐系统模型

1 实现了MF(Matrix Factorization, 矩阵分解),在movielen 100k数据集上mse为0.853左右

2 实现了FM(Factorization machines, 因子分解机), 在movielen 100k数据集上mse为0.852 (只使用u, i, ratings 三元组的因子分解机与mf其实是一样的, 故在相同数据集上的结果也差不多)

参考论文:Steffen Rendle, Factorization Machines, ICDM 2010.

3 DeepConn是第一篇使用深度学习模型利用评论信息进行推荐的文章,后面有很多改进工作如Transnets(ResSys2017), NARRE(www2018)等 所以说,这是篇非常值得认真阅读和复现的论文。

数据集下载地址:http://jmcauley.ucsd.edu/data/amazon/

使用的预训练文件下载地址:https://code.google.com/archive/p/word2vec/ 下载GoogleNews-vectors-negative300.bin 文件放入data/embedding_data中

使用方法:1. 运行pre_precessing.py文件 2. 运行train文件

实验结果(mse): office: 0.777, video_game: 1.182

参考论文:L.zheng et al, Joint deep modeling of users and items using reviews for recommendation, WSDM 2017.

4 MMOE是谷歌于2018年提出的一种多任务学习推荐模型,被用于YouTube视频推荐场景,效果良好,被业界广泛关注,我在实习时线上模型也采用了MMOE的改进模型,叫PLE。 我在census数据集上进行实验,实验结果比原文差一点。

实验结果(AUC):'income':0.942, 'marital': 0.977 原文是0.941, 0.9927

参考论文:J.Ma et al, Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts, KDD 2018. Z.Zhao et al, Recommending What Video to Watch Next: A Multitask Ranking System, RecSys 2019. Hongyan Tang, Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations, RecSys 2020.

5 PLE 也实现了下,一起放在mmoe_model文件夹下了,使用时把mmoe.py中导入模型改为PLE就行了。实验结果与MMOE差不多。

实验结果(AUC):'income':0.939, 'marital': 0.979

6 实现DeepFM,在sample Criteo(是对kaggle Criteo数据集的采样,有1000000个样本)数据上实验了一下,主要参考了这位的代码 https://blog.csdn.net/springtostring/article/details/108157070 但我觉得他的模型部分写的不太对 又自己重新写了。

实验结果(AUC): 0.743

参考论文:HGUO et al, DeepFM: a factorization-machine based neural network for CTR prediction, IJCAI 2017.

7 实现NFM, 数据集同上,主要参考DeepCTR,

实验结果(AUC): 0.710

参考论文:Xiangnan He et al, Neural Factorization Machines for Sparse Predictive Analytics, SIGIR 2017.

8 实现DCN,数据集及参考同上

实验结果(AUC): 0.750

参考论文:Ruoxi Wang et al, Deep & Cross Network for Ad Click Predictions, ADKDD 2017.

9 实现AFM, 数据集及参考同上

实验结果(AUC): 0.715

参考论文:Jun Xiao et al, Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks, IJCAI 2017.

10 实现AutoInt, 数据集及参考同上

实验结果(AUC):0.717

参考论文:Weiping Song et al, AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks, CIKM 2019.

11 实现ONN,数据集及参考同上

实验结果(AUC):0.735

参考论文:Yi Yang et al, Operation-aware Neural Networks for user response prediction, Neural Networks 2020.

12 实现FiBiNET,数据集及参考同上

实验结果(AUC):0.698

参考论文:Tongwen Huang et al, FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction, RecSys 2019.

13 实现Wide&Deep,数据集及参考同上

实验结果(AUC):0.728

参考论文:Heng-Tze Cheng et al, Wide & Deep Learning for Recommender Systems, RecSys workshop/dlrs 2016.

14 实现DCN-v2,数据集及参考同上

实验结果(AUC):0.748

参考论文:Ruoxi Wang et al, DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems, WWW 2021.

15 实现AFN,数据集及参考同上

实验结果(AUC):0.720

参考论文:Weiyu Cheng et al, Adaptive Factorization Network: Learning Adaptive-Order Feature Interactions, AAAI 2020.

16 实现DCAP,数据集同上

实验结果(AUC):0.709

参考论文:Zekai Chen et al, DCAP: Deep Cross Attentional Product Network for User Response Prediction, CIKM 2021.

recommendation_model's People

Contributors

huangjunheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

recommendation_model's Issues

请教用MMOE解决回归和分类任务

Hello~
最近遇到多目标学习的问题,用一个模型学习回归和分类任务,但是用MMOE结果很异常。
要是想适应回归和分类任务,你对如何修改MMOE有什么建议么?

一个小问题

# 还不懂啥意思
test_transformed['det_hh_fam_stat_ Grandchild <18 ever marr not in subfamily'] = 0

这一步是不是因为测试集里的变量det_hh_fam_stat没有 'Grandchild <18 ever marr not in subfamily', 但是训练集里面是有这个类型的,所以这里直接把测试集的设为0.

像这种训练集和测试集类别变量取值有差别的情况,有什么好的统一操作解决的吗? 增加一个Other类别?

一点疑惑

您好,在autoint模型的实现中,我注意到您好像并没有对数值型特征进行embedding

有个bug

dcn_v2/dcn_v2.py 第47行,应该是 fc = self.dropout(fc) ,减号应该换成等号~

About PLE

It looks like you're just implementing the CGC model in the PLE paper (or, of course, as a special case of PLE).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.