巨大的特征空间给推荐系统的训练带来困难,本篇论文提出一个基于点积操作的神经网络,它用一个嵌入层学习分类数据的分布表示,通过
product layer
学习不同领域特征的交互特征,进而获得高阶特征的交互作用。实验表明product layer
有效。
问题描述
本文以预测CTR(Click-through rate)
为目标,具体问题见博客:论文阅读【3】Deep & Cross Network for Ad Click Predictions。
本文核心思想
product layer
是本文的核心,这一层获得交互特征,本文使用一些特殊的参数矩阵构造以及函数设定减小了时间开销,缩小了模型复杂度。
实现细节
输出层:
y
^
=
σ
(
W
3
l
2
+
b
3
)
\hat y =\sigma(W_3l_2+b_3)
y^=σ(W3l2+b3)
W
3
∈
R
1
∗
D
2
b
3
∈
R
W_3\in R^{1*D_2} b_3\in R
W3∈R1∗D2b3∈R
Hidden Layer 2:
l
2
=
r
e
l
u
(
W
2
l
2
+
b
2
)
l_2=relu(W_2l_2+b_2)
l2=relu(W2l2+b2)
l
1
∈
R
D
1
l_1\in R^{D_1}
l1∈RD1
Hidden Layer 1:
l
1
=
r
e
l
u
(
l
z
+
l
p
+
b
1
)
l_1=relu(l_z+l_p+b_1)
l1=relu(lz+lp+b1)
l
z
,
l
p
,
b
1
∈
R
D
1
l_z,l_p,b_1∈R^{D_1}
lz,lp,b1∈RD1
Product Layer
l
z
=
(
l
z
1
,
l
z
2
,
…
.
l
z
D
1
)
,
l
z
n
=
W
z
n
⊙
z
l_z=(l_z^1,l_z^2,….l_z^{D_1}),l_z^n=W_z^n⊙z
lz=(lz1,lz2,….lzD1),lzn=Wzn⊙z
l
p
=
(
l
p
1
l
p
2
,
…
.
l
z
D
1
)
,
l
p
n
=
W
p
n
⊙
p
l_p=(l_p^1 l_p^2,….l_z^{D_1} ),l_p^n=W_p^n⊙p
lp=(lp1lp2,….lzD1),lpn=Wpn⊙p
其中
z
=
(
z
1
,
z
2
,
…
z
N
)
≔
(
f
1
,
f
2
,
…
f
N
)
z=(z_1,z_2,…z_N )≔(f_1,f_2,…f_N )
z=(z1,z2,…zN):=(f1,f2,…fN),
p
=
{
p
i
,
j
}
,
i
=
1
,
2
,
…
N
;
j
=
1
,
2
,
…
N
,
p
i
,
j
=
g
(
f
i
,
f
j
)
;
f
i
=
W
0
i
x
[
s
t
a
r
t
i
:
e
n
d
i
]
∈
R
M
p=\{p_{i,j}\}, i=1,2,…N; j=1,2,…N, p_{i,j}=g(f_i,f_j); f_i=W_0^ix[start_i:end_i]\in R^M
p={pi,j},i=1,2,…N;j=1,2,…N,pi,j=g(fi,fj);fi=W0ix[starti:endi]∈RM。对于
g
g
g和
W
p
n
W_p^n
Wpn的设计是IPNN
和OPNN
的贡献。
本文提出2个PNN
变形:IPNN
和OPNN
。
IPNN
g ( f i , f j ) = < f i , f j > g(f_i,f_j )=<f_i,f_j> g(fi,fj)=<fi,fj>, W p n = θ n θ n T W_p^n=\theta ^n {\theta^n}^T Wpn=θnθnT 最终推导出 l p = ( ∣ ∣ ∑ i δ i 1 ∣ ∣ , ∣ ∣ ∑ i δ i 2 ∣ ∣ , … ∣ ∣ ∑ i δ i D 1 ∣ ∣ ) l_p=(||∑_iδ_i^1 ||,||∑_iδ_i^2 ||,…||∑_iδ_i^{D_1}||) lp=(∣∣∑iδi1∣∣,∣∣∑iδi2∣∣,…∣∣∑iδiD1∣∣)。
OPNN
g ( f i , f j ) = f i f i T ∈ R M ∗ M g(f_i,f_j )=f_i f_i^T∈R^{M*M} g(fi,fj)=fifiT∈RM∗M, p = ∑ i = 1 N ∑ j = 1 N f i f j T = f ∑ f ∑ T p=\sum_{i=1}^N\sum_{j=1}^N f_if_j^T=f_{\sum}f_{\sum}^T p=∑i=1N∑j=1NfifjT=f∑f∑T 其中, f ∑ = ∑ i = 1 N f i f_{\sum}=\sum_{i=1}^Nf_i f∑=∑i=1Nfi。
为什么有效
PNN
与FNN
和FM
类似,又有所不同:将product layer
去除PNN
与FNN
相同,而product layer
的设计和FM
类似,实验结果表明PNN
比FNN
和FM
的实验结果都好。product layer
的设计探索了不同特征之间的交互特性,并用
l
p
l_p
lp的结果表示出来。