小红书推荐算法
一、ESMM (Entire Space Multi-Task Model)
ESMM(Entire Space Multi-Task Model)是一种用于解决推荐系统中多任务学习问题的模型。它由阿里巴巴团队提出,主要用于处理点击率(CTR)和转化率(CVR)的联合预测问题。
1.1. 背景
在推荐系统中,CTR和CVR是两个重要的指标:
- CTR(Click-Through Rate):用户点击广告的概率。
- CVR(Conversion Rate):用户点击广告后完成转化的概率。
传统的CVR预测模型存在两个主要问题:
- 样本选择偏差(Sample Selection Bias):CVR模型只在点击样本上训练,而实际应用中需要在全样本空间(包括未点击样本)上进行预测。
- 数据稀疏性(Data Sparsity):点击样本远少于曝光样本,导致CVR模型训练数据稀疏。
1.2. ESMM模型结构
ESMM通过多任务学习的方式同时建模CTR和CVR,解决了上述问题。其模型结构包括两个主要任务:
- CTR任务:预测用户点击广告的概率。
- CTCVR任务:预测用户点击并转化广告的概率。
1.3. 损失函数
ESMM的损失函数由CTR和CTCVR两个任务的损失组成:
L
(
θ
)
=
∑
i
=
1
N
l
(
y
i
,
f
(
x
i
)
)
+
∑
i
=
1
N
l
(
z
i
,
g
(
x
i
)
)
L(\theta) = \sum_{i=1}^{N} l(y_i, f(x_i)) + \sum_{i=1}^{N} l(z_i, g(x_i))
L(θ)=i=1∑Nl(yi,f(xi))+i=1∑Nl(zi,g(xi))
其中:
- l l l 是交叉熵损失函数。
- f ( x i ) f(x_i) f(xi) 是CTR任务的预测值。
- g ( x i ) g(x_i) g(xi) 是CTCVR任务的预测值。
1.4. 优点
- 解决样本选择偏差:通过在全样本空间上训练CTCVR任务,避免了样本选择偏差。
- 缓解数据稀疏性:CTR任务的丰富数据有助于CVR任务的学习,缓解了数据稀疏性问题。
- 联合建模:CTR和CVR任务共享底层特征表示,提高了模型的泛化能力。
1.5. 应用场景
ESMM广泛应用于推荐系统、广告投放等领域,特别是在需要同时优化点击率和转化率的场景中。
二、广告定价公式
广告定价是广告系统中的核心环节,涉及多种定价模型和策略。定价公式的选择取决于广告类型、投放目标和市场竞争情况。以下是一些常见的广告定价公式及其应用场景。
2.1. CPM(Cost Per Mille,千次展示成本)
- 定义:广告主为每千次广告展示支付的费用。
- 公式:
CPM = 总广告费用 总展示次数 × 1000 \text{CPM} = \frac{\text{总广告费用}}{\text{总展示次数}} \times 1000 CPM=总展示次数总广告费用×1000 - 应用场景:品牌广告,以提高品牌曝光为主要目标。
2.2. CPC(Cost Per Click,每次点击成本)
- 定义:广告主为每次用户点击广告支付的费用。
- 公式:
CPC = 总广告费用 总点击次数 \text{CPC} = \frac{\text{总广告费用}}{\text{总点击次数}} CPC=总点击次数总广告费用 - 应用场景:效果广告,以引导用户点击为主要目标。
2.3. CPA(Cost Per Action,每次行动成本)
- 定义:广告主为每次用户完成特定行动(如下载、注册、购买等)支付的费用。
- 公式:
CPA = 总广告费用 总行动次数 \text{CPA} = \frac{\text{总广告费用}}{\text{总行动次数}} CPA=总行动次数总广告费用 - 应用场景:效果广告,以转化率为主要目标。
2.4. CPS(Cost Per Sale,每次销售成本)
- 定义:广告主为每次销售支付的费用。
- 公式:
CPS = 总广告费用 总销售次数 \text{CPS} = \frac{\text{总广告费用}}{\text{总销售次数}} CPS=总销售次数总广告费用 - 应用场景:电商广告,以直接销售为主要目标。
2.5. oCPM(Optimized CPM,优化千次展示成本)
- 定义:基于广告效果的优化版CPM,系统根据广告主的转化目标动态调整出价。
- 公式:
oCPM = CPM × 优化系数 \text{oCPM} = \text{CPM} \times \text{优化系数} oCPM=CPM×优化系数- 优化系数由广告效果(如点击率、转化率)决定。
- 应用场景:效果广告,兼顾曝光和转化。
2.6. 第二价格拍卖(Second Price Auction)
- 定义:广告主出价最高者赢得广告位,但只需支付第二高出价的价格。
- 公式:
实际支付价格 = max ( 第二高出价 , 保留价 ) \text{实际支付价格} = \max(\text{第二高出价}, \text{保留价}) 实际支付价格=max(第二高出价,保留价)- 保留价是平台设定的最低价格。
- 应用场景:实时竞价(RTB)广告。
2.7. Vickrey-Clarke-Groves (VCG) 拍卖
- 定义:一种多物品拍卖机制,广告主支付的价格等于其对其他广告主造成的“机会成本”。
- 公式:
支付价格 = 社会总成本(无广告主参与) − 社会总成本(其他广告主参与) \text{支付价格} = \text{社会总成本(无广告主参与)} - \text{社会总成本(其他广告主参与)} 支付价格=社会总成本(无广告主参与)−社会总成本(其他广告主参与) - 应用场景:复杂的多广告位竞价场景。
2.8. 动态定价(Dynamic Pricing)
- 定义:根据实时市场供需、用户行为和竞争情况动态调整广告价格。
- 公式:
动态价格 = 基础价格 × 供需系数 × 竞争系数 \text{动态价格} = \text{基础价格} \times \text{供需系数} \times \text{竞争系数} 动态价格=基础价格×供需系数×竞争系数- 供需系数:根据当前流量和广告主需求调整。
- 竞争系数:根据竞争对手出价调整。
- 应用场景:实时竞价(RTB)和程序化广告。
2.9. 混合定价模型
- 定义:结合多种定价模型(如CPM+CPC),根据广告主目标和平台策略灵活调整。
- 公式:
混合价格 = α × CPM + β × CPC + γ × CPA \text{混合价格} = \alpha \times \text{CPM} + \beta \times \text{CPC} + \gamma \times \text{CPA} 混合价格=α×CPM+β×CPC+γ×CPA- α , β , γ \alpha, \beta, \gamma α,β,γ 为权重系数,根据广告主目标和平台策略设定。
- 应用场景:综合广告投放,兼顾曝光、点击和转化。
三、损失函数扩大十倍和学习率扩大十倍影响一样吗?如果优化器选Adam呢?
这道题可以直接根据损失函数的公式来,见【搜广推校招面经十三】
- 在梯度下降法中,损失函数扩大十倍等价于将学习率扩大十倍
- 在 Adam 优化器下:
- 损失函数扩大十倍:影响不仅限于梯度扩大十倍,还会通过 Adam 的自适应机制进一步调整。
- 学习率扩大十倍:直接影响参数更新量,但由于 Adam 的自适应特性,影响可能不如梯度下降法明显。
- 两者影响不完全相同:损失函数扩大十倍和学习率扩大十倍在 Adam 优化器下的影响并不完全等价
四、MAP(最大后验概率)与似然函数的关系
最大后验概率(Maximum A Posteriori, MAP)和似然函数(Likelihood Function)是统计学和机器学习中常用的两种参数估计方法。它们之间有着密切的关系,主要体现在贝叶斯框架下的参数估计过程中。
4.1. 基本概念
(1)似然函数(Likelihood Function)
- 定义:似然函数衡量在给定参数下,观察到当前数据的概率。
- 公式:
L ( θ ∣ X ) = P ( X ∣ θ ) L(\theta | X) = P(X | \theta) L(θ∣X)=P(X∣θ)- X X X:观测数据。
- θ \theta θ:模型参数。
- P ( X ∣ θ ) P(X | \theta) P(X∣θ):在参数 θ \theta θ 下,数据 X X X 的条件概率。
- 最大似然估计(Maximum Likelihood Estimation, MLE)
- 目标:找到使似然函数最大化的参数
θ
\theta
θ:
θ MLE = arg max θ P ( X ∣ θ ) \theta_{\text{MLE}} = \arg\max_{\theta} P(X | \theta) θMLE=argθmaxP(X∣θ)
- 目标:找到使似然函数最大化的参数
θ
\theta
θ:
(2)最大后验概率(Maximum A Posteriori, MAP)
-
定义:MAP 估计在贝叶斯框架下,结合了似然函数和先验分布,找到使后验概率最大化的参数。
-
公式:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) P(\theta | X) = \frac{P(X | \theta) P(\theta)}{P(X)} P(θ∣X)=P(X)P(X∣θ)P(θ)- P ( θ ∣ X ) P(\theta | X) P(θ∣X):后验概率。
- P ( θ ) P(\theta) P(θ):参数的先验分布。
- P ( X ) P(X) P(X):数据的边缘概率(通常为常数,可以忽略)。
-
MAP 估计:
θ MAP = arg max θ P ( θ ∣ X ) = arg max θ P ( X ∣ θ ) P ( θ ) \theta_{\text{MAP}} = \arg\max_{\theta} P(\theta | X) = \arg\max_{\theta} P(X | \theta) P(\theta) θMAP=argθmaxP(θ∣X)=argθmaxP(X∣θ)P(θ)
4.2. MAP 与似然函数的关系
从贝叶斯公式看关系
- MAP 估计可以看作是对 MLE 的扩展,引入了先验分布
P
(
θ
)
P(\theta)
P(θ):
θ MAP = arg max θ P ( X ∣ θ ) P ( θ ) \theta_{\text{MAP}} = \arg\max_{\theta} P(X | \theta) P(\theta) θMAP=argθmaxP(X∣θ)P(θ)- 当先验分布
P
(
θ
)
P(\theta)
P(θ) 是均匀分布时,MAP 估计退化为 MLE:
θ MAP = arg max θ P ( X ∣ θ ) = θ MLE \theta_{\text{MAP}} = \arg\max_{\theta} P(X | \theta) = \theta_{\text{MLE}} θMAP=argθmaxP(X∣θ)=θMLE
- 当先验分布
P
(
θ
)
P(\theta)
P(θ) 是均匀分布时,MAP 估计退化为 MLE:
4.3. 直观理解
- MLE:仅基于观测数据,寻找最可能生成数据的参数。
- MAP:在 MLE 的基础上,结合了参数的先验知识,寻找最可能的后验参数。