DeepCTR icon indicating copy to clipboard operation
DeepCTR copied to clipboard

DeepFM中特征交叉问题

Open liuruihuang opened this issue 5 years ago • 4 comments

请问为什么在算fm_logit的时候,只对离散特征计算,连续型特征不需要计算交叉项吗?这种做法有什么优势吗

liuruihuang avatar Sep 01 '20 09:09 liuruihuang

请问为什么在算fm_logit的时候,只对离散特征计算,连续型特征不需要计算交叉项吗?这种做法有什么优势吗

没有吧,感觉这里设计的有些问题,连续特征其实可以对应一个embedding v,然后乘以连续特征的值v*x就可以交叉了。自己拿过来,魔改一下。

DeligientSloth avatar Sep 05 '20 14:09 DeligientSloth

请问为什么在算fm_logit的时候,只对离散特征计算,连续型特征不需要计算交叉项吗?这种做法有什么优势吗

没有吧,感觉这里设计的有些问题,连续特征其实可以对应一个embedding v,然后乘以连续特征的值v*x就可以交叉了。自己拿过来,魔改一下。

什么叫设计的有问题。。。连续特征有很多种用法,deepctr实现了其中一种,自己需要哪种自己调整一下就好了 稠密连续类型特征的处理 - 浅梦的学习笔记: 在点击率预估问题中,可以尝试的几种方法 1、归一化后直接输入dnn部分,不参与fm部分交叉 2、不归一化经过bn后输入dnn,不参与fm部分交叉 3、离散化后作为id feature, embedding后与其他sparse feature的embedding 一起参与fm的交叉 4、为每一个field下的dense value 维护一个embedding vector ,取 作为其最终的embedding表示,与其他sparse feature的embedding一起参与fm的交叉

zanshuxun avatar Sep 12 '20 05:09 zanshuxun

请问为什么在算fm_logit的时候,只对离散特征计算,连续型特征不需要计算交叉项吗?这种做法有什么优势吗

没有吧,感觉这里设计的有些问题,连续特征其实可以对应一个embedding v,然后乘以连续特征的值v*x就可以交叉了。自己拿过来,魔改一下。

什么叫设计的有问题。。。连续特征有很多种用法,deepctr实现了其中一种,自己需要哪种自己调整一下就好了 稠密连续类型特征的处理 - 浅梦的学习笔记: 在点击率预估问题中,可以尝试的几种方法 1、归一化后直接输入dnn部分,不参与fm部分交叉 2、不归一化经过bn后输入dnn,不参与fm部分交叉 3、离散化后作为id feature, embedding后与其他sparse feature的embedding 一起参与fm的交叉 4、为每一个field下的dense value 维护一个embedding vector ,取 作为其最终的embedding表示,与其他sparse feature的embedding一起参与fm的交叉

感谢这位同学的解答,之所以不强制令连续特征参与FM部分的计算是一方面是为了向用户提供更灵活的处理方式,另一方面、在我们实际的应用中也很少将连续特征与稀疏特征进行交叉计算。如果有需要的话可以自行进行修改。

shenweichen avatar Sep 12 '20 05:09 shenweichen

is there an example to show how to cross continous features with categorical features? @shenweichen and @zanshuxun

minarastgar avatar Feb 22 '21 05:02 minarastgar