Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add DeepFM knowledge #734

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
8 changes: 4 additions & 4 deletions docs/tutorials/recommendation_system/DeepFM.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ DeepFM模型结构如下图所示,完成对稀疏特征的嵌入后,由FM层

![](https://ai-studio-static-online.cdn.bcebos.com/8654648d844b4233b3a05e918dedc9b777cf786af2ba49af9a92fc00cd050ef3)

## 2.FM
## 3.FM

FM(Factorization Machines,因子分解机)最早由Steffen Rendle于2010年在ICDM上提出,它是一种通用的预测方法,在即使数据非常稀疏的情况下,依然能估计出可靠的参数进行预测。与传统的简单线性模型不同的是,因子分解机考虑了特征间的交叉,对所有嵌套变量交互进行建模(类似于SVM中的核函数),因此在推荐系统和计算广告领域关注的点击率CTR(click-through rate)和转化率CVR(conversion rate)两项指标上有着良好的表现。

Expand All @@ -31,7 +31,7 @@ $$

![](https://ai-studio-static-online.cdn.bcebos.com/bda8da10940b43ada3337c03332fe06ad1cd95f7780243888050023be33fc88c)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

目前FM的部分描述比较简单,考虑补充FM的学习过程,FM的优缺点等等


## 3.DNN
## 4.DNN

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wide&Deep详细说一下,不一定每个人都知道

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

考虑回答一下,为什么选择DNN要跟FM结合,RNN跟FM能够结合吗?分析一下DNN+FM结合的好处

该部分和Wide&Deep模型类似,是简单的前馈网络。在输入特征部分,由于原始特征向量多是高纬度,高度稀疏,连续和类别混合的分域特征,因此将原始的稀疏表示特征映射为稠密的特征向量。

Expand All @@ -51,7 +51,7 @@ DNN深度神经网络层结构如下图所示:

![](https://ai-studio-static-online.cdn.bcebos.com/df8159e1d56646fe868e8a3ed71c6a46f03c716ad1d74f3fae88800231e2f6d8)

## 4.Loss及Auc计算
## 5.Loss及Auc计算

DeepFM模型的损失函数选择Binary_Cross_Entropy(二值交叉熵)函数
$$
Expand All @@ -63,7 +63,7 @@ Auc是Area Under Curve的首字母缩写,这里的Curve指的就是ROC曲线

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在这里加一节DeepFM和其他模型的比较,比如目前在推荐领域中比较流行的深度模型FNN、PNN、Wide&Deep等

可使用paddle.metric.Auc()进行调用。

## 5.参考文献
## 6.参考文献

[IJCAI 2017]Guo, Huifeng,Tang, Ruiming,Ye, Yunming,Li, Zhenguo,He, Xiuqiang. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

Expand Down