CTR模型:推荐系统DeepFM模型

2023-10-15 13:18
文章标签 系统 推荐 模型 deepfm ctr

本文主要是介绍CTR模型:推荐系统DeepFM模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.简介

理解用户点击行为背后隐藏的交叉特征对CTR预估非常重要。
比如, 人们在用餐时间下载送餐APP,也就是APP类别和时间戳的交叉特征可以作为CTR预估的信号。

由于用户点击行为背后的特征之间各种交互非常复杂,其中的低阶交叉特征和高阶交叉特征都能发挥重要的作用。

下面简单介绍之前的FM模型如何构建交叉特征:

FM模型
在这里插入图片描述
使用向量内积作为成对的特征交互;虽然FM可以对特征高阶交互进行建模,但是复杂度高,一般就二阶特征交互。

FM模型利用低阶特征交叉,DNN模型利用高阶特征交叉,Deep&Wide网络的wide端需要专业的特征工程。

理论上,FM模型可以建模任意高阶的交叉特征,但是代价太大了;
基于CNN的模型倾向捕捉相邻特征之间的交互,而点击率预估任务的相邻特征之间并没有显著的相关性。
基于RNN的模型更适合具有顺序依赖性的数据,不适合点击率预估任务的特征。
PNN和FNN模型,和DNN模型一样,智能捕捉高阶的交叉特征,几乎捕捉不到低阶的交叉特征。

因此,DeepFM模型在2017年被提出。该模型结合了FM的推荐能力和DNN的特征学习能力,综合利用了低阶交叉特征和高阶交叉特征。特点有:
(1)DeepFM集成了FM和DNN,可以对低阶交叉特征和高阶交叉特征建模;
(2)Wide部分和Deep部分共享输入以及Embedding,没有特征工程。

2.DeepFM模型

数据集 ( χ , y ) (\chi, y) (χ,y),X 可以是类别特征(如,性别,地址),也可以是连续特征(如,年龄)。类别特征使用one-hot编码表示,连续特征保持不变或者使用离散化后的one-hot编码向量。
每个样本表示为:(x,y)
其中,

在这里插入图片描述
x 高维且极度稀疏。

2.1 FM 组件

在这里插入图片描述
FM,用于学习一阶特征和二阶交叉特征。
FM由两种操作组成:加法 和 内积。
在这里插入图片描述
加法单元(<w,x>)反映一阶特征的重要性,内积计算表示二阶特征交叉。

2.2 Deep组分

在这里插入图片描述

Deep组件是一个全连接的前馈神经网络,用于学习高阶特征交互。
在这里插入图片描述
在这里插入图片描述

2.3 模型整体
在这里插入图片描述

在这里插入图片描述

2.3 模型比较

FNN:用到FM模型,但仅使用FM模型来初始化FNN,然后进行微调模型,使得FNN的Embedding层参数严重受制于FM模型,降低模型的效果。
此外,FNN仅捕捉高阶特征交互,与此相比,DeepFM不需要预训练,而是端到端的学习低阶交互和高阶特征交互。

PNN:OPNN不如IPNN可靠,因为外积的近似计算丢失了大量信息,使得结果不稳定。
IPNN虽然更可靠,但是由于product层的输出连接到第一个隐层的所有神经元,所以计算复杂度较高。IPNN和OPNN会忽略低阶特征交互。
DeepFM中的product层(FM组件)的输出仅仅连接到输出层(只有1个神经元),计算复杂度很低。

Wide&Deep: Wide & Deep 可以对低阶特征和高阶特征同时建模,但是 wide部分需要人工特征工程。
DeepFM直接处理原始特征。

在这里插入图片描述

在这里插入图片描述

3. 实验结果

(1)数据集
Criteo Display Ads 数据集:用于预测广告点击率的数据集,包含13个整数特征,26个类别特征,其中每个类别特征的取值集合(即:cardinality )都很大。

数据包含 7 天的 11 GB 用户日志(约 4100万条记录)。我们将数据集拆分为 90% 训练集和 10%测试集。

华为公司数据:从华为 App Store 的游戏中心收集连续 7 天的用户点击数据作为训练集,第八天的数据作为测试集。整个训练集+测试集约10亿条记录。

(2)评估指标
评估指标 AUC,logloss 。
(3)参数配置
在这里插入图片描述
模型训练效率:

在这里插入图片描述

效果:
在这里插入图片描述
评估激活函数:relu比tanh要好,但IPNN除外,可能原始是relu导致很强的稀疏性。

在这里插入图片描述
评估dropout:dropout从0.6 到0.9,
在这里插入图片描述
这是,0.9的比例丢弃吗,很高啊?

评估deep组件的深度:
在这里插入图片描述
评估网络的形状:
在这里插入图片描述


参考:

  1. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction;
  2. ctr模型汇总;

这篇关于CTR模型:推荐系统DeepFM模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217962

相关文章

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应