UCB(Upper Confidence Bound,置信区间上界)算法是解决 Multi-Armed Bandit(多臂老虎机) 问题最经典的算法之一。它的核心任务是在探索(Exploration,尝试新事物)与利用(Exploitation,选择已知表现最好的事物)之间取得完美的平衡。
1. Multi-Armed Bandit(多臂老虎机)问题
多臂老虎机(Multi-Armed Bandit,简称 MAB)是机器学习和概率论中的一个经典问题模型。这个名字来源于赌场的单臂老虎机(Slot Machine)。想象一下,你面前停着一排共 N 台老虎机(或者一台拥有多根摇杆的老虎机),每台老虎机的吐钱概率和金额都是未知的。你手里有有限的硬币,你的目标是:通过制定一套摇号策略,让你最后赢到的钱最多。
1.1 核心矛盾:探索与利用的博弈
多臂老虎机问题之所以经典,是因为它完美地抽象了人类在决策时面临的根本矛盾——探索与利用的权衡(Exploration-Exploitation Trade-off):
- 利用(Exploitation):根据已知信息做出选择。比如,你前几次摇 3 号老虎机赚得最多,于是接下来的硬币全部投给 3 号。它的风险是,你可能会错失赚得更多的机会(万一 5 号其实是个隐藏大奖呢?)。
- 探索(Exploration):去尝试那些你还不了解的老虎机。比如,去摇一摇从未碰过的 5 号和 7 号。它的风险是,你可能会浪费大把硬币(万一它们其实极度亏钱呢?)。
如何用最少的试错成本(数学上称为累积遗憾,Cumulative Regret),在最短时间内摸清哪台老虎机最赚钱,并把大部分硬币投入其中,就是 MAB 算法要解决的核心问题。
1.2 互联网和工业界的核心应用
在现实生活中,只要面临“在不确定性中做最优化选择”的场景,都可以用多臂老虎机模型来解决。
-
动态 A/B 测试(高效流量分配):
- 传统方法:将新版网页和旧版网页各分 50% 的流量,跑满两周再看结果。如果新版很烂,这两周会白白损失大量用户。
- MAB 方法:一开始各分 50%。运行 2 小时后发现新网页点击率明显更高,算法会自动动态调整,把接下来的 70%、80% 流量直接转给新网页。
-
推荐系统与广告冷启动:
- 当抖音、淘宝上线了一个完全没有历史数据的新视频或新商品(冷启动)时,它就是一台未知的“老虎机”。
- 推荐系统需要使用 MAB 算法,分出少量的流量“探索”它,测试用户的点击率;一旦发现它是爆款,再迅速“利用”并全网分发。
-
临床药物试验:
- 有多种新药可以治疗某种疾病,但不知道哪种副作用最小、疗效最好。
- 实验不能拿病人的生命开玩笑,MAB 算法可以动态调整,让后续进来的病人有更高的概率分到目前表现最好的药物,同时减少对劣质药物的尝试。
1.3 解决 MAB 问题的三大经典算法
为了攻克这个难题,科学家们设计了多种不同思路的策略:
- ϵ−Greedy\epsilon-Greedyϵ−Greedy 算法(贪婪策略):
- 思路:极度直白。每次有 1−ϵ1-\epsilon1−ϵ(比如 90%)的概率选择目前已知最赚钱的老虎机(利用),有 ϵ\epsilonϵ(比如 10%)的概率完全随机选一台老虎机(探索)。
- 缺点:到后期即使已经摸透了所有机器,它依然会雷打不动地浪费 10% 的流量去盲目随机。
- UCB 算法(置信区间上界):
- 思路:它不再随机探索,而是引入“不确定性”加成。谁很久没被摇过了,谁的潜力上限(UCB 得分)就被抬高,从而获得优先探索权。这是一种确定性的聪明探索。
- 汤普森采样(Thompson Sampling):
- 思路:一种基于贝叶斯概率的算法。它为每台老虎机维护一个收益概率分布(如 Beta 分布)。每次做决策时,从每台机器的分布里各自“随机抽取一个数”,谁抽到的数大就摇谁。随着摇的次数变多,好机器的分布会越来越窄且集中在高位,从而被选中的概率呈压倒性优势。
1.4 MAB 的家族演进
多臂老虎机问题随着实际业务的发展,演进出了不同的技术分支:
老虎机类型特点现实比喻标准 MAB (如 UCB1)每台机器的吐钱概率是固定且互相独立的。认为广告 A 在全网任何时间、对任何人的点击率都是 5%。上下文 MAB (如 LinUCB)引入了环境特征(Context)。考虑了用户画像。广告 A 对“年轻人”吐钱概率是 10%,对“老人”是 1%。非平稳 MAB (Non-stationary)老虎机的吐钱概率随时间在动态发生改变。用户的兴趣在变。早晨用户喜欢看新闻老虎机,深夜喜欢看情感治愈老虎机。
| 老虎机类型 | 特点 | 现实比喻 |
|---|---|---|
| 标准 MAB (如 UCB1) | 每台机器的吐钱概率是固定且互相独立的。 | 认为广告 A 在全网任何时间、对任何人的点击率都是 5%。 |
| 上下文 MAB (如 LinUCB) | 引入了环境特征(Context)。 | 考虑了用户画像。广告 A 对“年轻人”吐钱概率是 10%,对“老人”是 1%。 |
| 非平稳 MAB (Non-stationary) | 老虎机的吐钱概率随时间在动态发生改变。 | 用户的兴趣在变。早晨用户喜欢看新闻老虎机,深夜喜欢看情感治愈老虎机。 |
2. UCB 算法
2.1 核心思想:乐观面对不确定性
UCB 算法遵循一个非常直观的哲学原则:乐观面对不确定性(Optimism in the face of uncertainty)。
当我们对一个物品(比如一首歌、一个商品或一个广告)不够了解时,它的真实点击率(收益)对我们来说是不确定的。传统方法可能因为新物品的前一两次尝试表现不好就彻底放弃它,而 UCB 会认为:“它现在表现不好,可能只是因为我们尝试得太少。万一它其实是个宝藏呢?”
因此,UCB 不仅看一个物品的平均历史收益,还会给它的不确定性(波动范围)一个溢价。它为每个物品计算一个“高估”的得分(即置信区间上界),谁的上限高,就推荐谁。
2.2 数学公式与直观理解
在第 ttt 次选择时,UCB 算法(通常指最经典的 UCB1 算法)会选择以下分值最高的那个臂(物品) aaa:
Scorea=Rˉa+c⋅lntNa(t)\text{Score}_{a}=\bar{R}_{a}+c\cdot \sqrt{\frac{\ln t}{N_{a}(t)}}Scorea=Rˉa+c⋅Na(t)lnt
这个公式由非常清晰的两部分组成:
- 第一项 Rˉa\bar{R}_{a}Rˉa:利用(Exploitation)。这是物品 aaa 在过去被选中的次数里,获得的平均真实收益(例如:点击次数 / 展示次数)。它代表了当前已知的价值。
- 第二项 c⋅lntNa(t)c \cdot \sqrt{\frac{\ln t}{N_a(t)}}c⋅Na(t)lnt:探索(Exploration)。这是置信区间的半径(不确定性量度)。
- ttt:当前总的推荐次数(随时间不断增大)。
- Na(t)N_a(t)Na(t):物品 aaa 历史上被推荐的总次数。
- ccc:探索系数(超参数),用来控制我们有多“冒险”。
这一项是如何精妙运作的?
- 当一个物品很少被推荐时:Na(t)N_a(t)Na(t) 非常小,分母小导致整个根式项变得非常大。即使它的平均收益 Rˉa\bar{R}_{a}Rˉa 很低,第二项也会把它强行拉起来,让它获得被推荐的机会(触发探索)。
- 当一个物品被频繁推荐时:Na(t)N_a(t)Na(t) 越来越大,分母变大导致第二项迅速缩小(趋近于0)。此时,该物品的得分将完全由它的真实表现 Rˉa\bar{R}_{a}Rˉa 决定(转化为利用)。
- 分子中的 lntln tlnt :随着时间推移,总推荐次数 (t) 在变大,这确保了即使某个物品之前被冷落了很久((N_a(t)) 没变),随着时间演进,它的不确定性也会微弱地增长,直到有一天它的总分再次超越其他物品,从而获得“重见天日”被重新测试的机会。
2.3 数学背后的推导:霍夫丁不等式
为什么置信区间半径恰好是 lntNa(t)\sqrt{\frac{\ln t}{N_{a}(t)}}Na(t)lnt 呢?这并不是科学家拍脑袋想出来的,而是基于概率论中的霍夫丁不等式(Hoeffding’s Inequality)。
霍夫丁不等式指出,如果我们对一个真实均值为 μ\muμ 的随机变量进行了 NNN 次独立重复试验,得到的样本均值为 Rˉ\bar{R}Rˉ,那么样本均值偏离真实均值超过 ϵ\epsilonϵ 的概率存在一个上限:
P(μ>Rˉ+ϵ)≤e−2Nϵ2P(\mu >\bar{R}+\epsilon )\le e^{-2N\epsilon ^{2}}P(μ>Rˉ+ϵ)≤e−2Nϵ2
为了保证算法在长期运行中,推荐犯错的概率被控制在极小的范围内(通常设为 1/t41/t^41/t4 等与时间相关的倒数),我们可以令这个概率上限等于 δ\deltaδ(例如令 δ=1t2\delta = \frac{1}{t^2}δ=t21):
e−2Nϵ2=1t2 ⟹ −2Nϵ2=−2lnt ⟹ ϵ=lntNe^{-2N\epsilon ^{2}}=\frac{1}{t^{2}}\implies -2N\epsilon ^{2}=-2\ln t\implies \epsilon =\sqrt{\frac{\ln t}{N}}e−2Nϵ2=t21⟹−2Nϵ2=−2lnt⟹ϵ=Nlnt
这也就是为什么 UCB 选择将 Rˉ+ϵ\bar{R} + \epsilonRˉ+ϵ 作为每一个臂的最高潜在收益上限。
2.4 UCB 算法的执行步骤
在实际系统或推荐场景中,UCB 的运行极其简单:
- 初始化:对所有可用的物品(Arms)各尝试一次,确保每个物品的初始 Na=1N_a = 1Na=1,避免分母为 0。
- 循环推荐:
- 计算当前所有物品的 UCB 得分。
- 选择得分最高的物品推荐给用户。
- 观察用户的反馈(如是否点击,点击记为 1,未点击记为 0)。
- 更新该物品的 Na=Na+1N_a = N_a + 1Na=Na+1,并更新其平均收益 Rˉa\bar{R}_{a}Rˉa。
- 总时间步自增 t=t+1t = t + 1t=t+1。
2.5 UCB 的局限性与向 LinUCB 的演进
虽然 UCB 算法非常优雅且有严格的数学证明,但在真正的工业界推荐系统中,它有一个致命的弱点:无法引入上下文特征(Context)。
- UCB 的视角:它认为一个物品的点击率在全网是固定的(例如,它认为广告 A 的点击率就是 5%)。
- 现实的场景:同一个广告,给“18岁喜欢数码的男生”看点击率可能是 10%,而给“50岁喜欢园艺的阿姨”看点击率可能是 0.1%。
因为经典 UCB 无法根据用户的性别、年龄、当前时间等特征进行“因人而异”的推荐,所以科学家们才在它的基础上,将第一项 Rˉa\bar{R}_{a}Rˉa 升级为了线性回归模型来引入特征,这就是 LinUCB。
3. LinUCB 算法
LinUCB(Linear Upper Confidence Bound)是一种将线性回归与UCB(置信区间上界) 算法相结合的经典推荐与广告算法。它属于上下文多臂老虎机(Contextual Multi-Armed Bandit, Contextual MAB)的范畴。
传统的老虎机算法(如 UCB)在推荐时只看物品(Arm)的历史表现,而 LinUCB 的核心突破在于:它假设用户特征、上下文特征与物品特征之间存在线性关系,从而能够根据当前特定的上下文实现精细化的个性化推荐。
3.1 核心思想:探索与利用的平衡
LinUCB 的精髓在于对“不确定性”建模。它为每个物品(Arm)计算一个得分,这个得分由两部分组成,即 预估收益(利用, Exploitation) 和 置信区间宽度(探索, Exploration):
Scorea=μ^a+α⋅Uncertaintya\text{Score}_{a}=\hat{\mu }_{a}+\alpha \cdot \text{Uncertainty}_{a}Scorea=μ^a+α⋅Uncertaintya
- μ^a\hat{\mu }_{a}μ^a:基于当前特征,用线性模型预测的期望收益。
- Uncertaintya\text{Uncertainty}_{a}Uncertaintya:该预测的不确定性(标准差)。如果一个物品被展示的次数很少,它的不确定性就很大。
- α\alphaα:一个超参数,用来调节探索的力度。α\alphaα 越大,越倾向于推荐新物品。
LinUCB 每次都会选择 Scorea\text{Score}_{a}Scorea 最高的物品进行推荐。这被称为 乐观面对不确定性(Optimism in the Face of Uncertainty):如果一个物品我们不够了解(不确定性大),我们就“乐观”地给它一个机会,以此来收集数据。
3.2 数学原理与公式推导
假设对于某一个特定的物品 aaa,当前的上下文特征向量为 xt\mathbf{x}_{t}xt。LinUCB 假设物品 aaa 的真实收益 yty_{t}yt 与特征 xt\mathbf{x}_{t}xt 满足线性关系:
E[yt∣a,xt]=xtTθa∗\mathbf{E}[y_{t}|a,\mathbf{x}_{t}]=\mathbf{x}_{t}^{T}\mathbf{\theta }_{a}^{*}E[yt∣a,xt]=xtTθa∗
其中 θa∗\mathbf{\theta }_{a}^{*}θa∗ 是该物品待求解的未知真实参数矩阵。
3.2.1 参数估计(岭回归)
为了求解 θa\mathbf{\theta }_{a}θa,LinUCB 在收集到的历史数据上应用了岭回归(Ridge Regression)。设历史在该物品上积累的特征矩阵为 Da\mathbf{D}_{a}Da(可以理解为XXX),对应的收益向量为 ca\mathbf{c}_{a}ca(可以理解为yyy)。根据岭回归公式,参数估计值 θ^a\hat{\mathbf{\theta }}_{a}θ^a 为:
θ^a=(DaTDa+Id)−1DaTca\hat{\mathbf{\theta }}_{a}=(\mathbf{D}_{a}^{T}\mathbf{D}_{a}+\mathbf{I}_{d})^{-1}\mathbf{D}_{a}^{T}\mathbf{c}_{a}θ^a=(DaTDa+Id)−1DaTca
为了简化实时计算,我们定义两个缓存矩阵:
- Aa=DaTDa+Id\mathbf{A}_a = \mathbf{D}_a^T \mathbf{D}_a + \mathbf{I}_dAa=DaTDa+Id (特征的协方差矩阵,Id\mathbf{I}_{d}Id 为单位矩阵)
- ba=DaTca\mathbf{b}_a = \mathbf{D}_a^T \mathbf{c}_aba=DaTca (特征与收益的交叉乘积项)
则参数估计值可写为:θ^a=Aa−1ba\hat{\boldsymbol{\theta}}_a = \mathbf{A}_a^{-1} \mathbf{b}_aθ^a=Aa−1ba。
3.2.2 构建 UCB 上界
根据线性回归的统计学性质,当前预估收益 xtTθ^a\mathbf{x}_t^T \hat{\boldsymbol{\theta}}_axtTθ^a 的方差可以表示为 xtTAa−1xt\mathbf{x}_t^T \mathbf{A}_a^{-1} \mathbf{x}_txtTAa−1xt(推导见附录)。由此,根据其置信上界,LinUCB 的最终选择策略(即预估得分)公式为:
at=argmax a∈A(xtTθ^a+αxtTAa−1xt)a_{t}=\underset{a\in \mathcal{A}}{\mathrm{argmax}\>}\left(\mathbf{x}_{t}^{T}\hat{\mathbf{\theta }}_{a}+\alpha \sqrt{\mathbf{x}_{t}^{T}\mathbf{A}_{a}^{-1}\mathbf{x}_{t}}\right)at=a∈Aargmax(xtTθ^a+αxtTAa−1xt)
- 第一项 xtTθ^a\mathbf{x}_t^T \hat{\boldsymbol{\theta}}_axtTθ^a:当前上下文下的期望收益预测值。
- 第二项 αxtTAa−1xt\alpha \sqrt{\mathbf{x}_t^T \mathbf{A}_a^{-1} \mathbf{x}_t}αxtTAa−1xt:置信区间半径(不确定性) 。如果某个物品在类似的特征空间下被展示得很少,Aa−1\mathbf{A}_{a}^{-1}Aa−1 在该方向上的值就会很大,从而拉高这一项,触发“探索”机制。
3.2.3 LinUCB 算法的两个变体
在 Yahoo! 提出该算法的经典论文中,引入了两种模式:
- Disjoint LinUCB(独立线性模型):每个物品 aaa 拥有完全独立的参数 θa\mathbf{\theta }_{a}θa。适用于不同物品间属性差异极大、彼此没有共性的场景(如推荐完全不同品类的商品)。
- Hybrid LinUCB(混合线性模型):不仅每个物品有独立参数,所有物品还共享一部分全局参数 β\mathbf{\beta }β。公式变为:xtTθ^a+ztTβ^\mathbf{x}_t^T \hat{\boldsymbol{\theta}}_a + \mathbf{z}_t^T \hat{\boldsymbol{\beta}}xtTθ^a+ztTβ^。这允许新物品能够快速从老物品的共享特征(如用户年龄、性别等通用偏好)中借用信息,缓解冷启动。
3.2.4 为什么 LinUCB 在工业界广受欢迎?
- 在线实时更新:更新参数极其简单。每次用户产生行为(点击或未点击),不需要像深度学习模型那样重新进行复杂的全量训练,只需对矩阵 Aa\mathbf{A}_{a}Aa 和向量 ba\mathbf{b}_{a}ba 进行简单的矩阵加法即可完成增量更新。
- 天然解决冷启动:新物品上线时由于没有历史数据,其第二项不确定性分值极高,算法会自动给予它曝光机会(冷启动),并在收集到数据后迅速将分值修正到真实水平。
- 数理逻辑严密:通过严格的数学边界控制 Regret(遗憾值),在理论上能保证模型以极快的速度收敛到最优策略。
附录
为什么当前预估收益 xtTθ^a\mathbf{x}_t^T \hat{\boldsymbol{\theta}}_axtTθ^a 的方差可以表示为 xtTAa−1xt\mathbf{x}_t^T \mathbf{A}_a^{-1} \mathbf{x}_txtTAa−1xt?
这个方差表达式的得出,源于线性回归(以及岭回归)中参数估计值的统计学性质。下面我们通过矩阵代数和方差传播公式,一步步推导为什么它的方差恰好是 xtTAa−1xt\mathbf{x}_t^T \mathbf{A}_a^{-1} \mathbf{x}_txtTAa−1xt。
为了书写简便,我们省去代表特定物品的下标 aaa。
1. 核心数学基础:方差传播公式
在概率论中,设 v\mathbf{v}v 是一个常数向量,θ^\hat{\mathbf{\theta }}θ^ 是一个随机向量。如果我们要计算线性组合 vTθ^\mathbf{v}^T \hat{\boldsymbol{\theta}}vTθ^ 的方差,根据协方差矩阵的性质,有如下标准公式:
Var(vTθ^)=vT⋅Var(θ^)⋅v\text{Var}(\mathbf{v}^{T}\hat{\mathbf{\theta }})=\mathbf{v}^{T}\cdot \text{Var}(\hat{\mathbf{\theta }})\cdot \mathbf{v}Var(vTθ^)=vT⋅Var(θ^)⋅v
在 LinUCB 中,当前到来的用户特征向量 xt\mathbf{x}_{t}xt 是一个已知的、确定的常数向量,而通过历史数据拟合出来的估计参数 θ^\hat{\mathbf{\theta }}θ^ 是一个包含随机误差的随机向量。因此,根据方差传播公式,预估收益的方差为:
Var(xtTθ^)=xtT⋅Var(θ^)⋅xt\text{Var}(\mathbf{x}_{t}^{T}\hat{\mathbf{\theta }})=\mathbf{x}_{t}^{T}\cdot \text{Var}(\hat{\mathbf{\theta }})\cdot \mathbf{x}_{t}Var(xtTθ^)=xtT⋅Var(θ^)⋅xt
接下来的核心任务,就是求出参数估计值 θ^\hat{\mathbf{\theta }}θ^ 的协方差矩阵 Var(θ^)\text{Var}(\hat{\boldsymbol{\theta}})Var(θ^)。
2. 传统线性回归(OLS)下的方差推导
我们先从不带正则化的传统线性回归看起。假设真实关系为 y=Xθ∗+ϵ\mathbf{y} = \mathbf{X}\boldsymbol{\theta}^* + \boldsymbol{\epsilon}y=Xθ∗+ϵ,其中噪声 ϵ\mathbf{\epsilon }ϵ 独立同分布,且方差为 σ2\sigma ^{2}σ2,即 Var(ϵ)=σ2I\text{Var}(\boldsymbol{\epsilon}) = \sigma^2 \mathbf{I}Var(ϵ)=σ2I。
传统最小二乘法的参数估计值为:
θ^=(XTX)−1XTy\hat{\mathbf{\theta }}=(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\mathbf{y}θ^=(XTX)−1XTy
将 y=Xθ∗+ϵ\mathbf{y} = \mathbf{X}\boldsymbol{\theta}^* + \boldsymbol{\epsilon}y=Xθ∗+ϵ 代入上式:
θ^=(XTX)−1XT(Xθ∗+ϵ)=θ∗+(XTX)−1XTϵ\hat{\mathbf{\theta }}=(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}(\mathbf{X}\mathbf{\theta }^{*}+\mathbf{\epsilon })=\mathbf{\theta }^{*}+(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\mathbf{\epsilon }θ^=(XTX)−1XT(Xθ∗+ϵ)=θ∗+(XTX)−1XTϵ
由于真实参数 θ∗\mathbf{\theta }^{*}θ∗ 和特征矩阵 X\mathbf{X}X 都是常数,θ^\hat{\mathbf{\theta }}θ^ 的方差完全由随机噪声 ϵ\mathbf{\epsilon }ϵ 决定:
Var(θ^)=Var(θ∗+(XTX)−1XTϵ)\text{Var}(\hat{\mathbf{\theta }})=\text{Var}\left(\mathbf{\theta }^{*}+(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\mathbf{\epsilon }\right)Var(θ^)=Var(θ∗+(XTX)−1XTϵ)
Var(θ^)=[(XTX)−1XT]⋅Var(ϵ)⋅[(XTX)−1XT]T\text{Var}(\hat{\mathbf{\theta }})=\left[(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\right]\cdot \text{Var}(\mathbf{\epsilon })\cdot \left[(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\right]^{T}Var(θ^)=[(XTX)−1XT]⋅Var(ϵ)⋅[(XTX)−1XT]T
将 Var(ϵ)=σ2I\text{Var}(\boldsymbol{\epsilon}) = \sigma^2 \mathbf{I}Var(ϵ)=σ2I 代入,并将转置展开(注意 (XTX)−1(\mathbf{X}^T\mathbf{X})^{-1}(XTX)−1 是对称矩阵):
Var(θ^)=σ2(XTX)−1XTX(XTX)−1=σ2(XTX)−1\text{Var}(\hat{\mathbf{\theta }})=\sigma ^{2}(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\mathbf{X}(\mathbf{X}^{T}\mathbf{X})^{-1}=\sigma ^{2}(\mathbf{X}^{T}\mathbf{X})^{-1}Var(θ^)=σ2(XTX)−1XTX(XTX)−1=σ2(XTX)−1
如果假设噪声的标准差 σ=1\sigma = 1σ=1,那么传统线性回归中参数的方差就是 (XTX)−1(\mathbf{X}^T\mathbf{X})^{-1}(XTX)−1。
3. 岭回归(LinUCB)下的引入与统一
在 LinUCB 中,为了解决冷启动时没有数据(矩阵不可逆)的问题,我们在历史特征的协方差矩阵 XTX\mathbf{X}^T\mathbf{X}XTX 上人为加上了单位矩阵 I\mathbf{I}I 进行正则化,并将其定义为 A\mathbf{A}A:
A=XTX+I\mathbf{A}=\mathbf{X}^{T}\mathbf{X}+\mathbf{I}A=XTX+I
在带有 L2 正则化的空间中,基于贝叶斯线性回归(Bayesian Linear Regression)的理论,若先验分布为标准正态分布,观察到数据后的后验分布中,参数 θ^\hat{\mathbf{\theta }}θ^ 的协方差矩阵精确地变为了:
Var(θ^)=σ2A−1\text{Var}(\hat{\mathbf{\theta }})=\sigma ^{2}\mathbf{A}^{-1}Var(θ^)=σ2A−1
在 LinUCB 理论公式的推导中,通常为了简化,假设噪声项的标准差 σ=1\sigma = 1σ=1。因此,参数的协方差矩阵直接表示为:
Var(θ^)=A−1\text{Var}(\hat{\mathbf{\theta }})=\mathbf{A}^{-1}Var(θ^)=A−1
4. 最终合成
现在,我们将步骤 3 得到的 Var(θ^)=A−1\text{Var}(\hat{\boldsymbol{\theta}}) = \mathbf{A}^{-1}Var(θ^)=A−1 代回步骤 1 的方差传播公式中:
Var(xtTθ^)=xtT⋅Var(θ^)⋅xt=xtTA−1xt\text{Var}(\mathbf{x}_{t}^{T}\hat{\mathbf{\theta }})=\mathbf{x}_{t}^{T}\cdot \text{Var}(\hat{\mathbf{\theta }})\cdot \mathbf{x}_{t}=\mathbf{x}_{t}^{T}\mathbf{A}^{-1}\mathbf{x}_{t}Var(xtTθ^)=xtT⋅Var(θ^)⋅xt=xtTA−1xt
由此证明,当前特征 xt\mathbf{x}_{t}xt 下的预测收益的方差(即不确定性),在数理上完美对应了开根号后的 xtTA−1xt\sqrt{\mathbf{x}_{t}^{T}\mathbf{A}^{-1}\mathbf{x}_{t}}xtTA−1xt。

4179

被折叠的 条评论
为什么被折叠?



