首页 > 其他分享 >推荐广告中的延迟转化

推荐广告中的延迟转化

时间:2023-05-05 15:48:10浏览次数:33  
标签:Pr 样本 mid 建模 转化 广告 operatorname 延迟

背景

在推荐尤其是广告中,一个用户的正反馈不是马上就发生的,可能过了一段时间后才发生。如商品的购买、游戏中的付费行为,常常是发生在点击广告后的几天之后。这样导致了模型训练时不知道一个样本是不是真的负样本。其中一个朴素的解决方法时等待一个固定的时间窗口,超过这个时间窗口还没回传转化的样本都看作负样本,但是这样做的缺点是:如果时间窗口设的太短会丢失大量的正例,时间窗口设的太长模型的时效性有损。

 

解决方案

1. 建模回流分布

Criteo在《Modeling Delayed Feedback in Display Advertising》中提出一种延迟转化转化建模的方案,基本思想是用一个模型建模正样本的回流分布,用这个分布来纠偏主模型

先作出以下定义:

X:特征集合
Y∈{0,1}:观测到的样本(转化是否已经发生)
C∈{0,1}:转化最终是否会发生
r:正例回流比例Pr(Y=1|C=1)

那么观测到的负样本的概率可以表示为:

$$\operatorname{Pr}(Y=0,C=1 \mid X) =  \operatorname{Pr}(C=1 \mid X)  \operatorname{Pr}(Y=0 \mid C=1, X)$$ $$\operatorname{Pr}(Y=0,C=0 \mid X) =  \operatorname{Pr}(C=0 \mid X)  \operatorname{Pr}(Y=0 \mid C=0, X)$$

其中:

$$\operatorname{Pr}(Y=0 \mid C=1, X) = 1-r$$ $$\operatorname{Pr}(Y=0 \mid C=0, X) = 1$$

综上:

$$\operatorname{Pr}(Y=0 \mid X)= p_i (1-r) + (1-p_i) = 1-rp_i$$

观测到的正样本的概率可以表示为:

  $$\operatorname{Pr}(Y=1 \mid X)= \operatorname{Pr}(Y=1,C=0 \mid X)+\operatorname{Pr}(Y=1,C=1 \mid X)= \operatorname{Pr}(Y=1 \mid C=1,X) \operatorname{Pr}(C=1 \mid X)= rp_i$$

根据极大似然估计可以得到loss为:

$$Loss=-\sum_{i \in \text { positives }} \log(rp_i) - \sum_{i \in \text { negatives }} \log(1-rp_i)$$   建模回流分布的方法理论上可以很好的解决延迟转化的问题,但是实际中存在以下几个问题: 1. 由于需要建模回流分布,增加资源开销 2. 回流分布的预测是个回归任务,回归任务的难度一般比分类任务的难度大,通常会转为分类任务来预测

标签:Pr,样本,mid,建模,转化,广告,operatorname,延迟
From: https://www.cnblogs.com/xumaomao/p/17374314.html

相关文章

  • C#运输符和转化类型
    constdoublePAI=3.14;//常量PAI=3;枚举:internalclassProgram{staticvoidMain(string[]args){Gendergender=Gender.Male;Console.WriteLine(gender);Console.WriteLine((int)ge......
  • 批处理中setlocal enabledelayedexpansion 变量延迟(转)
    本质上是因为批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行)在一行中即使是使用变量赋值也是无作用的,使用才有了变量延迟https://www.jb51.net/article/29323.htm ......
  • 14、MySQL复制延迟原因及解决办法
    复制延迟原因:写入速度超过了复制速度解决办法:1、升级到mysql5.7以上版本,开启GTID功能,主库可以并发事务,支持并发传输及并行多个SQL线程2、减少大事务,将大事务拆分成小事务减少锁(和开发相关)3、sync_binlog=1加快binlog更新时间,从而加快日志复制只要事务一提交,立即写日志(默认......
  • 广告数据分析
    为了准备一个广告营销方向的数据分析,买了本书来看,也看了不少文章和推送,来doc一下。terminology什么是信息流广告信息流广告是一种与内容混排在一起的广告,又叫原生广告。它被称为最不像广告的广告,长得最像内容的广告。如果你不留意在它们周围出现的“推广”、“广告”字样,可能你......
  • Atcoder Grand Contest 059 E - Grid 3-coloring(转化+思维)
    首先先是一步很猛的操作——将三染色视作构造一个矩阵使得相邻元素相差\(1\)且每个元素\(\bmod3\)的值就等于其颜色。证明是显然的,我们按从上到下从左到右的顺序填数,可以归纳证明,对于一个相邻格子颜色互不相同的矩阵的填数方案,处于斜对角的两个格子上写的数要么差\(2\),要么......
  • rabbitmq 延迟队列_Delayed Message 插件实现 RabbitMQ 延迟队列
    延迟队列是为了存放那些延迟执行的消息,待消息过期之后消费端从队列里拿出来执行。作者简介:五月君,NodejsDeveloper,慕课网认证作者,热爱技术、喜欢分享的90后青年,欢迎关注Nodejs技术栈(id:NodejsRoadmap)和Github开源项目 https://www.nodejs.redDLX+TTL方式存在的时序问......
  • 时间转化Fri Apr 07 11:43:24 +0800 2022
    原格式:FriApr0711:43:24+08002022灵感:获取微博某时间段到...之间的内容转化格式:2022-04-07#实现importdatetimedate_str="FriApr0711:43:24+08002022"date=datetime.datetime.strptime(date_str,"%a%b%d%H:%M:%S%z%Y")formatted_date=date.str......
  • RabbitMQ 实现消息队列延迟
    1.概述要实现RabbitMQ的消息队列延迟功能,一般采用官方提供的rabbitmq_delayed_message_exchange插件。但RabbitMQ版本必须是3.5.8以上才支持该插件,否则得用其死信队列功能。2.安装RabbitMQ延迟插件检查插件使用rabbitmq-pluginslist命令用于查看RabbitMQ安装的插件。rabbitmq-pl......
  • RabbitMQ 实现消息队列延迟
    1.概述要实现RabbitMQ的消息队列延迟功能,一般采用官方提供的rabbitmq_delayed_message_exchange插件。但RabbitMQ版本必须是3.5.8以上才支持该插件,否则得用其死信队列功能。2.安装RabbitMQ延迟插件检查插件使用rabbitmq-pluginslist命令用于查看RabbitMQ安装的插件。rabb......
  • 字符串的转化_1
    字符串(str/string)1.转换大小写:.upper/.lowervalue="alexshaobing"new_value=value.upper()#将value转换成大写,并形成新的值print(value,new_value)value="alexSHAOBING"#将value转换成小写,并形成新的值new_value=value.lower()print(value,new_value)#......