个性化新闻文章推荐的上下文Bandit方法
摘要
个性化web服务通过同时使用内容和用户信息,努力使其服务(广告、新闻文章等)适应单个用户。解决这个问题有两个挑战:
首先,web服务的特点是内容池的动态变化,使得传统的协同过滤方法不适用。第二,大多数实际感兴趣的web服务的规模需要学习和计算速度都很快的解决方案。
因此,我们将新闻文章的个性化推荐建模为一个上下文bandit问题,其中学习算法根据用户和文章的上下文信息顺序选择文章为用户服务,同时根据用户点击反馈调整文章选择策略,以最大限度地提高用户点击总量。
介绍
本文讨论了在最佳时间为单个用户确定最合适的基于web的内容的挑战。新闻过滤器必须及时识别突发新闻的受欢迎程度,同时还要适应现有的、老化的新闻故事的价值逐渐下降。通常很难仅基于内容信息对流行度和时间变化进行建模。在实践中,我们通常通过实时收集消费者的反馈来探索未知,以评估新内容的受欢迎程度,同时监控其价值的变化。例如,可以为此类勘探指定少量交通量。根据用户对这一小部分流量中随机选择的内容的响应(如点击),可以在剩余流量中识别和利用最流行的内容。这种策略,对一部分流量进行随机探索,对其余部分进行贪婪利用,称为贪婪策略。我们需要向新内容分配更多的流量,以更快地了解其价值,并减少跟踪现有内容时间变化的用户。
用户和内容都由一组功能表示,用户特征可能包括聚合级别的历史活动以及声明的人口统计信息,内容功能可能包含描述性信息和类别。在这种情况下,由于不同用户对同一内容的看法可能会有很大差异,因此必须在单个级别部署探索和利用。由于可能有大量可用的选择或操作,因此识别内容项之间的共性并在内容池中传递这些知识变得至关重要。
在许多基于web的场景中,内容世界经历了频繁的变化,内容受欢迎程度也随着时间的推移而变化。此外,大量游客可能是全新的,没有任何历史消费记录;这称为冷启动情况。因此,当用户兴趣和内容中的一个或两个都是新的时,了解它们之间的匹配性就变得必不可少。然而,获取此类信息可能代价高昂,并可能在短期内降低用户满意度,这就提出了一个最佳平衡两个相互竞争的目标的问题:从长远来看,最大限度地提高用户满意度,以及收集有关用户兴趣和内容之间匹配度的信息。上述问题实际上被称为基于特征的勘探/开发问题。在本文中,我们将其表述为上下文bandit问题,这是一种原则性方法,其中学习算法根据用户和文章的上下文信息顺序选择文章为用户服务,同时根据用户点击反馈调整文章选择策略,以最大限度地提高长期用户点击总量。我们定义了一个bandit问题,然后在第2节中回顾了一些现有的方法。然后,我们在第3节中提出了一个新的算法,LinUCB,它与最著名的算法具有相似的遗憾分析,用于与最佳线性预测器竞争,计算开销更低。我们还在第4节中讨论了离线评估的问题,表明当交互是独立的且分布相同时(即。我d、 ),对于不同的用户来说,这可能是一个合理的假设。然后,我们在第5节中使用这种离线评估策略测试我们的新算法和几个现有算法。
上下文bandit问题建模
该算法观察用户:
u
t
u_t
ut??,臂:
a
∈
A
t
a \in \mathcal{A}_t
a∈At??,以及臂和动作的特征向量:
X
t
,
a
X_{t,a}
Xt,a??(汇总用户和臂的信息被称为上下文)
根据之前试验中观察到的回报,A选择一个臂在
a
t
∈
A
t
a_t \in \mathcal{A}_t
at?∈At?,并收到回报
r
t
,
a
t
r_{t,a_t}
rt,at??,其期望值取决于
u
t
u_t
ut?和
a
t
a_t
at?
根据新的观察
(
X
t
,
a
,
a
t
,
r
t
,
a
t
)
(X_{t,a},a_t,r_{t,a_t})
(Xt,a?,at?,rt,at??)改进手臂选择策略。对于未闭合的臂
a
≠
a
t
a \ne a_t
a?=at?无反馈
r
t
,
a
t
r_{t,a_t}
rt,at??
在上述过程中,A的T-试验总回报定义为:
∑
t
=
1
T
r
t
,
a
t
\sum_{t=1}^T r_{t,a_t}
∑t=1T?rt,at??,最佳预期T-试验回报定义为:
E
[
∑
t
=
1
T
r
t
,
a
t
?
]
E[\sum_{t=1}^T r_{t,a^*_t}]
E[∑t=1T?rt,at???],
a
t
?
a^*_t
at??这是在试验t时预期收益最大的手臂。
我们的目标是设计一个能使上述预期总收益最大化的模型。等价地,我们可以找到一种算法,使其对最优手臂选择策略的遗憾最小化。这里,算法A的T-试验遗憾
R
A
(
T
)
R_A(T)
RA?(T)??正式定义为:
R
A
(
T
)
=
d
e
f
E
[
∑
t
=
1
T
r
t
,
a
t
?
]
?
E
[
∑
t
=
1
T
r
t
,
a
t
]
(
1
)
R_A(T) \xlongequal{def} E[\sum_{t=1}^T r_{t,a^*_t}] - E[\sum_{t=1}^T r_{t,a_t}] \quad\quad\quad\quad (1)
RA?(T)def
E[t=1∑T?rt,at???]?E[t=1∑T?rt,at??](1) 根据回报的定义,一篇文章的预期回报正是它的点击率(CTR),选择一篇CTR最大的文章相当于最大化用户的预期点击次数,这反过来又与最大化bandit公式中的总预期回报相同。
由于A的知识不精确,这个看似最优的手臂实际上可能是次优的。为了避免这种不希望出现的情况,A必须通过实际选择看似次优的手臂来探索,以便收集更多关于它们的信息。勘探可能会增加短期遗憾,因为可能会选择一些次优武器。获取有关武器平均收益的信息(可以改进A对武器收益的估计,进而减少长期遗憾。
LinUCB算法
假设手臂a的预期收益在具有未知系数向量
θ
a
?
\theta^*_a
θa??的d维特征
X
t
,
a
X_{t,a}
Xt,a?中是线性的。对于所有的t,
E
[
r
t
,
a
∣
X
t
,
a
]
=
X
t
,
a
T
θ
a
?
(
2
)
E[r_{t,a}|X_{t,a}] = X_{t,a}^T \theta^*_a \quad\quad\quad\quad\quad\quad\quad\quad(2)
E[rt,a?∣Xt,a?]=Xt,aT?θa??(2) 这种模型称为不相交模型,参数没有被不同臂分享。
D
a
D_a
Da?:实验t的一个
m
×
d
m\times d
m×d的设计矩阵(行对应于之前观察的文章a的m个上下文)。
b
a
∈
R
m
b_a\in \mathbb{R}^m
ba?∈Rm:用户点击与否的反馈。训练数据
(
D
a
,
c
a
)
(D_a,c_a)
(Da?,ca?)得到系数:
θ
^
a
=
(
D
a
T
D
a
+
I
d
)
?
1
D
a
T
c
a
\hat{\theta}_a = (D^T_a D_a + I_d)^{-1} D^T_a c_a
θ^a?=(DaT?Da?+Id?)?1DaT?ca?
I
d
I_d
Id?是
d
×
d
d\times d
d×d的单位矩阵。
c
a
c_a
ca?的组成部分是
D
a
D_a
Da???中独立于相对应的行,概率至少为
1
?
δ
(
δ
>
0
)
1-\delta(\delta>0)
1?δ(δ>0)?
上述不等式给出了a组预期收益的合理UCB,由此可得出UCB型arm选择策略:在每次试验t,选择:
A
a
=
d
e
f
D
a
T
D
a
+
I
d
A_a \xlongequal {def} D^T_a D_a + I_d
Aa?def
DaT?Da?+Id?
等式(5)中的arm选择标准也可以被视为收益估计和模型不确定性降低之间的加性权衡
混合模型建模
共享和非共享组件结合可以对arm的功能更有帮助,等式(2)右侧添加另一个线性项,采用以下混合模型:
E
[
r
t
,
a
∣
X
t
,
a
]
=
Z
t
,
a
T
β
?
+
X
t
,
a
T
θ
a
?
(
6
)
E[r_{t,a}|X_{t,a}] =Z^T_{t,a}\beta^* + X_{t,a}^T \theta^*_a \quad\quad\quad\quad\quad\quad\quad\quad(6)
E[rt,a?∣Xt,a?]=Zt,aT?β?+Xt,aT?θa??(6) 其中
Z
t
,
a
∈
R
k
Z_{t,a}\in\mathbb{R}^k
Zt,a?∈Rk是当前用户/文章组合的特征,
β
?
β^?
β?是所有手臂共有的未知系数向量。所有手臂共享
β
?
β^?
β?,不共享
θ
a
?
\theta^*_a
θa??。?
由于共享特征,各个臂的置信区间不是独立的。幸运的是,有一种有效的方法可以按照上一节中相同的推理路线计算UCB。推导过程严重依赖于块矩阵求逆技术。我们提出了新的混合模型算法LinUCB。
我们提出了一种易于实现、基于日志数据且无偏差的方法。
根据当前的历史记录
h
t
?
1
h_{t-1}
ht?1?,策略π选择与日志策略选择相同的臂a,然后事件添加到历史记录中,并更新总收益。否则,如果策略π选择了与日志策略所采用的不同的arm,那么该事件将被完全忽略,并且算法将继续处理下一个事件,而不会对其状态进行任何其他更改。请注意,由于日志策略随机均匀地选择每个arm,因此此算法保留每个事件的概率正好为1/K,与其他所有事件无关。这意味着保留的事件具有与D选择的事件相同的分布。因此,我们可以证明两个过程是等价的:第一个是针对来自D的T个真实事件评估策略,第二个是使用策略评估器对记录的事件流评估策略。
定理1:
对于上下文的所有分布D、所有策略π、所有T和所有事件序列
h
T
h_T
hT?:
其中S是从统一的随机日志策略和D中的
i
.
i
.
d
i.i.d
i.i.d绘制的事件流。从流中获得的用于收集长度为T的历史的事件的预期数量为
K
T
KT
KT。
这个定理说,在现实世界中,每一个历史都有与政策评估者相同的概率。因此,这些历史的许多统计数据,如算法3返回的平均回报
R
T
/
T
RT/T
RT/T,都是算法π值的无偏估计。此外,该定理指出,预期需要
K
T
KT
KT记录的事件来保留大小为
T
T
T的样本。
政策中的任何随机化都是独立于世界上的随机化的,我们只需要证明这是以历史为条件的?1每个过程在第t个事件中的分布是相同的。换句话说,我们必须表明:
由于
a
r
m
a
arm \quad a
arma是在日志策略中均匀随机选择的,因此对于任何策略、任何历史、任何功能和任何arm,策略计算器退出内部循环的概率都是相同的,这意味着这发生在最后一个事件中,最后一个事件的概率为
P
r
D
(
X
t
,
1
,
…
…
,
X
t
,
K
,
r
t
,
a
)
PrD(X_{t,1},……,X_{t,K},r_{t,a})
PrD(Xt,1?,……,Xt,K?,rt,a?)
由于流中的每个事件都以精确的1/K概率保留,因此重新定义事件所需的预期数量正好是KT。
|