NFM(Neural Factorization Machines):模型原理及pytorch代码实现_只想做个咸鱼的博客-CSDN博客F
FM稀疏数据预测的有效嵌入方法,,真实的数据内部往往内部数据结构非线性,或者更复杂,fm虽然能比较好的处理稀疏数据交互,但依然是一个线性模型,表达能力仍不是太好
NFM模型
改进使用一个表达能力更强的函数代替fm中二阶隐向量内积的部分,这个函数,可以用神经网络来充当,理论上神经网络可以拟合任意复杂能力的函数,这里吧f(x)换成了一个底层交叉的bi-interaction pooling,高层仍然使用dnn网络,得到最终的nfm网络,
最大的创新在于在embedding层与神经网络层中间加入了特征交叉池化,元素积操作,这一步交叉完了以后k个维度不求和,得到一个k维的向量
AFM模型原理及Pytorch代码复现_只想做个咸鱼的博客-CSDN博客
AFM是针对NFM不加区分的对待所有交叉特征,没有考虑率不同特征对于结果的影响程度,没有用的交叉特征可能会对结果产生噪声,
核心创新:不同特征交互向量在他们压缩为单个表示时根据对预测结果的影响程度给其加上不同权重,在进行求和。