ESMM模型与ESM2模型总结

ESSM模型

2018 阿里妈妈 SIGIR
原文链接:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate

该论文基于Multi-Task Learning 的思路,提出一种新的CVR预估模型,有效解决了真实场景中CVR预估面临的数据稀疏以及样本选择偏差这两个关键问题。

  • Sample Selection Bias (SSB):转化是在点击之后才“有可能”发生的动作,传统CVR模型通常以点击数据为训练集,其中点击未转化为负例,点击并转化为正例,即训练时模型在点击空间中训练。但是训练好的模型实际使用时,则是对整个空间的样本进行预估,即曝光空间中进行预估。训练数据与实际要预测的数据来自不同分布,这一定程度上违背了机器学习中独立同分布的假设,这个偏差对模型的泛化能力构成了很大挑战。
  • Data Sparsity (DS) :作为CVR训练数据的点击样本数量远小于CTR预估训练使用的曝光样本。

在这里插入图片描述

在广告中,从点击到转化,这两个行为即具有强相关的链式关系,也具有一定的独立性,故使用多任务学习的方式是一个很好的选择。例如,CTR与CVR并不一定满足线性的关系,即CTR如果很低,其CVR并不一定低,因为CVR的预估的是在一个广告点击后,用户发生转化行为的概率。

点击(CTR)、转化(CVR)、点击然后转化(CTCVR)是三个不同的任务的关系:
在这里插入图片描述

模型结构

在这里插入图片描述
由CTCVR的公式可以看出,CTCVR和CTR的训练数据均在曝光空间中,故ESMM模型利用CTCVR和CTR间接得到CVR,即解决了数据选择性偏差又解决了数据稀疏的问题。

其实,通过公式的变化,我们可以通过除法来求得CVR,如下所示:
在这里插入图片描述
即我们分别训练一个CTCVR模型和CTR模型,然后两者相除就能得到CVR的结果,但事实上我们并不能用这样的方式,因为CTCVR和CTR都是很小的值,通过除法,结果波动性会很大,并且有可能模型得到的CTR值比CTCVR小,导致求出的CVR值大于1,没有实际意义。

故作者利用连乘的思路,增加CTR和CTCVR辅助任务,来间接训练CVR模型。在模型结构图中,PCVR节点是粉色的,代表该节点仅是网络中的一个variable,没有显示的监督信号。ESMM利用ctr和CTCVR在整个样本空间上训练,来间接求得CVR。其次,与CTR共享特征表示参数,解决数据稀疏问题。

LOSS函数

在这里插入图片描述

使用CTR和CTCVR两部分的loss进行训练,其中pCTCVR由pCTR乘pCVR得到。

由损失函数可以看出,CVR的参数根据CTCVR任务的损失梯度更新,CTR的参数根据CTCVR和CTR两个任务的损失梯度更新。


ESM2模型

阿里 ESMM的升级版 2020年
原文链接:Entire Space Multi-Task Modeling via Post-Click Behavior Decomposition for Conversion Rate Prediction

ESMM模型提出为了解决样本选择偏差以及数据稀疏两个问题,由于从点击到购买的样本还是非常的少,故ESMM模型仍然面临一定的数据稀疏问题。
E S M 2 ESM^2 ESM2基于ESMM进行改进,进一步解决数据稀疏问题。

在这里插入图片描述
挖掘用户行为,发现用户在购买前往往会有其他的行为,比如把想要购买的物品加入购物车或者心愿单。如下图所示:
在这里插入图片描述
加入心愿单/购物车的数据相较购买数据还是比较多的,因此可以基于这部分数据,通过多任务学习模型来求解CVR模型。如图所示,文中把加入购物车或者心愿单此类行为称作Deterministic Action (DAction) ,而其他对购买相关性不是很大的行为称作Other Action(OAction) 。此时原来的 Impression→Click→Buy过程变成了更加丰富的Impression→Click→DAction/OAction→Buy过程。

E S M 2 ESM^2 ESM2模型基于Impression→Click→DAction/OAction→Buy过程来建模CVR预估问题。

模型结构

在这里插入图片描述
模型共有四个任务,分别为:

  • y1:点击率
  • y2:点击到发生DAction的概率
  • y3:发生DAction到购买的概率
  • y4:发生OAction到购买的概率

因为DAction和OAction是对立事件,故未对从点击到OAction的概率进行建模。

CVR = (1 - y2) * y4 + y2 * y3

上述的四个子任务,其用的样本相同的,在整个样本空间中进行训练。

输入首先经过共享嵌入模块(Shared Embedding Module (SEM))转换为对应的嵌入向量,随后通过四个独立的MLP分别预估y1、y2、y3和y4。

LOSS

模型训练的LOSS是三个子LOSS的加权之和:

CTR:
在这里插入图片描述
CTAVR:
在这里插入图片描述
CTCVR:
在这里插入图片描述
LOSS:
在这里插入图片描述

ESM(Efficient Spatial Modeling)模型,通常用于地理信息系统(GIS)中,特别是空间数据分析和预测应用。839c5b82c6cd9e18baa7a88dcbed3bd4b6d48e47这个特定的标识符看起来像是一个预训练模型或者版本号,它可能是某个开源库如GeoPandas、scikit-learn等提供的空间数据处理模块。 使用这样的模型步骤大致如下: 1. **安装依赖**:首先需要确保已经安装了支持ESM的Python库,比如pandas、geopandas、sklearn等。如果还没有安装,可以使用pip进行安装: ``` pip install geopandas scikit-learn ``` 2. **加载模型**:加载839c5b82c6cd9e18baa7a88dcbed3bd4b6d48e47这个模型,这通常涉及到导入相关的模型类并实例化: ```python from esm_model_library import ESM839Model model = ESM839Model() ``` 注意,实际操作中,可能需要查看文档确认具体的加载方式,因为每个模型都有其特定的初始化方法。 3. **准备数据**:确保数据集是地理空间相关的,比如包含经纬度信息的点、线、面数据。可能还需要对数据进行预处理,如清理缺失值、编码分类变量等。 4. **模型应用**:调用模型的`fit`和`predict`方法进行训练和预测。例如: ```python model.fit(X_train, y_train) # 使用训练数据拟合模型 predictions = model.predict(X_test) # 对测试数据进行预测 ``` 5. **评估结果**:根据预测结果和实际数据评估模型性能,如计算精度指标(如R²、MAE等)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值