推荐系统(一)-PNN模型

1、背景

在预估模型中,DNN往往是基线模型,也有这强大的特征交叉和非线性表达能力。但是丰富的先验知识,比如特征之间的交叉并不能够简单的通过DNN来学习。所以才有了FM/FFM等模型,来显式的学习模型的特征交叉能力。PNN,全称为Product-based Neural Network,认为在embedding输入到MLP之后学习的交叉特征表达并不充分,提出了一种product layer的思想,既基于乘法的运算来体现体征交叉的DNN网络结构,如下图:


PNN模型

2、动机

相对于FNN只引入FM作为初始化向量,后面使用DNN而言,提升特征交叉的表达能力。

3、方案

通过在Embedding和DNN之间引入Product Layer(内积/外积)来提高交叉特征的表达能力。

主要是在于Product Layer的计算,包括两部分,l_{z} l_{p} ,其中l_{z} 代表这embedding以后直接concat, 而l_{p} 代表着,embedding向量两两之间进过inner-product或者outer-product计算。

同时也经过一层线性变换,用来学习特征之间的维度交叉,和维度调整。

product layer

4、总结

和FNN相比,PNN多了一个product层,和FM相比,PNN多了隐层,并且输出不是简单的叠加;在训练部分,可以单独训练FNN或者FM部分作为初始化,然后BP算法应用整个网络,那么至少效果不会差于FNN和FM。

5、参考文献

https://www.jianshu.com/p/be784ab4abc2

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容