论文Product-based Neural Network for User Response Prediction

推荐系统笔记7-Product-based Neural Networks for User Response Prediction 本文介绍Product-based Neural Networks for User Response Prediction(简称PNN),原文Paper链接。 摘要 本文和上次介绍的FNN一样,针对用户响应问题(如CTR、CVR等)建模,因为这类问题往往是类别型并且存在多个field,所以传统模型只能挖掘较浅的数据模式,且DNN不能直接用来处理高维稀疏输入(因特征空间过大),文章提出通过PNN来... 阅读详情

Multi-field Categorical Data会有多种不同的字段,比如:[Weekday=Wednesday, Gender=Male, City=London,…],那这样我们就比较难识别这些特征之间的关系。给大家举例一个直观的场景:比如现在有一个凤凰网站,网站上面有一个迪斯尼广告,那我们现在想知道用户进入这个网站之后会不会有兴趣点击这个广告,类似这种用户点击率预测在信息检索领域就是一个非常核心的问题。普遍的做法就是通过不同的域来描述这个事件然后预测用户的点击行为,而这个域可以有很多。那么什么样的用户会点击这个广告呢?我们可能猜想:目前在上海的年轻的用户可能会有需求,如果今天是周五,看到这个广告,可能会点击这个广告为周末做活动参考。那可能的特征会是:[Weekday=Friday, occupation=Student, City=Shanghai],当这些特征同时出现时,我们认为这个用户点击这个迪斯尼广告的概率会比较大。

传统的做法是应用One-Hot Binary的编码方式去处理这类数据,例如现在有三个域的数据X=[Weekday=Wednesday, Gender=Male, City=Shanghai],其中 Weekday有7个取值,我们就把它编译为7维的二进制向量,其中只有Wednesday是1,其他都是0,因为它只有一个特征值;Gender有两维,其中一维是1;如果有一万个城市的话,那City就有一万维,只有上海这个取值是1,其他是0。


那最终就会得到一个高维稀疏向量。但是这个数据集不能直接用神经网络训练:如果直接用One-Hot Binary进行编码,那输入特征至少有一百万,第一层至少需要500个节点,那么第一层我们就需要训练5亿个参数,那就需要20亿或是50亿的数据集,而要获得如此大的数据集基本上是很困难的事情。

FM、FNN以及PNN模型

因为上述原因,我们需要将非常大的特征向量嵌入到低维向量空间中来减小模型复杂度,而FM(Factorisation machine)——最有效的embedding model:

第一部分仍然为Logistic Regression,第二部分是通过两两向量之间的点积来判断特征向量之间和目标变量之间的关系。比如上述的迪斯尼广告,occupation=Student和City=Shanghai这两个向量之间的角度应该小于90,它们之间的点积应该大于0,说明和迪斯尼广告的点击率是正相关的。这种算法在推荐系统领域应用比较广泛。

那我们就基于这个模型来考虑神经网络模型,其实这个模型本质上就是一个三层网络:

它在第二层对向量做了乘积处理(比如上图蓝色节点直接为两个向量乘积,其连接边上没有参数需要学习),每个field都只会被映射到一个low-dimensional vector,field和field之间没有相互影响,那么第一层就被大量降维,之后就可以在此基础上应用神经网络模型。

我们用FM算法对底层field进行embeddding,在此基础上面建模就是FNN(Factorisation-machinesupported Neural Networks)模型:

模型底层先用FM对经过one-hot binary编码的输入数据进行embedding,把稀疏的二进制特征向量映射到dense real 层,之后再把dense real 层作为输入变量进行建模,这种做法成功避免了高维二进制输入数据的计算复杂度。

那我们把这些模型应用到iPinYou数据集上,模型效果如下所示:

那我们可以看出FNN的效果优于LR和 FM 模型。我们进一步考虑FNN与一般的神经网络的区别是什么?大部分的神经网络模型对向量之间的处理都是采用加法操作,而FM 则是通过向量之间的乘法来衡量两者之间的关系。我们知道乘法关系其实相当于逻辑“且”的关系,拿上述例子来说,只有特征是学生而且在上海的人才有更大的概率去点击迪斯尼广告。但是加法仅相当于逻辑中“或”的关系,显然“且”比“或”更能严格区分目标变量。

所以我们接下来的工作就是对乘法关系建模。可以对两个向量做内积和外积的乘法操作:

可以看出对外积操作得到矩阵而言,如果该矩阵只有对角线上有值,就变成了内积操作的结果,所以内积操作可以看作是外积操作的一种特殊情况。通过这种方式,我们就可以衡量两个不同域之间的关系。

在此基础之上我们搭建的神经网络如下所示:

首先对输入数据进行embedding处理,得到一个low-dimensionalvector层,对该层的任意两个feature进行内积或是外积处理就得到上图的蓝色节点,另外一种处理方式是把这些Feature直接和1相乘复制到上一层的Z中,然后把Z和P接在一起就可以作为神经网络的输入层,在此基础上我们就可以应用神经网络去模型了。

那么对特征做内积或是外积处理就会产生一个复杂度的问题:假设有60个域,那么把这些feature做内积处理,就会产生将近1000多个元素的矩阵(),如此就会产生一个很大的weight矩阵,那我们需要学习的参数就很多,那我们的数据集可能就满足不了这个要求。那接下来的做法就是:由于weight矩阵是个对称阵,我们可以用factorization来处理这个对称阵,把它转换为一个小矩阵乘以这个小矩阵的转置,这样就会大大减少我们所需要训练的参数:


我们应用的比较算法有:LR (Logistic regression)、FM(Factorisation machine)、FNN(Factorisation machinesupported neural network)、CCPM(Convolutional click prediction model)、PNN-I(Inner product neuralnetwork)、PNN-II(Outer product neural network)、PNN-III(Inner&outerproduct ensembled neural network)

测试了最佳的隐层层数,隐层层数并不是越多越好,层数过多的模型会出现过拟合效应,这个隐层数是跟数据集大小相关,一般而言数据集越大所需要的隐层就越多,我们这里模型显示的最佳隐层是3层:

对比了不同隐层节点的Activation Functions的效果,结果发现tanh 和 relu明显优于sigmoid。

 

小结

深度学习在多字段分类数据集上也能取得显著的应用效果;

通过内积和外积操作找到特征之间的相关关系;

在广告点击率的预测中,PNN效果优于其他模型。


Product-based Neural Networks 阅读详情

相关推荐

【推荐系统】Product-based Neural Networks for User Response Prediction

论文地址:Product-based Neural Networks for User Response Prediction 一、概述 Product-based Neural Networks(PNN)的特点如下: 直接从Embedding开始,而不需要预训练 使用product 层基于Embedding来学习特征之间的交互(包括内积和外积) 进一步通过FC来提取高阶特征模式 二、模型结构...

布纸所云 690

腾讯算法赛霸榜神技揭秘!(价值百万)

ONN: Operation-Aware Neural Network for User Response Prediction这是一篇价值百万的文章!为什么这么说呢?看看土豪腾讯赛的前...

Datawhale 658

推荐系统-PNN模型Product-based Neural Networks for User Response Prediction

模型结构 模型主要分为输入层、embedding 层、product 层、两个全连接层 输入层:每个特征域的one hot表示 embedding 层:将特征one hot转为embedding表示fn product 层:本文主要内容,主要进行特征交叉 后面主要讲解一下product层 主要计算过程如上,常规操作,不在赘述 product 层 product层分为两个部分,其中第一部分,每个特征域与1进行内积,zn = fn, pi,j 则是fi, fj的内积或者外积...

u012875855的博客 373

4.Product-based Neural Networks for User Response Prediction论文详细解读和代码实现

一、前言 现在推荐系统,网络搜索和在线广告的数据大多是分类的,并包含多个字段,有一个典型的方法将他们转化成高维稀疏二进制特征表示就是通过one-hot编码。对于这些高维稀疏的特征,传统模型可能会限制它们从数据中挖掘浅层模式的能力,即低阶组合特征,另一方面,像深度神经网络这样的深度模型由于巨大的特征空间而不能直接应用于高维输入。(浅层模型例如FM虽然可学习二阶特征交叉但是表达能力有限;而深层模型例如DNN虽然可以学习高阶信息,但是DNN本身并不具备学习特征交叉的能力(不同的field之间并无”且“的运算),而

zhaozhiwei314的博客 2511

【202503】Wan:开放且先进的大规模视频生成模型【1.3B、14B】【支持对无限长度视频进行稳定的Inference】【Wan中的主要计算开销来自注意力机制】

wan: Open and Advanced Large-Scale Video Generative ModelsWan:开放且先进的大规模视频生成模型Wan Team, Alibaba Group Wan 团队,Alibaba GroupThis report presents Wan, a comprehensive and open suite of video foundation models designed to push the boundaries of video generation

u013250861的博客 725

【信息科学与工程学】【数据中心】【智算中心】 第二十六篇 计费系统篇03-智算业务计费

动态批价与规则引擎的协同本质是 ​​“策略与执行解耦”+“实时上下文驱动”​​技术协同​:规则引擎定义业务逻辑(What),批价引擎执行计算(How),通过缓存、事件总线和动态注入实现高效联动;​架构演进​:从单体规则中心 → 微服务化 → 事件驱动分层,核心目标是提升扩展性、降低时延;​关键突破​:​实时性​:电信OCS通过规则引擎实现秒级信用控制;​灵活性​:电商将促销规则拆分为独立AO服务,避免单点故障;​精准性​:物流动态权重模型量化距离、燃油等因子,误差率<5%。

weixin_49199313的博客 1226

PNN

# !/usr/bin/env python # coding=utf-8 """ TensorFlow Implementation of &lt;&lt;Deep Learning over Multi-Field Categorical Data: A Case Study on User Response Prediction&gt;&gt; and &lt;&lt;Product-b...

zhangbaoanhadoop的博客 998

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 406

《Product-based Neural Networks for User Response Prediction》PNN模型的理解与python代码

1 原文 点击【原文】即可下载。 2 PNN PNN(Product-based Neural Network),认为在embedding输入到MLP之后学习的交叉特征表达并不充分,提出了一种product layer的思想,既基于乘法的运算来体现体征交叉的DNN网络结构,模型如图所示 PNN模型的输出: L2层输出: L1层输出: 其中,lzl_zlz​,lpl_plp​以及b1b_1b...

十三 1577

【信息科学与工程学】【数据科学】第一百五十五篇 数据集成与开发02

​。

weixin_49199313的博客 22

【信息科学与工程学】【通信工程】第一百五十五篇 网络拓扑学09

聚焦云数据中心(多region多AZ+多边缘DC)与城域网5G/6G网络一体化的拓扑学编号类型领域问题问题的数学分析(拓扑学+其他)参数列表及参数的数值范围关联知识A166图论/组合优化云原生数据湖如何用Apache Hudi的Timeline拓扑优化增量查询?​1. 拓扑学分析(详细): - 拓扑结构:Apache Hudi使用Timeline管理表的历史变更,Timeline是一个时间轴上的DAG。每个Instant(提交、 compaction、 cleaning等)是一个节点,节点之间按时间顺

weixin_49199313的博客 223

Product-based Neural Networks for User Response Prediction【论文记录】

PNN 注重特征的交叉,采用内积和外积,并连在一起,但都采取了降低复杂度的方法简便运算。 实际上 IPNN 在 Criteo 是最好的

Novelin的博客 352

ACM论文LaTeX模板解析(三)| 文章顶部信息(Top matter))Part 1

文章顶部信息(Top matter))Part 1,文章类型、作者信息等

FreshManInC的博客 4853

PNN网络(Product-based Neural Network)

1. 概述 PNN的全称是Product-based Neural Network,PNN的关键在于在embedding层和全连接层之间加入了Product layer。传统的DNN是直接通过多层全连接层完成特征的交叉和组合的,但这样的方式缺乏一定的“针对性”。首先全连接层并没有针对不同特征域之间进行交叉;其次,全连接层的操作也并不是直接针对特征交叉设计的。但在实际问题中,特征交叉的重要性不言而喻,比如年龄与性别的交叉是非常重要的分组特征,包含了大量高价值的信息,我们急需深度学习网络能够有针对性的结构能够表

null的专栏 1万+

用PY32F003F18的PWM互补输出驱动无刷电机,保姆级配置流程(含代码)

本文详细介绍了如何利用PY32F003F18微控制器的TIM1定时器配置PWM互补输出功能来驱动三相无刷电机,涵盖硬件设计、代码实现及六步换相算法。通过保姆级配置流程和实用代码示例,帮助开发者快速掌握无刷电机驱动技术,适用于工业自动化和消费电子等领域。

weixin_26905487的博客 379

特征提取 Features Extraction

介绍了特征提取的基本概念,从分类变量,文本信息和图片信息中进行特征提取的方法,以及实现特征提取的类库

JasonH2021的博客 1万+

推荐系统(九)PNN模型(Product-based Neural Networks)

PNN模型(Product-based Neural Networks)和上一篇博客介绍的FNN模型一样,都是出自交大张伟楠老师及其合作者,这篇paper发表在ICDM'2016上,是个CCF-B类会议,这个模型我个人基本上没听到过工业界哪个公司在自己的场景下实践过,但我们依然可以看看这篇paper的成果,也许能为自己的业务模型提供一些参考借鉴意义。PNN是通过引入product(可以是内积也可以是外积)来达到特征交叉的目的。

天泽28的专栏 9190

unity6000.0.3版本URP下ScriptableRendererFeature如何实现一张自定义贴图效果?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 585

深度学习在CTR中的应用

一、资料 目前的很多资料均是基于张伟楠的FNN模型,但还没有很大规模的应用。 另一种是google提出的wide & deep learning模型,主要用于推荐,美团的文章中也有介绍。 Deep Learning over Multi-Field Categorical Data: A Case Study on User Response Prediction

jediael_lu的专栏 7523

含分布式电源的配电网三段式电流保护影响仿真研究

文章摘要 本文研究了分布式电源(DG)接入对配电网三段式电流保护的影响。通过在Matlab/Simulink平台搭建含同步发电机型DG的10kV配电网模型,设计了基于傅里叶算法的三段式电流保护模块(I段瞬时速断、II段限时速断、III段定时限过流)。研究分析了不同DG接入位置、容量及故障点对保护系统的影响机理。仿真结果表明,DG接入会改变故障电流特性,可能导致三种典型问题:保护范围扩大引起误动、保护灵敏度下降导致拒动,以及保护选择性丧失。该研究为含DG配电网的保护配置与整定提供了理论依据和仿真参考,对保障分

huanghm88的专栏 269

手把手完整实现STM32+LORA组网网关+机智云平台+手机APP应用———第一节- 一主多从的LORA本地组网通信-实现从机采集温湿度与主机显示数据

本教程为《手把手实现STM32+LORA组网网关+机智云平台+手机APP应用》第一节。实现一个主机,两个从机的LORA组网通信。两个从机采集温湿度数据并通过LORA传输数据到主机,然后主机接收到两个从机数据后进行数据显示,本节通过PC串口助手显示两个从机的数据。 下一节将其主机接收的数据通过WIFI网关(ESP8266)传到机智云平台与手机APP。 本文讲解一主多从的LORA本地组网通信,串口助手进行数据展示。使用硬件主要包括:STM32F103C8T6最小系统板(3个)、正点原子LORA模块ATK-L

嵌入式阿齐Archie 1万+

Product-based Neural Network (PNN) 介绍与源码浅析

Product-based Neural Network (PNN) 介绍与源码浅析 前言 继续介绍论文~ 本文初看的时候有些懵逼, 多看几次总算有些 Get 到了, 总结一下. Product-based Neural Network (PNN) 文章信息 论文标题: Deep Interest Network for Click-Through Rate Prediction 论文地址: https://arxiv.org/abs/1611.00144 代码地址: https://github.com/

珍妮的选择的博客 1445

工业级稳定!C# 实现 Modbus RTU 多设备并发通信实战

摘要:本文提出一种基于C#的Modbus RTU多设备并发通信方案,解决工业自动化中单线程通信的串口抢占、数据阻塞等问题。采用任务队列+线程安全锁+异步调度的三层架构,实现16台及以上RTU设备的稳定并发读写。方案包含串口管理单例、Modbus通信核心和任务调度层,支持超时重试、异常捕获等工业级容错机制。通过NModbus库和.NET框架,提供可直接用于工业现场的代码实现,已在工控项目中长期验证,有效提升多设备通信效率和稳定性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 581

20篇最值得一读的深度推荐系统与CTR预估论文

作者 |深度传送门转载自深度传送门(ID: gh_5faae7b50fc5)微博上近日流传一个段子,“2020年曾是各大科幻片中遥远的未来,但是现在离这个遥远的未来也...

AI科技大本营 3502

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 850

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

从ctr预估问题看看f(x)设计—DNN篇

转自:https://zhuanlan.zhihu.com/p/28202287 把DNN引入ctr预估无非看重两点: 一,改进模型结构,提高“信息利用率”,发现高阶非线性特征,挖掘以前挖不到潜在模式,比如DIN引入attention机制;一般来说Embedding+MLP是标配。 二,扩充“信息量”,把图片/文本这类不好处理的数据利用起来,比如DeepCTR; #0 RoadMa

Bryan__的专栏 7298

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: AUC用于二分类为啥比accuracy更常用?
下一篇: ubuntu安装pycharm
fredinators
博客等级 码龄11年 10粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值