请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

wide & deep的column放置问题

请问特征到底是应该放在wide侧,还是应该放在deep侧,是如何确定呢?

看了网上的其他人讲解:
wide部分就是LR,LR的输入特征包括了离散特征和交叉特征;
deep侧,输入包括了连续的特征和 embedding特征

请问背后的原因是什么呢? 为啥离散放wide,连续放deep?

正在回答

1回答

这个结合我在实战中的经验,我说一下我自己的理解,在最早浅层模型占工业界主导的时候,比如用lr时候,发现连续特征做离散化,离散特征做one hot。效果要远好于不做。因为占据的维度多了。你也发现了前面lr的课程,我们不管连续离散其实都是按照离散的方式 都处理成【0,1,0】类似这种向量的形式。所以在google 发表wd paper时候也说了wide 负责记忆,延续了lr的打法。我们只把连续值和 经过embeding colunm的离散值放入deep,试想如果我们不是放入embeding colum的话一个itemid 这个特征 在物料库几百万的系统里维度就是几百万 那么乘以隐层数目 第一层参数就太多了。 综上 我的理解是google之所以这么搞 是基于浅层延续的经验加实战可行性。

1 回复 有任何疑惑可以回复我~
  • 提问者 慕沐9623816 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-01-03 19:50:36
  • 提问者 慕沐9623816 #2
    谢谢老师,解释得很细致。只是还有几个疑问点
    
    1. age,capital_gain,capital_loss 进行离散化
    而连续特征education_num,hour_per_work却没有,是因为他们的数值范围较小吗? 一般经验来看,什么样的情况需要进行离散化?
    
    2. 连续特征经过了离散化分割,也就变成了离散特征。那问题就来了,这些经过离散化的连续特征,是不是也可以放进去wise的那一侧
    
    3. 交叉特征是否可以放进deep侧,如果是纬度过大,能否embedding后再放进去?
    回复 有任何疑惑可以回复我~ 2019-01-03 19:57:55
  • 提问者 慕沐9623816 #3
    另外网上也有人提到,居于交叉的特征,因为纬度比较大,所以放wide  (用户item行为记忆)
    
    居于单独的user,item的特征,无论哪种类型,经过embedding后纬度度没有那么大,所以可以放deep那边  (user和item各自纬度的泛化)
    
    这样理解是否ok?
    回复 有任何疑惑可以回复我~ 2019-01-03 20:10:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信