《推荐系统》-PNN模型

本文介绍了PNN(Product-based Neural Network)模型的原理和结构,包括Output Layer、L2、L1、Product Layer和Embedding Layer。重点解析了Product Layer,分为线性部分lz和非线性部分lp,以及如何通过Inner PNN (IPNN) 和 Outer PNN (OPNN) 进行特征交叉。PNN通过乘法操作更好地捕捉特征间的交互,常用于点击率预测。
摘要由CSDN通过智能技术生成

1、原理

PNN,全称为Product-based Neural Network,认为在embedding输入到MLP之后学习的交叉特征表达并不充分,提出了一种product layer的思想,既基于乘法的运算来体现体征交叉的DNN网络结构,如下图:
在这里插入图片描述
图1、Product-based Neural Network Architecture

按照论文的思路,我们也从上往下来看这个网络结构:

输出层

输出层很简单,将上一层的网络输出通过一个全链接层,经过sigmoid函数转换后映射到(0,1)的区间中,得到我们的点击率的预测值:
y ^ = σ ( W 3 l 2 + b 3 ) \hat{y} = \sigma (W_{3} l_{2} + b_{3} ) y^=σ(W3l2+b3)

l2层

根据l1层的输出,经一个全链接层 ,并使用relu进行激活,得到我们l2的输出结果:
l 2 = r e l u ( W 2 l 1 + b 2 ) l_{2} = relu(W_{2} l_{1} + b_{2} ) l2=relu(W2l1+b2)

l1层

l1层的输出由如下的公式计算:
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)

重点马上就要来了,我们可以看到在得到l1层输出时,我们输入了三部分,分别是lz,lp 和 b1,b1是我们的偏置项,这里可以先不管。lz和lp的计算就是PNN的精华所在了。我们慢慢道来:

Product Layer

product思想来源于,在ctr预估中,认为特征之间的关系更多是一种and“且”的关系,而非add"加”的关系。例如,性别为男且喜欢游戏的人群,比起性别男和喜欢游戏的人群,前者的组合比后者更能体现特征交叉的意义。

product layer可以分成两个部分,一部分是线性部分lz,一部分是非线性部分lp。二者的形式如下:
l z = ( l z 1 , l z 2 . . . l z n . . . l z D 1 ) , l z n = W z n ⊙ z l_{z} = (l_{z}^1 ,l_{z}^2 ...l_{z}^n ...l_{z}^{D1} ) , l_{z}^n = W_{z}^n \odot z lz=(lz1,lz2...lzn...lzD1),lzn=Wznz

l p = (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值