《机器学习理论导引》笔记目录
8.3 赌博机在线学习
多臂赌博机
- 在多臂赌博机 (Multi-armed bandit) 问题中, 学习器面对 K 个摇臂。在每一轮迭代,学习器需要从 K 个摇臂中选择 1 个摇动并获得对应的奖励。学习器的目的是最大化T 轮迭代的累积收益
- 此处学习器的遗憾定义为 :
regret =Ti∈[K]maxμi−t=1∑Tμit
其中,μi 表示第 i 个摇臂的奖励均值;it 表示学习器在第 t 轮选择中选择的摇臂
- 因观测信息不充分,学习器面临探索 (exploration) 和利用 (exploitation) 之间的折中。
- 探索 : 为了准确的估计每个摇臂的奖励均值,学习器需要尝试不同的摇臂。
- 利用 : 为了最小化遗憾,学习器又倾向于选择能得到最大收益的摇臂。
- 对于随机设定,解决探索和利用折中的典型算法是置信上界法 (Upper Confidence Bound,简称 UCB)。
- 为每一个摇臂 i 维持一个置信上界 μi^; 并以大概率保证均值 μi⩽μi。
- 算法通过选择具有最大置信上界的摇臂自动在探索和利用之间折中。
- 每个摇臂的奖励是独立同分布的,利用集中不等式构造置信上界 :
Hoeffding 不等式
对于 Xi∈[a,b],i∈[n],Xˉ=m1∑i=1nXi,∀ϵ>0,有
P(Xˉ−E[Xˉ]⩾ϵ)⩽e−2nϵ2/(b−a)∧2P(Xˉ−E[Xˉ]⩽−ϵ)⩽e−2nϵ2/(b−a)∧2
令 X1,…,Xn 为取值在 [0,1] 之间的随机变量,对 ∀t>0
P(n1i=1∑nXi⩾μ+t)⩽exp(−2nt2)P(n1i=1∑nXi⩽μ−t)⩽exp(−2nt2)
-
假设第 i 个摇臂的奖励取值范围为 [0,1],算法按下了该摇臂 ni 次. 将 ni 次奖励的样本均值记为 μˉi. 将置信上界定义为
μi=μˉi+ni2lnα
取 t=2lnα/ni,n=ni,代入上式 Hoeffding 不等式推导结果,有
P(μˉi⩽μi−ni2lnα)⩽α−4
移项即有 : P(μi⩾μi)⩽α−4,即至少以 1−α−4 的概率有 μi⩽μi 成立。
-
置信上界 μi 由两部分组成
- 样本均值 μiˉ,反应学习器当前的知识,对应 “利用”;
- 区间宽度 ni2lnα,反应知识的不确定性,对应 “探索”;
- 依据置信上界选择摇臂,自动在探索和利用之间取得平衡。
-
基于置信上界的随机多臂赌博机算法的整体流程如下
随机多臂赌博机遗憾界
定理8.3 (随机多臂赌博机遗憾界) 假设每一个摇臂的奖励属于区间 [0,1],并且每一个摇臂的奖励是独立同分布的, 那么置信上界算法满足
Ti∈[K]maxμi−E[t=1∑Tμit]=O(KlogT)
证明
将最优摇臂的索引记为 ∗,即 ∗=argmaxi∈[K]μi。令 Δi=μ∗−μi,根据遗憾定义,得 :
regret =Ti∈[K]maxμi−t=1∑Tμit=Tμ∗−t=1∑Tμit=i=∗∑(μ∗−μi)niT=i=∗∑ΔiniT
由于 Δi 为常数,所以只需计算第 i 个摇臂在 T 轮迭代中被摇动的次数 niT。
引理 8.1 如下两个不等式成立
t=K+1∑TI(it=i,nit−1<ℓ)⩽ℓ−1t=K+1∑TI(it=i,nit−1⩾ℓ)⩽t=1∑T−1p=1∑t−1q=ℓ∑t−1(I(μˉ∗(p)+p2lnt⩽μ∗)+I(μ∗⩽μi+2q2lnt)+I(μi+q2lnt⩽μˉi(q)))
式(1)证明
由于 niK=1,当 nit−1⩾ℓ 时,it=i 时, nit=nit−1+1,因此,当 I(it=i,nit−1<ℓ)=1 时, nit 随之增加 1;
若 nit 从1增加到 ℓ ,则这 t 轮里面至多有 ℓ−1 次能使得 (it=i,nit−1<ℓ)=1,其他情况都是使得 I(it=i,nit−1<ℓ)=0,因此有 :
t=K+1∑TI(it=i,nit−1<ℓ)⩽ℓ−1
式(2)证明
根据置信上界算法第 7 步,可知 :
it=i⇒μˉ∗(n∗t−1)+n∗t−12ln(t−1)⩽μˉi(nit−1)+nit−12ln(t−1),nit−1⩾ℓ
结合事实 (1) 即若事件 A 成立可以推知事件 B 成立,则有 I(A)⩽I(B)
I(it=i,nit−1⩾ℓ)⩽I(μˉ∗(n∗t−1)+n∗t−12ln(t−1)⩽μˉi(nit−1)+nit−12ln(t−1),nit−1⩾ℓ)
进一步结合事实 (1) 与事实 (2):
I(μˉ∗(n∗t−1)+n∗t−12ln(t−1)⩽μˉi(nit−1)+nit−12ln(t−1),nit−1⩾ℓ)⩽I(0<p<tminμˉ∗(p)+p2ln(t−1)⩽ℓ⩽q<tmaxμˉi(q)+q2ln(t−1))⩽p=1∑t−1q=ℓ∑t−1I(μˉ∗(p)+p2ln(t−1)⩽μˉi(q)+q2ln(t−1))
两边同时对 t 求和,那么有 :
t=K+1∑TI(it=i,nit−1⩾ℓ)⩽t=K+1∑Tp=1∑t−1q=ℓ∑t−1I(μˉ∗(p)+p2ln(t−1)⩽μˉi(q)+q2ln(t−1))⩽t=1∑T−1p=1∑t−1q=ℓ∑t−1I(μˉ∗(p)+p2lnt⩽μˉi(q)+q2lnt)
当μˉ∗(p)+p2lnt⩽μˉi(q)+q2lnt 成立时, 下面三式必有一个成立 :
μˉ∗(p)+p2lnt⩽μ∗;μ∗⩽μi+2q2lnt;μi+q2lnt⩽μˉi(q)
将引理 8.1 的两个不等式与下式综合
niT=1+t=K+1∑TI(it=i)⩽1+t=K+1∑TI(it=i,nit−1<ℓ)+t=K+1∑TI(it=i,nit−1⩾ℓ)⩽ℓ+t=1∑T−1p=1∑t−1q=ℓ∑t−1(I(μˉ∗(p)+p2lnt⩽μ∗)+I(μ∗⩽μi+2q2lnt)+I(μi+q2lnt⩽μˉi(q)))
令 ℓ=⌈(8lnT)/Δi2⌉,可以使 :
2q2lnt⩽Δi=μ∗−μi 在 q⩾ℓ 时恒成立 ⇔ 上面求和式中 I(μ∗⩽μi+2q2lnt)=0
将 n=p,t=p2lnt 代入 P(n1∑i=1nXi⩾μ−t)⩽exp(−2nt2); 将 n=p,t=q2lnt 代入 P(n1∑i=1nXi⩾μ+t)⩽exp(−2nt2),可得 :
P(μˉ∗(p)+p2lnt⩽μ∗)⩽t−4,P(μi+q2lnt⩽μˉi(q))⩽t−4
对 niT 求期望有 :
E[niT]⩽[Δi28lnT]+2t=1∑∞p=1∑t−1q=[8lnT/Δi2]∑t−1t−4⩽Δi28lnT+1+2t=1∑∞t−2⩽Δi28lnT+1+3π2
将遗憾的计算式
regret =Ti∈[K]maxμi−t=1∑Tμit=Tμ∗−t=1∑Tμit=i=∗∑(μ∗−μi)niT=i=∗∑ΔiniT
综合可得 :
E[ regret ]=i=∗∑ΔiE[niT]⩽8i=∗∑ΔilnT+(1+3π2)i=∗∑Δi=O(KlogT)
定理得证。
随机线性赌博机
- 在多臂赌博机中,虽然该遗憾界随迭代轮数𝑇增长非常缓慢,但是和摇臂的个数 K 呈线性关系。当摇臂个数很大时,遗憾界会很大,效果未必理想。除此之外,随机多臂赌博机没有利用摇臂之间的关联。
- 实际情况中,摇臂是有物理意义的,往往存在辅助信息可以用来估计摇臂的奖励。对于每一个商品,可以利用商品描述、用户评价等信息得到一个 d 维的向量来表达该商品。这样,每一个摇臂就变成了一个 d 维空间内的向量,而奖励可以建模为该向量的函数。
对于摇臂 x∈Rd,随机线性赌博机假设其奖励均值 μx 是 x 的线性函数,即 :
μx=xTw∗
w∗∈Rd 是一个未知的参数。
- 通过这样的假设,不同的摇臂共享同一组参数 w∗,从而建立起摇臂之间的关联。当学习器选择摇臂 x 后,观测到奖励 :
y=xTw∗+ϵ
其中 ϵ 为均值为 0 的随机噪声。令 x⊆Rd 表示摇臂组成的集合,此处的遗憾定义为 :
regret =Tx∈XmaxxTw∗−t=1∑TxtTw∗
其中 xt∈X 表示学习器在第 t 轮选择的摇臂
置信上界法
- 如果学习器能够估计参数 w∗,也就可以估计每一个摇臂 x 的奖励均值 μx。假设可以证明以很大的概率 w∗∈R,其中 R 表示置信区域。那么对于每一个摇臂 x,可以构造置信上界
μ^x=w∈RtmaxxTw
并且以很大的概率 μx=xTw∗⩽μ^x。算法就可以依据置信上界 μ^x 来选择最优的摇臂, 得到奖励后更新置信区域。
- 假设算法已经运行了 t 轮,学习器选择了摇臂 x1,…,xt, 并观测到奖励 y1,…,yt,注意到 yt=xtTw∗+ϵt,其中 ϵt 为均值为 0 的随机噪声,因此,基于现有的 t 轮观测数据,可以通过求解岭回归问题来估计参数 w∗ :
wt=w∈Rdargmini=1∑t(yi−xiTw)2+λ∥w∥2
上述优化问题有如下闭式解 :
wt=(λI+i=1∑txixiT)−1(i=1∑tyixi)
-
根据 Sherman-Morrison-Woodbury 公式
(A+UVT)−1=A−1−A−1U(I+VTA−1U)−1VTA−1
学习算法可以在线计算 :
wtZt−1=(Zt−1−1−1+xtTZt−1−1xtZt−1−1xtxtTZt−1−1)(zt−1+ytxt)=wt−1+(yt−1+xtTZt−1−1xtxtTZt−1−1Zt)Zt−1−1xt=Zt−1−1−1+xtTZt−1−1xtZt−1−1xtxtTZt−1−1,zt=zt−1+ytxt
其中 Zt−1=λI+∑i=1t−1xixiT,zt−1=∑i=1t−1yixi,学习器不需再保存历史数据 (x1,y1),…(xt,yt),只需要在线维护 Zt−1−1,zt,wt 即可。
-
基于 wt,可以利用集中不等式构造参数 w∗ 的的置信区域
引理 8.2 假设观测数据满足 yt=xtTw∗+ϵt,其中噪声 ϵt 均值为 0,并且是条件 μ-次高斯(conditionally 𝜇-sub-Gaussian),即
Et[eλϵt]⩽exp(2λ2μ2),∀λ∈R
若 ∥w∗∥⩽Λ,∥xt∥⩽r,∀t∈[T],则以至少 1−δ 的概率有 :
w∗∈Rt={w∈Rd∣∥w−wt∥Zt⩽μ2lnδ1+dln(1+λdtr2)+Λλ}
其中 Zt=λI+∑i=1txixiT
- 引理 8.2 表明,w∗ 以大概率位于一个中心为 wt 的椭圆 Rt 内
定理 8.4 (随机线性赌博机遗憾界) 假设引理 8.2 的前提条件成立,那么以大概率置信上界算法满足
Tmaxx∈XxTw∗−t=1∑TxtTw∗=O~(dT)
证明
为了简化分析,我们假设 −1⩽xTw∗⩽1,∀x∈X,令 x∗=argmaxx∈XxTw∗,算法在第 t 轮的遗憾为 :
rt=(x∗)Tw∗−xtTw∗
令 (xt,wt)=argmax(x,w)∈X×Rt−1xTw,以 1−δ 的概率有 :
w∗∈Rt−1⇒(x∗)Tw∗⩽xtTwt
因此,以 1−δ 的概率有 :
rt⩽xtTwt−xtTw∗=xtT(wt−w∗)=xtT(wt−wt−1)+xtT(wt−1−w∗)
根据 Cauchy-Schwarz 不等式 :
rt⩽∥wt−wt−1∥zt−1∥xt∥Zt−1−1+∥wt−1−w∗∥zt−1∥xt∥Zt−1−1
根据引理 8.2,可以进一步得到 :
rt⩽2γt−1∥xt∥Zt−1−1
其中,γt=μ2lnδ1+dln(1+λdtr2)+Λλ,根据条件 −1⩽xTw∗⩽1,可知 rt⩽2,结合上式可得 :
rt⩽2min(γt−1∥xt∥Zt−1−1,1)
因此,以 1−δ 的概率有 :
x∈XmaxxTw∗−t=1∑TxtTw∗=t=1∑Trt⩽Tt=1∑Trt2⩽2Tt=1∑Tmin(γt−12∥xt∥Zt−1−12,1)(γt=μ2lnδ1+dln(1+λdtr2)+Λλγt随 t 增加而增大,为简化符号,假设 T 足够大使得γT⩾1)⩽2Tt=1∑Tmin(γT2∥xt∥Zt−1−12,1)⩽2γTTt=1∑Tmin(∥xt∥Zt−1−12,1)
根据 Zt−1=λI+∑i=1t−1xixiT 的表达式,可以证明 :
t=1∑Tmin(∥xt∥Zt−1−12,1)⩽2lndet(λI)det(ZT)⩽2dln(1+λdTr2)
将上式代入上上式,可知,以 1−δ 的概率有 :
Tmaxx∈XxTw∗−t=1∑TxtTw∗⩽22Tdln(1+λdTr2)(μ2lnδ1+dln(1+λdTr2)+Λλ)=O~(dT)
定理得证。
凸赌博机
-
设定 : 解空间 W 以及所有的损失函数 ft(⋅):W↦R 都是凸的
-
完全信息设定下,学习器可以观测到完整的损失函数,因此可以求梯度。但是在赌博机设定下,学习器只能观测到损失函数 ft(⋅) 在决策 wt 上的值 ft(wt)。因此无法直接应用在线梯度下降算法。针对这一问题,需要引入从函数值估计梯度的技术。
-
首先,定义单位球体 B 和单位球面 S :
B={w∈Rd∣∥w∥⩽1},S={w∈Rd∣∥w∥=1}
令 v 表示均匀分布在单位球体 B 内的随机变量,对给定函数,定义 :
f^(w)=Ev∈B[f(w+δv)]
其中δ>0 为参数,f^(⋅) 可以当做函数 f(⋅) 的光滑近似,当 δ 很小时,f^(⋅) 和 f(⋅) 非常接近。函数 f^(⋅) 具备一个非常重要的性质 : 可以通过采样获得它的随机梯度。
从函数值估计梯度
引理 8.3 令 u 表示均匀分布在单位球面 S 内的随机变量,有 :
Eu∈S[f(w+δu)u]=dδ∇f^(w)
依据引理 8.3,可知 δdf(w+δu)u 是 f^(⋅) 在 w 处的随机梯度。同时,当 δ 很小时,f^(⋅)≈f(⋅),从而可以用 δdf(w+δu)u 来近似函数 f(⋅) 在 w 处的梯度,也就可以执行梯度下降算法。
-
依据上述思路设计的在线算法流程如下
-
根据 f^(w)=Ev∈B[f(w+δv)],定义
f^t(w)=Ev∈B[ft(w+δv)]
-
对于刚才的算法,说明 :
- 首先,算法引入了一个辅助向量序列 z1,z2,… 并且最后在变量 zt 执行在线梯度下降。这是因为依据引理 8.3, δdf(wt)ut 是 f(⋅) 在 zt 处的随机梯度,并不是在 wt 处的随机梯度
- 在最后执行投影操作时,算法将中间解投影到了 (1−α)W,而不是 W,这样做的目的是使得 zt+1 处于可行域 W 的内部,从而保证 wt+1=zt+1+δut+1 依然处于可行域 W 内
-
在健忘设定下,即函数序列 f1,…,fT 和学习器的决策无关时,可以证明上述算法从期望意义上达到了 O(T3/4) 的遗憾界
随机版本在线梯度下降
引理 8.4 考虑如下的随机版本在线梯度下降,任意初始化 w1∈W 每轮更新公式为 :
wt+1=ΠW(wt−ηgt)
其中 E[gt∣wt]=∇ft(wt) 且满足 ∥gt∥⩽l,假设 W⊆ΛB,采用步长 η=Λ/(lT) 的随机版本在线梯度下降满足
E[t=1∑Tft(wt)]−w∈Wmint=1∑Tft(w)⩽1ΛT
此外,还将利用以下引理,刻画缩减投影引入的误差
引理 8.5 (缩减投影的误差) 若函数 f1,…,fT 满足 ∣fi(w)∣⩽c, ∀w∈W, i∈[T] 则有如下不等式成立
w∈(1−α)Wmint=1∑Tft(w)−w∈Wmint=1∑Tft(w)⩽2αc T
定理 8.5 凸赌博机遗憾界对于固定的函数序列f1,…,fT:W↦[−c,c] 若每一个损失函数 ft(⋅) 都是 l-Lipschitz连续的,则
E[t=1∑Tft(wt)]−w∈Wmint=1∑Tft(w)=O(T3/4)
证明
假设可行域 W 满足 Λ1B⊆W⊆Λ2B , 令 η=cTΛ2,α=Λ1δ,δ=T−1/43(lΛ1+c)dcΛ1Λ2,定义 w∗=argminw∈(1−α)W∑t=1Tft(w),首先,对期望的遗憾进行改写 :
=⩽=E[t=1∑Tft(wt)]−w∈Wmint=1∑Tft(w)E[t=1∑Tft(wt)]−w∈(1−α)wmint=1∑Tft(w)+w∈(1−α)wmint=1∑Tft(w)−w∈Wmint=1∑Tft(w)E[t=1∑Tft(wt)]−t=1∑Tft(w∗)+2acTE[t=1∑Tft(zt)]−t=1∑Tft(w∗)+E[t=1∑Tft(wt)−f^t(zt)]+[t=1∑Tf^t(w∗)−ft(w∗)]+2acT
根据 f^t(w)=Ev∈B[ft(w+δv),以及 ft(⋅) 为 l−Lipschitz 连续的假设,可得 :
∣∣f^t(w∗)−ft(w∗)∣∣⩽lδ∣∣f^t(zt)−ft(zt)∣∣⩽lδ,∀t∈[T]
此外,根据 wt 的定义,有 :
∣ft(wt)−ft(zt)∣=∣ft(zt+δut)−ft(zt)∣⩽lδ,∀t∈[T]
与上式结合有
∣∣ft(wt)−f^t(zt)∣∣⩽∣ft(wt)−ft(zt)∣+∣∣ft(zt)−f^t(zt)∣∣⩽2lδ,∀t∈[T]
最终得到
E[t=1∑Tft(wt)&]−w∈Wmint=1∑Tft(w)≤E[t=1∑Tf^t(zt)]−w∈(1−α)Wmint=1∑Tf^t(w)+3lδT+2αcT
根据公式 zt+1=Π(1−α)W(zt−ηft(wt)ut) 以及步长的设置,可得 :
zt+1=Π(1−a)w(zt−(dc/δ)TΛ2δdft(wt)ut)
依据引理 8.3,可知上述算法本质上是在对 f^(⋅) 进行随机版本的在线梯度下降,其中随机梯度为 δdf(wt)ut,可行域为 (1−α)W,注意到 (1−α)W⊆Λ2B,随机梯度的上界为 :
∥∥δdft(wt)ut∥∥⩽δdc
因此上上式再满足引理 8.4 的前提条件下,可得 :
E[t=1∑Tf^t(zt)]−w∈(1−α)Wmint=1∑Tf^t(w)⩽δdcΛ2T
代入可得 :
E[t=1∑Tft(wt)−w∈Wmint=1∑Tft(w)]⩽δdcΛ2T+3lδT+2αcT=δdcΛ2T+(3l+Λ12c)δT⩽δdcΛ2T+Λ13(lΛ1+c)δT=2Λ13dcΛ2(lΛ1+c)T3/4=O(T3/4)
定理得证。