总结
先把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技巧