NFM 网络核心
NFM 网络引入特征交互池结构,将特征交互后的信息并到一起,传入到DNN网络中。这样DNN 网络学习起来就容易多了
NFM 网络结构
NFM 网络结构如图,从图中可以看出模型输入的特征还是稀疏特征,然后经过一个embedding 层将稀疏特征,变为稠密特征,最宠输出特征是由输入特征和embedding vector 相乘得到。
FM 特征交互如下:
y
^
F
M
(
x
)
=
w
0
+
∑
i
=
1
n
w
i
x
i
+
∑
i
=
1
n
<
v
i
,
v
j
>
x
i
x
j
\hat{y}_{FM}(x) = w_{0}+\sum_{i=1}^{n}w_{i}x_{i}+\sum_{i=1}^{n}<v_{i},v_{j}>x_{i}x_{j}
y^FM(x)=w0+i=1∑nwixi+i=1∑n<vi,vj>xixj
而NFM 中交互项:
y
^
N
F
M
(
x
)
=
w
0
+
∑
i
=
1
n
w
i
x
i
+
(
∑
i
=
1
n
∑
j
=
i
+
1
n
(
x
i
v
i
)
⊙
(
x
j
v
j
)
)
)
\hat{y}_{NFM}(x) = w_{0}+\sum_{i=1}^{n}w_{i}x_{i} + (\sum_{i=1}^{n}\sum_{j=i+1}^{n} (x_{i}v_{i}) \odot (x_{j}v_{j}) ) )
y^NFM(x)=w0+i=1∑nwixi+(i=1∑nj=i+1∑n(xivi)⊙(xjvj)))
后面紧着这是Bi-interaction 成,也就是NFM的核心,其将所有向量进行对应元素两两交叉相乘,然后将所有向量对应元素求和,最终pooling 成一个向量。之后是隐藏层,隐藏层是全连接的神经网络。用于进行特征高层次非线性交互学习。最后是预测层。