本文主要是介绍Learning to Embed Categorical Features without Embedding Tables for Recommendation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 总结
- 细节
- 实验
总结
先把feature投影到整数空间,然后把id映射成k
维,每个维度1~m
,然后用uniform distribution/gaussian distribution,再接DNN,加上一些tricks
细节
one-hot full emb,维度灾难
one-hot hash emb,无法避免碰撞问题
多个hash func,得到多个emb,然后再1层nn,即:
e = F ( b ) = W T b = W T [ b 1 ; b 2 ; … ; b k ] e = F(b) = W^Tb = W^T[b^1;b^2;\dots;b^k] e=F(b)=WTb=WT[b1;b2;…;bk]
数学上讲,实际上 W T b = W T ( b 1 + b 2 + ⋯ + b k ) W^Tb = W^T(b^1+b^2+\dots+b^k) WTb=WT(b1+b2+⋯+bk),同时现在k大多数是2
good emb应该具备的特性:uniqueness、在原空间相似的向量,在高维空间也相似、编码后,解码较容易、shannon entropy较高
DHE
先把所有feature投影到整数空间,然后 E ′ ( s ) = [ H 1 ( s ) , H 2 ( s ) , … , H k ( s ) ] E'(s) = [H^1(s), H^2(s), \dots, H^k(s)] E′(s)=[H1(s),H2(s),…,Hk(s)],其中 H i : N → { 1 , 2 , … , m } H^i: \mathbb{N} \rightarrow \{1, 2, \dots, m\} Hi:N→{1,2,…,m},m
是一个自定义的值,本文取 1 0 6 10^6 106
uniform distribution:直接把DHE的输出uniform到[-1, 1]上
gaussian distribution: 先用上面的处理,然后Box-Muller transform得到正态分布
后面接dnn
tricks:Mish activation, BN
实验
数据集: movieLens-20m, amazon books
评估指标: auc
baseline: 其他hashing技巧
这篇关于Learning to Embed Categorical Features without Embedding Tables for Recommendation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!