Git Product home page Git Product logo

xdeepfm's Introduction

xDeepFM

介绍

- 原论文题目:《xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems》

- 原论文地址: xDeepFM

- 论文整理: 论文整理

下面对本论文提出的模型进行了复现。

模型介绍

模型架构 = FM + CIN + DNN

none

使用

1.数据准备

  • 训练集和测试集需为.csv文件
  • 支持数值型特征映射为embedding,也支持数值型特征直接作为DNN输入
  • 支持多值离散特征的处理,可自行配置为sum or mean,分隔符请用"|"
  • cat特征需要自行先用labelEncoder转换一下

具体配置在Config.py文件中,也可结合ex_data中的例子作为参考。

转换完成后的训练数据示例:

1,18:1,30:1,0:0.25,2:0.8125,4:0.0,6:0.0,8:0.0,10:0.006630292147247738,12:0.8125,14:0.25,16:0.5625,

2.模型训练

  • 先在Config中指定单值离散,多值离散,连续型特征
  • 默认激活函数"relu",默认optimizer"Adagrad"
  • 默认DNN网络结构 [128,64,32]
  • 默认CIN卷积核维度 [10,10,10] ,输出维度 [1]
  • 默认使用 DNN + CIN + FM,可在Config中配置
  • 默认建立vocabulary的最低词频 10

3.模型实验

- Batch_size : 4096 , epochs: 2000

- 指标为"logloss"

- 数据为 “2018**高校大数据挑战赛” 初赛数据

none

小结

模型基于DeepFM加入了CIN component (压缩交互网络),对原有的结构进行了vector-wise和边界明确的交互填充

  • 优点:表达能力更强,可以发掘出vector-wise的交互特征,精度更高
  • 缺点:训练速度变得很缓慢

yyq 2018年07月21日13:47:42

xdeepfm's People

Contributors

neoyangyiqing avatar batch-norm avatar

Watchers

James Cloos avatar

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.