1. 项目概述
在实时流失预测领域,我们经常面临一个核心矛盾:如何让模型既能快速响应近期行为变化,又能保持严格的时间因果性。传统方法通常只使用最后一步的隐状态表示进行预测,这相当于将所有历史信息压缩到单点表示中,难以区分近期和久远历史的不同重要性。
Recency机制正是为解决这一矛盾而设计。它通过引入"带时间偏置的加权汇聚"机制,让模型能够动态调整对不同时间步的关注程度。这种方法不仅保持了严格因果性(预测时不使用未来信息),还能让不同预测周期(如K25、K50、K100)学习各自的时间敏感度参数。
关键创新点:Recency不是简单地增加对近期行为的关注,而是通过可学习的γ_k参数,让每个预测周期自主决定其时间敏感度。这使得短周期预测可以更关注近期变化,而长周期预测则能保持对整体趋势的把握。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心设计原理
2.1 传统方法的局限性
传统实时流失预测模型通常采用以下架构:
python复制h_t = causal_encoder(x_1,...,x_t) # 因果编码器
logit_k = head_k(h_t) # 分类头
这种方法存在两个主要问题:
- 所有历史信息被压缩到h_t这一个向量中,难以区分不同时间步的重要性
- 模型对行为变化的响应速度受限于编码器的记忆能力
2.2 Recency的核心思想
Recency机制的创新在于:
- 不再仅使用最后一步的h_t,而是对完整历史序列h_1...h_t进行加权汇聚
- 权重计算结合了内容相关性和时间相关性
- 每个预测周期(k)学习独立的权重参数γ_k
数学表达上,Recency的计算流程为:
code复制c_{t,k} = ∑_{i≤t} a_{t,k,i} h_i
logit_{t,k} = head_k(c_{t,k})
其中a_{t,k,i}是第k个预测周期在第t步时对历史步i的注意力权重。
3. 数学实现细节
3.1 权重计算的三阶段
Recency的权重计算包含三个关键步骤:
- 内容分数计算:
code复制其中w_k和b_k是可学习参数,表示第k个预测周期对内容特征的偏好。s_{k,i} = w_k^T h_i + b_k
2
