DeepRecommendationModel task3

对于CTR问题,最有效的提升任务表现的策略是特征组合(Feature Interaction)

其他方法的局限:

  • DNN :

由于离散特征需要使用one-hot编码处理,会导致维度猛增,可以将OneHot特征转换为Dense Vector。
通过增加全连接层可以实现高阶的特征组合,但是仍然缺少低阶的特征组合

  • FNN 和PNN

结合FM和DNN两种模型,得到FNN
在FNN中加入一个product(做内积或外积)模块,得到PNN

  • Wide & Deep

FNN和PNN仍然对于低阶组合特征学习的比较少,是由于DNN的全连接导致低阶特征不能在输出端有较好的表现。
所以提出了并行结构Wide&deep,但是在最后的output unit阶段,直接将
低阶和高阶特征进行组合,很容易让模型最终偏向学习到低阶或者高阶的特征,而不能做到很好的结合。

DeepFM
模型结构与原理
在这里插入图片描述

  • FM

在这里插入图片描述
FM Layer是由一阶特征和二阶特征Concatenate到一起在经过一个Sigmoid得到logits
y ^ F M ( x ) = w 0 + ∑ i = 1 N w i x i + ∑ i = 1 N ∑ j = i + 1 N v i T v j x i x j \hat{y}{FM}(x) = w_0+\sum{i=1}^N w_ix_i + \sum_{i=1}^N \sum_{j=i+1}^N v_i^T v_j x_ix_j y^FM(x)=w0+i=1Nwixi+i=1Nj=i+1NviTvjxixj

  • Deep

在这里插入图片描述
Embedding层的输出是将所有id类特征对应的embedding向量concat到到一起输入到DNN中。

z L = σ ( W L − 1 z L − 1 + b L − 1 ) z_L=\sigma(W_{L-1} z_{L-1}+b_{L-1}) zL=σ(WL1zL1+bL1) 表示上一层的输出作为下一层的输入
y D N N = σ ( W L a L + b L ) y_{DNN}=\sigma(W^{L}a^L+b^L) yDNN=σ(WLaL+bL)
输出使用sigmoid激活函数激活

代码实现
在这里插入图片描述

思考
1 如果对于FM采用随机梯度下降SGD训练模型参数,请写出模型各个参数的梯度和FM参数训练的复杂度
训练的复杂度为 : o(bachsize * kn)

2 对于下图所示,根据你的理解Sparse Feature中的不同颜色节点分别表示什么意思
黄色节点代表该sparse feature中出现的值,而其他点则代表未在该样本中出现的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值