博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DeepFM交流整理

Posted on 2021-01-07 10:10  隐灰子  阅读(475)  评论(0编辑  收藏  举报

1:对于DeepFM来说,什么样的特征在手工cross后效果较好
答:在线性模型上表现特别强的特征,可以考虑手工cross

2:曝光位是否做了惩罚项
答:研究侧有做尝试,线下使用该特征训练,规避线上使用。工业场景没有相关使用

3:哪些特征适合做特征交叉
用户和item特征做交叉,可能会取得更好的效果

4:负采样的比例
正负样本一般在1:10左右,也可考虑做一些对比测试,进行调整

5:对于DeepFM来说,id类特征和序列型特征,如何判断其重要性,以及在深度模型中的影响有多大,哪些该使用个,哪些不该使用
可以考虑通过离散化后去判定重要性,使用该结果作为参考,但是这个离散化后的重要特征和模型预测效果没有直接的对应关系

6:对于DeepFM来说,embedding 维度,多大维度是合理的,32维是否合适,目前根据数据量和类别总数
常用的又8,16,32维,具体需要根据实际使用,进行对比测试

7:对于DeepFM来说,embedding是DNN和FM共享还是各自走各自比较好
数据比较多,特征比较多的情况下,FM和DNN分别走embeding层效果会好

8:对于DeepFM来说,特征工程当中,id类特征,离散型特征,连续性特征,如何处理比较合适
做OneHot后,embedding处理,连续性特征可考虑先进行粪桶;id类特征可以考虑取头部id,减少OneHot数量

9:对于DeepFM来说,隐藏层层数,每层神经元数量,多大合适(目前3层,256)
层数不建议太多,3层可以,神经元数量可进行尝试,如128,256等。

10:对于DeepFM来说,用户点击序列特征,如何处理合适
可参考DIN的处理方式

11:对于DeepFM来说,特征是否可以考虑做OneHot,如果可以,哪些特征适合做,哪些特征不适合做
一般来说,均要做OneHot,之后再进行embedding,不建议做哈希。

12:深度学习当中的损失函数如何选择才是最优解
选择余地不大,通常使用logloss和softmax