Multi-Armed Bandit--基于时变多臂老虎机的在线上下文感知推荐
Online Context-Aware Recommendation with Time Varying Multi-Armed Bandit
基于时变多臂老虎机的在线上下文感知推荐
摘要
为了预测给定特定情境下每只手臂的奖励,现有的相关研究通常假设存在一个固定但未知的奖励映射函数。然而,这种假设在实践中很少成立,因为现实世界中的问题往往涉及到随时间动态演变的底层过程。本文研究了奖励映射函数随时间变化的时变上下文多臂问题。特别地,我们提出了一个基于粒子学习的动态上下文漂移模型。在该模型中,奖赏映射函数上的漂移被显式地建模为一组随机游动粒子,其中选择好的拟合粒子来动态地学习映射。利用粒子学习的完全自适应推理策略,我们的模型能够有效地捕捉上下文变化并学习潜在参数。实验结果还表明,我们的算法可以动态跟踪随时间变化的奖励,从而提高点击率。
解决的问题
对于推荐系统来说,识别消费者偏好和目标项目之间的适当匹配是相当困难的
①冷启动问题:因为大量用户/项目可能对系统来说是全新的,也就是说,他们可能根本没有消费历史。
②商品内容的流行度和消费者偏好都随着时间的推移而动态变化。例如,一部电影的受欢迎程度通常在第一次发行后持续飙升一段时间,然后逐渐消失。同时,用户兴趣可能会随着时间的推移而变化。
Multi-Armed Bandit:多臂老虎机
在推荐系统中,需要考虑两个相互竞争的目标之间的权衡:使用消费历史最大化用户满意度,同时收集新信息以提高用户偏好和项目之间的匹配度。推荐算法根据每次试验时的上下文信息确定选择要拉动的手臂的策略。拉动手臂表示建议使用相应的项目。当项目与用户首选项匹配时(例如。G点击推荐的新闻文章或广告),获得奖励;否则,就没有回报。奖励信息反馈给算法,以优化策略。最佳策略是在每次试验中根据上下文信息以最大预期奖励拉动手臂,然后在整个试验系列中最大化总累积奖励。
现有的算法面临的问题
将上下文信息作为输入,并假设在相同的上下文中奖励是不变的,预测每个手臂的预期奖励。然而,这一假设在实践中很少成立,因为现实世界中的问题往往涉及一些随时间动态演变的潜在过程,并且并非所有潜在的影响因素都包含在上下文信息中。因此,即使上下文信息不变,手臂的预期奖励也是时变的。
例如:点击率(缩写,CTR)和新闻文章分别对应于奖励和手臂。随机选择五篇新闻文章,上下文由用户和文章信息组成。尽管每篇文章的上下文信息没有变化,但其平均CTR随时间动态变化,如图1所示。相同的上下文信息可能在不同的时间对CTR产生不同的影响。
图1:给定每篇文章相同的上下文信息,雅虎五篇新闻文章的平均CTR分布!新的知识库被展示。CTR是每小时合计的。
本文提出的方法
本文提出了一种基于粒子学习的动态上下文漂移模型,并开发了有效的在线推理算法,以捕获上下文多臂老虎机问题中奖励的时变行为。奖赏的动态行为被明确地建模为一组随机行走粒子。粒子学习的完全自适应推理策略使我们的模型能够有效地捕捉上下文变化并学习潜在参数。
多臂老虎机问题的核心任务是平衡勘探和开采之间的权衡。
其中一个实例:上下文信息用多臂选择,应用于个性化推荐中。现有的算法利用上下文信息来预测每个手臂的预期奖励,并假设奖励在相同上下文下是不变的。然而,这种假设在实际应用中很少成立。本文提出了一个上下文漂移模型,通过考虑奖励的动态行为来处理上下文多武装土匪问题。
时序在线推理
我们提出的模型利用顺序在线推理来推断潜在状态和学习未知参数。流行的顺序学习方法包括顺序蒙特卡罗采样和粒子学习。序贯蒙特卡罗(SMC)方法由一组蒙特卡罗方法组成,用于解决滤波问题。它提供了一套基于仿真的后验分布计算方法。这些方法允许推断一般状态空间模型中的完全后验分布,这可能是非线性和非高斯的。粒子学习在一类一般的状态空间模型中提供状态滤波、顺序参数学习和平滑。粒子学习是根据一大类状态空间模型的参数不确定性来近似滤波和平滑分布序列。粒子学习背后的核心思想是创建一种粒子算法,该算法在完全自适应重采样传播框架内,直接从粒子近似到状态的联合后验分布和固定参数的条件充分统计进行采样。我们借用了粒子学习的思想来进行潜态推理和参数学习。
问题表述及建模
Important Notations
漂移模型框架图:
图2:随机变量表示为一个圆。填充灰色的圆圈表示观察到相应的随机变量红点表示超参数。
基本概念和术语
上下文多臂问题涉及有限但可能未知的时间范围TTT上的一系列决策
策略π\piπ在时间t∈[1,T]t\in[1,T]t∈[1,T]做出决定选择KKK个臂中的一个臂π(xt)\pi(x_t)π(xt)。根据上下文信息xtx_txt拉动所选臂,策略π\piπ从所选臂得到奖励。在时间ttt臂aka^kak的奖励表示为rk,tr_{k,t}rk,t。rk,tr_{k,t}rk,t从呈现给臂aka^kak的上下文所确定的未知分布中提取。不拉动手臂,则得到的奖励不可用。
策略π\piπ的奖励:
Rπ=∑t=1Trπ(xt)R_\pi = \sum_{t=1}^Tr_{\pi(x_t)} Rπ=t=1∑Trπ(xt)
策略π\piπ的目标是最大化RπR_\piRπ。在某时间ttt选择一只手臂之前,通过学习一个模型,根据历史观察结果Sπ,t−1={(xi,π(xi),rπ(xi))1≤i<t}S_{\pi,t-1} = \{(x_i,\pi(x_i),r_{\pi(x_i)})1\le i<t\}Sπ,t−1={(xi,π(xi),rπ(xi))1≤i<t}(Sπ,t−1S_{\pi,t-1}Sπ,t−1由一系列三元组组成),预测每只手臂的奖励。奖励预测有助于策略π做出增加总奖励的决策。
假设手臂aka^kak的奖励为yk,ty_{k,t}yk,t:yk,t=fa(k)(xt)y_{k,t} = f_{a^(k)}(x_t)yk,t=fa(k)(xt)
上下文xtx_txt为输入,fa(k)f_{a^(k)}fa(k)为手臂aka^kak的奖励映射函数。
fa(k)(xt)=xtTwk+εkf_{a^(k)}(x_t) = x^T_t w_k + \varepsilon_k fa(k)(xt)=xtTwk+εk
xtTx^T_txtT为上下文信息xtx_txt的转置,wkw_kwk为d维系数向量,
εk\varepsilon_kεk为方差:σk2σ^2_kσk2的零均值高斯噪声 εk∼N(0,σk2)\varepsilon_k∼ N(0, σ^2_k)εk∼N(0,σk2)
可得:
yk,t∼N(xtTwk,σk2)y_{k,t} \sim N(x^T_t w_k, σ^2_k) yk,t∼N(xtTwk,σk2)
在时间ttt观察到的上下文信息xtx_txt。预测的奖励yk,ty_{k,t}yk,t取决于随机变量xt,wk,σk2x_t,w_k,\sigma^2_kxt,wk,σk2。对随机变量wk,σk2w_k,\sigma^2_kwk,σk2定义一个共轭先验分布NIGNIGNIG(即正逆态伽马分布。超参:µw,Σw,α,βµ_w,Σw, α, βµw,Σw,α,β需要预定义)
wk∣σk2∼N(μw,σk2Σw)w_k|\sigma^2_k\sim N(\mu_w,\sigma^2_kΣ_w) wk∣σk2∼N(μw,σk2Σw)
σk2∼Ig(α,β)\sigma^2_k\sim Ig(α, β) σk2∼Ig(α,β)
策略π根据奖励预测模型选择一个手臂a(k)a^{(k)}a(k)来拉动。在时间ttt拉动手臂a(k)a^{(k)}a(k)后,观察到相应的奖励rk,tr_{k,t}rk,t,而其他手臂的奖励仍然隐藏。得到了一个新的三元组,并通过结合Sπ,t−1S_{π,t-1}Sπ,t−1形成了一个新的序列Sπ,tS_{π,t}Sπ,t。Sπ,tS_{π,t}Sπ,t给出的σk2\sigma^2_kσk2和wkw_kwk为NIGNIGNIG分布。把时间t−1t-1t−1时NIGNIGNIG分布的参数表示为µwt−1,∑wt−1,αt−1,βt−1µ_{w_{t−1}},∑_{w_{t−1}},α_{t−1},β_{t−1}µwt−1,∑wt−1,αt−1,βt−1,时间ttt的超参数更新如下:
本文采用的bandit算法
Thompson sampling
主要思想是根据给定环境下手臂给出最大预期回报的概率随机分配拉动机会。
LinUCB
本算法时UCBUCBUCB算法的扩展。它拉动臂最大化分数LinUCB(λ)LinUCB(\lambda)LinUCB(λ):
LinUCB(λ)=xtTμwt−1+λ1σkxtT∑wt−1−1xtLinUCB(\lambda) = x^T_t\mu_{w_{t-1}} + \lambda \frac{1}{\sigma_k}\sqrt{x^T_t\sum^{-1}_{w_{t-1}}x_t} LinUCB(λ)=xtTμwt−1+λσk1xtTwt−1∑−1xt
λ是一个参数,用于组合奖励的期望值和标准偏差。LinUCB和Thompson采样都将被纳入我们的动态上下文漂移模型中。
动态上下文漂移建模
系数向量wk,tw_{k,t}wk,t包括静止分量cwkc_{w_k}cwk和漂移分量δwkδ_{w_k}δwk,两个分量都是d维向量。
1.静止分量cwkc_{w_k}cwk由共轭先验分布生成。
中µc,∑cµ_c,∑_cµc,∑c预定义的超参数如图2b所示。
给定相同的上下文,一些文章的CTR变化很快,而一些文章可能具有相对稳定的CTR。此外,上下文特征中不同元素的系数可以随不同的尺度而变化。为了简化推论,我们假设δwkδ_{w_k}δwk的每个元素独立漂流。由于漂移的不确定性,我们使用标准高斯随机游动ηk,tη_{k,t}ηk,t和标度变量θkθ_kθk,通过以下等式计算δ:
δwk=θk⊙ηk,tδ_{w_k} = θ_k \odot η_{k,t} δwk=θk⊙ηk,t
标准高斯随机游动:ηk,t∼N(μθ,σk2∑θ)η_{k,t}\sim N(\mu_\theta,\sigma^2_k ∑_\theta)ηk,t∼N(μθ,σk2∑θ)
μθ,∑θ\mu_\theta,∑_\thetaμθ,∑θ是预定义的超参,σk2\sigma^2_kσk2取自IG分布
综上所有公式可得:
yk,t∼N(xtT(cwk+θk⊙ηk,t),σk2)y_{k,t} \sim N(x^T_t(c_{w_k} + θ_k \odot η_{k,t}),\sigma^2_k) yk,t∼N(xtT(cwk+θk⊙ηk,t),σk2)
新的上下文漂移模型在图2b中以图形模型表示。与图2a中的模型相比,新模型中引入了标准高斯随机游动ηkη_kηk,以及每个臂a(k)a^{(k)}a(k)对应的尺度θkθ_kθk。新模型考虑到实际应用中奖励的动态行为,明确地规定了奖励预测系数的漂移。在新模型中,cwkc_{w_k}cwk的每个元素值表示其对应特征在预测奖励中的贡献,而θkθ_kθk的元素值表示上下文漂移的尺度用于预测奖励。θkθ_kθk的较大元素值表示随着时间的推移,相应特征发生了较大的上下文漂移。
在线推断方法。
本节,我们将介绍上下文漂移模型的在线推断方法
后验分布推断涉及四个随机变量,根据图2b分成两类
θk,cwk,σk2θ_k,c_{w_k},\sigma^2_kθk,cwk,σk2为参数随机变量,因为它们被假定为固定但未知的,且不随时间改变
ηk,tη_{k,t}ηk,t为潜在状态随机变量,因为它是不可观测的,与时间相关。
我们的目标是推断潜在参数变量和潜在状态随机变量,以顺序拟合观测数据。由于推理部分依赖于生成潜在状态变量的随机游动,我们使用了蒙特卡罗抽样,粒子滤波,粒子学习学习参数和状态随机变量的分布。
用权重重新采样粒子
在时间t−1t-1t−1每个a(k)a^{(k)}a(k)包括一组固定的粒子pk,t−1p_{k,t-1}pk,t−1,粒子数为ppp。臂a(k)a_{(k)}a(k)第iii个粒子为pk,t−1(i)p^{(i)}_{k,t-1}pk,t−1(i)。
每个粒子pk,t−1(i)p^{(i)}_{k,t-1}pk,t−1(i)有一个权重ρ(i)\rho^{(i)}ρ(i)表示其在时间ttt观测数据的适应的。每个粒子pk,t−1(i)p^{(i)}_{k,t-1}pk,t−1(i)的适应度为观察到数据xt和rk,tx_t和r_{k,t}xt和rk,t的可能性:
ρ(i)∝P(xt,rk,t∣pk,t−1(i))\rho^{(i)} \propto P(x_t,r_{k,t}|p^{(i)}_{k,t-1}) ρ(i)∝P(xt,rk,t∣pk,t−1(i))
进一步可得ρ(i)\rho^{(i)}ρ(i)与预测值yk,ty_{k,t}yk,t成比例,结合yk,ty_{k,t}yk,t的计算公式可得:
状态变量ηk,t,ηk,t−1η_{k,t},η_{k,t-1}ηk,t,ηk,t−1由于它们随时间的变化而被积分,θk,cwk,σk2θ_k,c_{w_k},\sigma^2_kθk,cwk,σk2从pk,t−1(i)p^{(i)}_{k,t-1}pk,t−1(i)中得到然后我们得到:
ρ(i)∝N(mk,Qk)\rho^{(i)} \propto N(m_k,Q_k) ρ(i)∝N(mk,Qk)
mk=xtT(cwk+θk⊙ηk,t)m_k = x^T_t(c_{w_k} + θ_k \odot η_{k,t}) mk=xtT(cwk+θk⊙ηk,t)
更新参数前用基于粒子权重的pk′p_{k}'pk′代替pkp_{k}pk。
潜在状态推理
可看这篇文章卡尔曼滤波
根据新观测值和时间t−1t-1t−1的充分统计量(平均值:μηk\mu_{η_{k}}μηk,协方差:ΣηkΣ_{η_{k}}Σηk)采用Kalman滤波递归更新ηk,tη_{k,t}ηk,t,即得更新之后的充分统计量:
GkG_kGk为Kalman增益定义的:
则借助于对状态随机变量ηkη_kηk的充分统计,可以从高斯分布中得出:
ηk,t∼N(μηk′,Σηk′)η_{k,t} \sim N(\mu_{η_k}',Σ_{η_k}') ηk,t∼N(μηk′,Σηk′)
参数推断
zt,μ,vz_t,\mu,vzt,μ,v是2维向量,∑\sum∑是2×22\times 22×2的矩阵。据时间t−1t-1t−1的充分统计量和新的观测数据进行更新。参数的充分统计信息更新如下:
在时间ttt取样σk2,vk\sigma^2_k,v_kσk2,vk:
与决策结合
对于上下文漂移模型,当xtx_txt到达时间t时,奖励rkr_krk未知,因为直到拉动其中一只手臂时才观察到。如果没有观测到的rk,tr_{k,t}rk,t,则无法对时间t进行粒子重新采样、潜在状态推断和参数推断。此外,每个臂都有p个独立的粒子。在每个粒子内,在wk,t−1w_{k,t-1}wk,t−1分解成θk,cwk,ηk,t−1θ_k,c_{w_k},\eta_{k,t-1}θk,cwk,ηk,t−1,wk,t−1w_{k,t-1}wk,t−1不再可用。在a(k)a^{(k)}a(k)臂的单个粒子内,wk,t−1w_{k,t-1}wk,t−1的分布可由以下公式得出:
定义一个wˉk,t−1\bar{w}_{k,t-1}wˉk,t−1在bandit算法中推断决策:
使用汤普森采样提取wk,tw_{k,t}wk,t,然后用wk,tw_{k,t}wk,t预测每只手臂的奖励。选择具有最大预期奖励的手臂进行拉动。LinUCB选择得分最高的手臂,其中得分定义为yk,ty_{k,t}yk,t的期望值与其标准偏差的组合:
E(yk,t∣xt)+λVar(yk,t∣xt)E(y_{k,t}|x_t) + \lambda\sqrt{Var(y_{k,t}|x_t)} E(yk,t∣xt)+λVar(yk,t∣xt)
算法流程
上下文多臂bandit问题的在线推理从主程序开始,如算法1所示。当xtx_txt到达时间ttt时,EV AL程序计算每个臂的分数,其中分数的定义取决于特定策略。选择得分最高的手臂进行拉动。通过拉动手臂获得奖励后,新的反馈通过更新过程用于更新上下文漂移模型。特别是在更新过程中,我们在粒子学习中使用重采样传播策略,而不是在粒子滤波中使用传播重采样策略。使用重采样传播策略,通过将ρ(i)ρ^{(i)}ρ(i)作为粒子的权重,对粒子进行重采样,其中ρ(i)ρ^{(i)}ρ(i)表示给定的在时间t−1t-1t−1的粒子在时间ttt时的观测发生概率。重采样传播策略被认为是一种最佳且完全适应的策略,避免了重要的采样步骤。
Multi-Armed Bandit--基于时变多臂老虎机的在线上下文感知推荐相关推荐
- #今日论文推荐#WSDM 2022 | 基于双曲几何无标度图建模的知识感知推荐
#今日论文推荐#WSDM 2022 | 基于双曲几何无标度图建模的知识感知推荐 为了缓解传统推荐系统中的冷启动与数据稀疏问题,近年来,向推荐系统中引入外部知识构建知识图谱受到了越来越多的关注.此外,由 ...
- 【科普】强化学习之多臂老虎机问题(bandit算法:softmax,random,UCB)
本博客上的文章分为两类:一类是科普性文章,以通俗易懂的语言风格介绍专业性的概念及其应用场景(公式极少或没有),适合入门阶段.另一类是专业性文章,在科普阶段上做出详细的专业性数学推导,深刻理解其概念的内 ...
- 强化学习笔记:多臂老虎机问题(7)--Gradient Bandit Algorithm
目录 0. 前言 1. 算法原理 2. Python仿真 2.1 函数改造 2.2 softmax() 2.3 改造后的k_armed_bandit_one_run() 2.4 对比仿真 2.5 一点 ...
- ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例
ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例 目录 基于MovieLens电影评分数据集利用强化学习算 ...
- Multi-Armed Bandit(MAB)多臂老虎机问题学习笔记
(17条消息) 推荐系统详解(六)MAB问题_ziqiiii的博客-CSDN博客_上下文多臂强盗(mab)问题 (18条消息) UCB--上界置信算法_电通一枝花的博客-CSDN博客_ucb算法 图例 ...
- 多臂老虎机(Multi-armed bandit problem)
我们会遇到很多选择的场景,如:上哪所大学,学什么专业,去哪家公司,等等.这些选择问题都会让选择困难症患者头大.那么,有什么科学的办法来解决这些问题呢?答案是:有!而且是非常科学的办法,那就是多臂老虎机 ...
- 【强化学习】多臂老虎机——E_greedy、UCB、Gradient Bandit 算法 代码实现
多臂老虎机 import numpy as np import matplotlib.pyplot as pltclass E_greedy:def __init__(self,arm_num=10, ...
- 从多臂老虎机开始学习强化学习中的探索与利用
从多臂老虎机开始学习强化学习中的探索与利用 \quad 目录 从多臂老虎机开始学习强化学习中的探索与利用 多臂老虎机问题 形式化描述 估计期望奖励 代码实现 策略中的探索与利用 ϵ\epsilonϵ- ...
- 强化学习——day31 多臂老虎机MAB的代码实现(Python)
多臂老虎机MAB的代码实现 2.3 算法基本框架搭建 2.4 epsilon贪心算法 2.4.1 参数为0.01的绘图 2.4.2 不同的参数 2.4.3 值随时间衰减的 epsilon-贪婪算法 2 ...
最新文章
- Scrum Mastery:有效利用组织的5个步骤
- MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?
- 第二十二章 李逵为什么不可爱
- Python Scrapy创建spider及结果导出命令
- QT实现SameGame
- 大数据让远洋捕鱼不再空手而归 这就是马云说的新实体经济
- Java线程池使用说明
- 平板电脑连接投影仪_苹果电脑如何连接投影仪 苹果Mac连接投影仪方法【详解】...
- 1.2.3 TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较(转载)
- Hyper-V里安装Linux虚机
- 华为鸿蒙被卖了,8%!被卖掉的荣耀过的日子,与华为越来越不同了!
- 23种设计模式之模板方法模式
- 10大最毒路边小吃盘点,你常吃吗?
- win10电脑不显示手机连接服务器失败,手机投屏win10电脑失败的解决方案
- [英语歌曲]孤独:Soledad
- Mac 安装 TeamViewer 打开应用闪退
- IDDPM官方gituhb项目--模型构建
- Linux C++ 海康 设备 直连抓图 和 平台抓图代码~
- ios游戏 java,Unity iOS游戏崩溃与NSInternalInconsistencyException
- Android开发使用SurfaceView和Mediaplayer播放网络视频(功能齐全)