05-《Product-based Neural Networks for User Response Prediction》

1. PNN

Product-based Neural Networks,简称PNN,由上海交通大学在2016年提出。用于CTR预测。

PNN,使用embedding layer学习categorial data的分布式表示;使用product layer去捕获interfield categories的交叉模式;使用connected laye去探索高阶特征交叉。

在此之前,DNN在分类和回归任务中有很好的性能。

DNN可以自动学习更有表现力的特征表示,并提供很好的预测性能。基于连接的embedding vector基础上,建立MLPs可以探索特征交叉。但是DNN存在两个问题:(1)嵌入的初始化的质量在很大程度上受到因子分解机的限制;(2)感知器层的“add”操作对于探索多个字段中categorical数据的交叉可能不是很有用。

有工作已经证明,不同fields的特征依赖关系,可以通过特性向量“product”操作而不是“add”操作来有效探索。

通过在product layer使用inner product和outer product,文章提出了两种PNN模型:IPNN,OPNN。

                                                    

一些定义:

我们使用D_{i}表示第i个隐藏层的维度。

内积公式:

Input

首先,原始样本数据是多类别的categorial数据,如用户信息(City,Hour),出版社信息(Domain,Ad slot),广告信息(Ad create ID,Campania ID)等。这些数据都需要经过one-hot编码,变成特征向量(feature vector ),即Filed1,Fidld2等等。

EMbedding Layer

特征向量输入进该层,得到embedding vector。Feature1就代表着Field1的嵌入向量。我们称Featrue1为f_{1},Feature2为f_{2}.

   f_{i} \in \mathbb{R}^{M}。x是Input中的ont-hot 特征向量。

Product Layer

    

 

通过嵌入层提供的“1”,这样一个常量信号,该层不仅可以产生二次信号p,还能生成线性信号z。

我们可以看到,z中的每一个向量元素,其实就是上一层嵌入向量,即复制,它没有经过任何改变。p_{i,j},代表这特征交叉,g函数可以有不同的实现方式。之前提到的IPNN和OPNN,就是分别将g函数设为内积和外积。

Hidden Layer 1

该层的输入包括的线性信号l_{z}以及二次线性l_{p}。 l_{z},l_{p},b_{1} \in \mathbb{R}^{D_{1}},

Hidden Layer 2

l_{1} \in \mathbb{R}^{D_{1}}, W_{2}\in \mathbb{R}^{1\times D_{1}},b_{2} \in \mathbb{R}

CTR

\hat y\in (0,1),\sigma (x)=1/( 1+e^{-x} ),l_{2} \in \mathbb{R}^{D_{2}}, W_{3}\in \mathbb{R}^{1\times D_{2}},b_{3} \in \mathbb{R}

损失函数

2. Inner Product-based Neural Network

IPNN中定义product layer的特征交叉为向量内积g(f_{i},f_{j})=<f_{i},f_{j}>。我们可以知道,此时的P是一个N*N的矩阵,Z是N*M的矩阵。

l_{z}^{n}=W_{z}^{n}\bigodot z=\sum_{i=1}^{N}\sum_{j=1}^{M}(W_{z}^{n})_{i,j}z_{i,j}

l_{p}^{n}=W_{p}^{n}\bigodot p=\sum_{i=1}^{N}\sum_{j=1}^{N}(W_{p}^{n})_{i,j}p_{i,j}

那么,L1层公式,其空间复杂度为O(D1*N*(M+N)),其时间复杂度为O(N*N(D1 +M)).

我们可以学习FM的思想,通过矩阵分解来降低复杂度:。那么:

   

 

如此,时间复杂度就变成了D1*M*N。

3. Outer Product-based Neural Network

OPNN,在product layer以向量外积作为特征交叉,生成的交叉项p_{i,j}是一个矩阵(在IPNN中是一个数字),维度是M*M。

g_{i,j} =f_{i}f_{j}^{T}

为了减少负责度,论文使用了叠加的思想,它重新定义了p矩阵:

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值