【笔记】在线凸优化 - Ch1. Introduction

1.1 The Online Convex Optimization Setting

在线凸优化 Online convex optimization (OCO),是一个带有博弈论、统计学习、凸优化的新玩意
给出如下问题叙述:

考虑一种博弈游戏,回合制,第 t[T] 回合,先由玩家从决策集 KRn 中选择一个决策 xt,然后对手从有界函数族 F:KR(可能对抗地)选择一个函数 ft 给玩家,玩家受到的损失 lossft(xt)(当然给函数有点理想了,现实情况可能就只知道这个决策点的值,但这样没法算 regret)
玩家的目的是尽可能缩小总损失与某个最优固定决策点差值(而对手最大化它),并考虑这个差值关于 T 的增长函数
这个游戏为了正常运行,有两个最基本的限制:(待我根据具体情境再想想)

  1. 损失是有界的
  2. 决策集 K 不一定有穷,但必须是有界的 (somehow bounded and/or structured)

对于凸情况,令 K 是有界凸集,F 是凸函数集(总之两者都是有界且凸的)

一个 OCO 算法 A 根据历史做出当前的决策 xt=A(f1,,ft1)K
我们考虑用 regret 来衡量 A,为该算法的总损失与一个最优的固定决策的差值、对于损失函数序列的上界

RegretT(A)=sup{f1,,fT}F{t=1Tft(xt)minxKt=1Tft(x)}

这个式子里,我们直接用 sup 来刻画对手的决策,并限定了一个固定决策 x 作为这组 {f1,,fT} 下的最优解,作为我们的决策的参考

我们定义一个算法 A 是好的,若 RegretTT 的增长函数是亚线性的 sublinear:RegretT=o(T),即 c>0,T0,TT0,0RegretT<cT

考虑一个平凡的算法:决策始终不变,记为 x,取 ft 始终为 x 与最低点的差最大的那个,记差为 d,则 regret =dT=O(T);所以亚线性算是最低限度的要求了

此外,我们还需要关注算法给出决策的最坏时间复杂度

1.2 Examples of OCO

1.2.1 Prediction from expert advice

问题描述:
N 个专家,T 个回合,每回合专家们给出自己的建议决策,玩家决定选择专家 i 后,会获得对手给出的专家们的损失向量 gt[0,1],而玩家受到和专家 i 相同的损失 gt(i)
决策集可以为确定性的 K=[N];或者为以某一个分布 x 选择专家,即 K={xRn,ixi=1,x0},从而损失为 ft(x)=gtx

Discrete losses case

我们先考虑加一些条件:每回合,赋予每个专家所谓“决策”以实际意义,为仅有两种选择 A,B,两者一对一错,而损失定义为对 0 错 1(实际上我们可以蛮不讲理地赋予专家损失,而不依赖于所谓决策的实际意义,毕竟我们的目的只是缩小与最优专家的差距)
可以意识到,令决策集为确定性的并不是一个好主意,因为对手可以始终确定地宣布我们的决策是错的;我们可以考虑决策为分布
有定理:

Th. Bounds for deterministic and randomized algorithms, discrete losses case
ϵ(0,1/2),假设最好的专家的错误次数为 L,则:

  1. 存在一个确定性算法,错误次数小等于 2(1+ϵ)L+2logNϵ
  2. 存在一个随机性算法,期望错误次数小等于 (1+ϵ)L+logNϵ

思路:考虑 regret 式子,在某一回合若某个专家被狠狠惩罚了,那他更难在最后成为最优决策点,因此接下来我们会减少跟随这个专家的概率,可以用降低权值刻画之

确定性算法证明:weighted majority (WM)
定义专家 i 在回合 t 的权值为 Wt(i)W1(i)=1
t 回合,将选 A,B 的专家划为 St(A),St(B) 集合,若 iSt(A)Wt(i)iSt(B)Wt(i) 则选 A,否则选 B
选完后获知每个专家是否正确,若专家 i 正确则权值不变,否则降低权值 Wt+1(i)=Wt(i)(1ϵ)
分析算法(套路):
定义 Φt=iWt(i),Φ1=N,定义 Mt 为算法前 t 回合的错误次数,Mt(i) 为专家 i 的错误次数
首先,每次算法犯错,总有 Φt+1Φt(12+12(1ϵ))=Φt(1ϵ2),故 ΦT+1N(1ϵ2)MT
其次,对每个专家 i,权值 WT+1(i)=(1ϵ)MT(i)
最后,由于 WT+1(i)ΦT+1,代入上式,取 log 并运用 xx2log(1x)x 放缩,最后得

MT2(1+ϵ)MT(i)+2logNϵ,i[N]

随机性算法证明:Randomized weighted majority (RWM)
作为 WM 的随机版本,t 回合取 xt,使得 xt(i)=Wt(i)/jWt(j)
定义指示变量 mt=MtMt1,mt(i)=Mt(i)Mt1(i),则 Wt+1(i)=Wt(i)(1ϵmt(i));则:

Φt+1=i=1NWt(i)(1ϵmt(i));套路,指示变量 m 方便下手=Φt(1ϵi=1Nxt(i)mt(i));套路,提出 Φt 引入 xt=Φt(1ϵE[mt])Φtexp(ϵE[mt]);套路,底放到幂,期望求和ΦT+1Nexp(ϵE[MT])

另一方面,WT+1(i)=(1ϵ)MT(i)ΦT+1,放缩得

MT(1+ϵ)MT(i)+logNϵ,i[N]

General case

现在回到一般的连续情况,假设每回合专家受到损失 lt[0,1],给出 Hedge 算法:

Th. Hedge
定义权值惩罚为 Wt+1(i)=Wt(i)eϵlt(i),也就是乘以 [eϵ,1];依然取 xt(i)=Wt(i)/jWt(j),则总损失 E[MT] 满足:

E[MT]=t=1Txtltt=1Tlt(i)+ϵt=1Txtlt2+logNϵ,i[N]

其中 lt2(i)=lt(i)2

证明

Φt+1=i=1NWt(i)exp(ϵlt(i))=Φti=1Nxt(i)exp(ϵlt(i));提出 Φt 引入 xtΦti=1Nxt(i)(1ϵlt(i)+ϵ2lt2(i));幂放到底,从而点乘=Φt(1ϵxtlt+ϵ2xtlt2)Φtexp(ϵxtlt+ϵ2xtlt2);底放到幂,期望求和ΦT+1Nexp(ϵΣt=1Txtlt+ϵ2Σt=1Txtlt2)

另一方面,WT+1(i)=exp(ϵt=1Tlt(i))ΦT+1,放缩得证
但是这个放缩 ex1x+x2,x0 也不漂亮...

posted @   zrkc  阅读(494)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示