Product-based Neural Networks for User Response Prediction

ctr预估

PNN

其中底层为embedding+乘积层,embedding层由FM初始化(见FNN),从参数规模考虑embedding_size选择了10,隐层深度选择了3层,乘积层由lz和lp组成,


product layer

lz是embedding feature,lp是interaction embedding feature

对特征做内积或是外积处理就会产生一个复杂度的问题:假设有60个域,那么把这些feature做内积处理,就会产生将近1800个元素的矩阵,如此就会产生一个很大的weight矩阵,那我们需要学习的参数就很多,那我们的数据集可能就满足不了这个要求。那接下来的做法就是:由于weight矩阵是个对称阵,我们可以用factorization来处理这个对称阵,把它转换为一个小矩阵乘以这个小矩阵的转置,这样就会大大减少我们所需要训练的参数(下图为inner product,对于outer product么只需要简单的把f的内积替换为外积,对外积操作得到矩阵而言,如果该矩阵只有对角线上有值,就变成了内积操作的结果,所以内积操作可以看作是外积操作的一种特殊情况。):


Factorization

在两个数据集上比较的结果:

Evaluation

其中pnn*即在product layer串联内外积。

总结:总的来说模型的特点就在于乘积层,传统神经网络中还是难以提取乘积特征,而在大规模类别特征中这一特性又显得尤为重要,因此通过乘积层手工interact各field特征也就理所当然。通过矩阵分解减少combination引起的海量interaction feature也算是一个点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容