前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >华为 | LTV预测:基于对比学习的多视角模型

华为 | LTV预测:基于对比学习的多视角模型

作者头像
秋枫学习笔记
发布2024-03-06 12:33:42
2720
发布2024-03-06 12:33:42
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

标题:Contrastive Multi-view Framework for Customer Lifetime Value Prediction 地址:https://arxiv.org/pdf/2306.14400.pdf 公司:华为

1 引言

本文是华为提出用于客户生命价值预测(LTV)的对比学习多视角网络(CMLTV),主要针对目前存在的LTV预估方法采用单视角建模导致准确度低和知识提取存在偏差的问题。本文提出的多视角网络优点在于:1.即插即用的模块,兼容大部分基准网络;2.集成多个具有互补知识的异构LTV回归器,以提高模型的鲁棒性;3.通过对比学习捕捉样本之间的相关性,减轻对数据丰富性的依赖

2 方法

2.1 问题定义

用u和i分别表示用户和特定产品/服务,给定u和i的特征,LTV预估的目标是估计特定时间跨度T内(例如30天)u对i支付的金额。如果用户u在T内没有购买i,相对应的周期内LTV标签为0;如果T内有过多次购买行为,则相对应的LTV值则为价值总和。模型对历史交易数据进行学习后,预测未来的LTV值,作为下一步行动(例如投放广告)的决策和参考

2.2 CMLTV框架

整体的GMLTV框架如下图所示,当每个batch的训练样本到达时,首先使用多视角LTV预估模型得到用户的购买概率和多个LTV回归结果,接着对batch中的样本应用混合对比学习策略,捕获样本间的内在相关性

2.2.1 多视角LTV预估

多视角LTV预估模块使用不同特征的异构回归器来从多个方面来分析输入样本,定义样本的特征为x,首先,通过基础的特征表征模型来学习输入特征的交互得到隐式特征表征h,注意到此框架并不限制基础特征模型,可以使用各种现成的结构来实现,例如 MLP、DeepFM、DCN 和 DCNv2等。接着使用分类器得到用户的购买概率:

\begin{aligned} {\text{h}}_{\text{p}} = \text{ReLU}(W_{p}h + \text{b}_{p}) \\ \hat{p} = \sigma(w_p h_p + b_p) \\ \end{aligned}

由于是个二分类任务,因此使用交叉熵损失

L_p = -zlog\hat{p} - (1-z)log(1-\hat{p})

然后以多视图的方式估计每个样本的支付金额。框架中包含三种不同类型的回归器。第一个是基于分布的回归器,旨在通过精心设计的概率模型来近似真实的 LTV 分布。尽管可以用任何概率分布来近似,不过作者根据实际效果,推荐对数正态分布和伽马分布。定义标准化概率密度函数f(x),由变量参数

\theta

决定,变量参数由显示特征h学习得到

\begin{aligned} h_{\theta} = ReLU(W_{d} h + \text{b}_{d}) \\ \theta' = w_{d} h_{d} + b_{d} \\ \theta = \log[1 + \exp(\theta')] \end{aligned}

分布回归器的损失是由f(x)给出的概率密度的负对数似然,公式如下

L_l = -log[1+exp(\theta')]

其中y是样本的LTV标签,这个损失函数的优化过程是让模型找到更好的

\theta

来参数化f(x),从而最大化训练样本的LTV概率密度。在测试阶段,使用从每个样本获得的

\theta

参数化的分布f(x)的期望作为预测。本文使用伽马分布来实例化函数f(x)。因此,变量

\theta

是一个包含形状参数和速率参数两个元素的向量,预测的LTV分数是它们相除的结果。

第二个是基于对数的回归器,旨在对数尺度上预估LTV分数,LTV原始值可以从0到百万级别,但是取对数后差异很小,更适合神经网络来处理,此回归器的输出为:

\text{h}_l = ReLU(W_l h + b_l) \\ \hat{y}_l = ReLU(w_l h_l + b_l)

损失函数使用的是MSE,标签加1的处理是为了保证非负性

L_l = (\hat{y}_l - \lg(1 + y))^2

第三个是基于分类的回归器,它首先将回归任务转换为分类问题,然后根据每个的类概率重建实值分数作为最终预测。由于 LTV 分布通常是长尾的,因此可以使用对数运算将整个范围分为几个分类桶。为保留更细粒度的数值信息,本文使用以2为底的对数而不是更大的底数进行分箱。具体而言,LTV 标签y对应的类标签c获取如下:

c = \lfloor \log_2(1 + y) \rfloor

类别向量

\hat{y}_c

的预测如下

\begin{aligned} h_{c} = ReLU(W_{c} h + b_{c}) \\ \hat{y}_{c} = \text{Softmax}(V_{c} h_{c} + v_{c})\\ \end{aligned}

多分类损失使用的是多分类交叉熵函数

L_{c} = - \sum_{i=1}^{C} c_{i} \log \hat{y}_{c}^{i}

此回归器输出的最终LTV预测值为

\hat{y}_c^{\prime}=\sum_{i=1}^C \frac{\left(2^i-1+2^{i+1}-2\right)}{2} \hat{y}_c^i=\sum_{i=1}^C \frac{\left(2^i+2^{i+1}-3\right)}{2} \hat{y}_c^i

这样将期望值作为LTV预测结果,其中每个分桶的中心用于表示其期望的LTV值

2.2.2 混合对比学习

混合对比学习机制旨在在同一个批次的样本之间建立有机联系,以更好地挖掘出有限训练数据的信息。假设一个批次中有k个样本。它们预测的购买概率和三种类型的LTV分数分别表示为

[\hat{p}_1, \dots, \hat{p}_N], [\hat{y}_1, \dots, \hat{y}_N], [\hat{y}'_1, \dots, \hat{y}'_N], [\hat{y}''_1, \dots, \hat{y}''_N]

受到BPR损失的启发,通常假定正样本的购买概率大于负样本。然而直接比较每对样本是不可行的,因为噪声样本可能会误导模型生成低质量的对比组合,这对模型优化是不利的。但平均而言正样本应该比负样本具有更高的购买倾向。因此首先计算正样本和负样本的平均购买概率,分别表示

\hat{p}_{+}

\hat{p}_{-}

。本文设计了一个分类对比损失来对比正负样本的平均购买概率:

L^{c} = - \log \sigma \left[ \sigma^{-1}( \hat{p}_+ ) - \sigma^{-1}( \hat{p}_- ) \right]

其中

\sigma^{-1}

表示sigmoid函数的逆函数。受到先前工作的启发,假设具有更高LTV的用户可能也具有更高的购买概率。提出了一种回归对比学习方法来规范回归结果,使其与预测的购买概率正相关。以基于分布的回归器输出的分数为例来详细说明这个过程。其对应的回归对比损失:

L_{d}^{r} = - \frac{1}{K^2} \sum_{i=1}^{K} \sum_{j=1}^{K}( \hat{p}_i - \hat{p}_j )[\lg(1 + \hat{y}_{d,i}) - \lg(1 + \hat{y}_{d,j})]

这里使用以10为底的对数来控制对比损失的规模。类似地可计算得到另外两个回归器的对比损失

L_{l}^{r}

L_{c}^{r}

。通过这种方式,同一个批次中不同样本之间的相关性被明确地编码到模型学习中,同时分类和回归部分通过这些损失自然地连接起来,以便它们编码的知识可以交换和共享。

2.3 模型训练和预测

训练过程中,最终的损失为各部分损失的组合

L= L^{c} + L_{d}^{r} + L_{l}^{r} + L_{c}^{r} + \sum_i [L_p(i)] + \sum_{y_i>0}[L_d(i) + L_l(i) + L_c(i)]

其中二元分类损失和对比损失是在所有样本上计算的,而回归损失仅在正样本上计算。这是因为严重的数据不平衡会损害回归模型的准确性。模型收敛之后,使用多视角LTV预估的每个部分组合得到最终结果

\hat{y} = \hat{p} \cdot [\alpha \hat{y}_{d} + \beta \hat{y}_l + (1 - \alpha - \beta ) \hat{y}_{c}]

其中,

\alpha

\beta

为超参,根据业务规则选择

3 实验结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 引言
  • 2 方法
    • 2.1 问题定义
      • 2.2 CMLTV框架
        • 2.2.1 多视角LTV预估
        • 2.2.2 混合对比学习
      • 2.3 模型训练和预测
      • 3 实验结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档