1.1 The Online Convex Optimization Setting
在线凸优化 Online convex optimization (OCO) ,是一个带有博弈论、统计学习、凸优化的新玩意
给出如下问题叙述:
考虑一种博弈游戏,回合制,第 t ∈ [ T ] t ∈ [ T ] 回合,先由玩家从决策集 K ∈ R n K ∈ R n 中选择一个决策 x t x t ,然后对手从有界函数族 F : K → R F : K → R (可能对抗地)选择一个函数 f t f t 给玩家,玩家受到的损失 loss 为 f t ( x t ) f t ( x t ) (当然给函数有点理想了,现实情况可能就只知道这个决策点的值,但这样没法算 regret)
玩家的目的是尽可能缩小总损失与某个最优固定决策点 的差值 (而对手最大化它),并考虑这个差值关于 T T 的增长函数
这个游戏为了正常运行,有两个最基本的限制:(待我根据具体情境再想想)
损失是有界的
决策集 K K 不一定有穷,但必须是有界的 (somehow bounded and/or structured)
对于凸情况,令 K K 是有界凸集,F F 是凸函数集(总之两者都是有界且凸的)
一个 OCO 算法 A A 根据历史做出当前的决策 x t = A ( f 1 , ⋯ , f t − 1 ) ∈ K x t = A ( f 1 , ⋯ , f t − 1 ) ∈ K
我们考虑用 regret 来衡量 A A ,为该算法的总损失与一个最优的固定决策的差值、对于损失函数序列的上界 :
Regret T ( A ) = sup { f 1 , ⋯ , f T } ⊆ F { T ∑ t = 1 f t ( x t ) − min x ∈ K T ∑ t = 1 f t ( x ) } Regret T ( A ) = sup { f 1 , ⋯ , f T } ⊆ F { ∑ t = 1 T f t ( x t ) − min x ∈ K ∑ t = 1 T f t ( x ) }
这个式子里,我们直接用 sup sup 来刻画对手的决策,并限定了一个固定决策 x x 作为这组 { f 1 , ⋯ , f T } { f 1 , ⋯ , f T } 下的最优解,作为我们的决策的参考
我们定义一个算法 A A 是好的,若 Regret T Regret T 随 T T 的增长函数是亚线性的 sublinear:Regret T = o ( T ) Regret T = o ( T ) ,即 ∀ c > 0 , ∃ T 0 , ∀ T ≥ T 0 , 0 ≤ Regret T < c ⋅ T ∀ c > 0 , ∃ T 0 , ∀ T ≥ T 0 , 0 ≤ Regret T < c ⋅ T
考虑一个平凡的算法:决策始终不变,记为 x ∗ x ∗ ,取 f t f t 始终为 x ∗ x ∗ 与最低点的差最大的那个,记差为 d d ,则 regret = d T = O ( T ) = d T = O ( T ) ;所以亚线性算是最低限度的要求了
此外,我们还需要关注算法给出决策的最坏时间复杂度
1.2 Examples of OCO
1.2.1 Prediction from expert advice
问题描述:
有 N N 个专家,T T 个回合,每回合专家们给出自己的建议决策,玩家决定选择专家 i i 后,会获得对手给出的专家们的损失向量 g t ∈ [ 0 , 1 ] g t ∈ [ 0 , 1 ] ,而玩家受到和专家 i i 相同的损失 g t ( i ) g t ( i )
决策集可以为确定性的 K = [ N ] K = [ N ] ;或者为以某一个分布 x x 选择专家,即 K = { x ∈ R n , ∑ i x i = 1 , x ≥ 0 } K = { x ∈ R n , ∑ i x i = 1 , x ≥ 0 } ,从而损失为 f t ( x ) = g ′ t x f t ( x ) = g t ′ x
Discrete losses case
我们先考虑加一些条件:每回合,赋予每个专家所谓“决策”以实际意义,为仅有两种选择 A , B A , B ,两者一对一错,而损失定义为对 0 错 1(实际上我们可以蛮不讲理地赋予专家损失,而不依赖于所谓决策的实际意义,毕竟我们的目的只是缩小与最优专家的差距)
可以意识到,令决策集为确定性的并不是一个好主意,因为对手可以始终确定地宣布我们的决策是错的;我们可以考虑决策为分布
有定理:
Th. Bounds for deterministic and randomized algorithms, discrete losses case
令 ϵ ∈ ( 0 , 1 / 2 ) ϵ ∈ ( 0 , 1 / 2 ) ,假设最好的专家的错误次数为 L L ,则:
存在一个确定性算法,错误次数小等于 2 ( 1 + ϵ ) L + 2 log N ϵ 2 ( 1 + ϵ ) L + 2 log N ϵ
存在一个随机性算法,期望错误次数小等于 ( 1 + ϵ ) L + log N ϵ ( 1 + ϵ ) L + log N ϵ
思路:考虑 regret 式子,在某一回合若某个专家被狠狠惩罚了,那他更难在最后成为最优决策点,因此接下来我们会减少跟随这个专家的概率,可以用降低权值刻画之
确定性算法证明:weighted majority (WM)
定义专家 i i 在回合 t t 的权值为 W t ( i ) W t ( i ) ,W 1 ( i ) = 1 W 1 ( i ) = 1
第 t t 回合,将选 A , B A , B 的专家划为 S t ( A ) , S t ( B ) S t ( A ) , S t ( B ) 集合,若 ∑ i ∈ S t ( A ) W t ( i ) ≥ ∑ i ∈ S t ( B ) W t ( i ) ∑ i ∈ S t ( A ) W t ( i ) ≥ ∑ i ∈ S t ( B ) W t ( i ) 则选 A A ,否则选 B B
选完后获知每个专家是否正确,若专家 i i 正确则权值不变,否则降低权值 W t + 1 ( i ) = W t ( i ) ( 1 − ϵ ) W t + 1 ( i ) = W t ( i ) ( 1 − ϵ )
分析算法(套路):
定义 Φ t = ∑ i W t ( i ) , Φ 1 = N Φ t = ∑ i W t ( i ) , Φ 1 = N ,定义 M t M t 为算法前 t t 回合的错误次数,M t ( i ) M t ( i ) 为专家 i i 的错误次数
首先,每次算法犯错,总有 Φ t + 1 ≤ Φ t ( 1 2 + 1 2 ( 1 − ϵ ) ) = Φ t ( 1 − ϵ 2 ) Φ t + 1 ≤ Φ t ( 1 2 + 1 2 ( 1 − ϵ ) ) = Φ t ( 1 − ϵ 2 ) ,故 Φ T + 1 ≤ N ( 1 − ϵ 2 ) M T Φ T + 1 ≤ N ( 1 − ϵ 2 ) M T
其次,对每个专家 i i ,权值 W T + 1 ( i ) = ( 1 − ϵ ) M T ( i ) W T + 1 ( i ) = ( 1 − ϵ ) M T ( i )
最后,由于 W T + 1 ( i ) ≤ Φ T + 1 W T + 1 ( i ) ≤ Φ T + 1 ,代入上式,取 log log 并运用 − x − x 2 ≤ log ( 1 − x ) ≤ − x − x − x 2 ≤ log ( 1 − x ) ≤ − x 放缩,最后得
M T ≤ 2 ( 1 + ϵ ) M T ( i ) + 2 log N ϵ , i ∈ [ N ] M T ≤ 2 ( 1 + ϵ ) M T ( i ) + 2 log N ϵ , i ∈ [ N ]
随机性算法证明:Randomized weighted majority (RWM)
作为 WM 的随机版本,t t 回合取 x t x t ,使得 x t ( i ) = W t ( i ) / ∑ j W t ( j ) x t ( i ) = W t ( i ) / ∑ j W t ( j )
定义指示变量 m t = M t − M t − 1 , m t ( i ) = M t ( i ) − M t − 1 ( i ) m t = M t − M t − 1 , m t ( i ) = M t ( i ) − M t − 1 ( i ) ,则 W t + 1 ( i ) = W t ( i ) ( 1 − ϵ m t ( i ) ) W t + 1 ( i ) = W t ( i ) ( 1 − ϵ m t ( i ) ) ;则:
Φ t + 1 = N ∑ i = 1 W t ( i ) ( 1 − ϵ m t ( i ) ) ; 套 路 , 指 示 变 量 m 方 便 下 手 = Φ t ( 1 − ϵ N ∑ i = 1 x t ( i ) m t ( i ) ) ; 套 路 , 提 出 Φ t 引 入 x t = Φ t ( 1 − ϵ E [ m t ] ) ≤ Φ t exp ( − ϵ E [ m t ] ) ; 套 路 , 底 放 到 幂 , 期 望 求 和 Φ T + 1 ≤ N exp ( − ϵ E [ M T ] ) Φ t + 1 = ∑ i = 1 N W t ( i ) ( 1 − ϵ m t ( i ) ) ; 套路,指示变量 m 方便下手 = Φ t ( 1 − ϵ ∑ i = 1 N x t ( i ) m t ( i ) ) ; 套路,提出 Φ t 引入 x t = Φ t ( 1 − ϵ E [ m t ] ) ≤ Φ t exp ( − ϵ E [ m t ] ) ; 套路,底放到幂,期望求和 Φ T + 1 ≤ N exp ( − ϵ E [ M T ] )
另一方面,W T + 1 ( i ) = ( 1 − ϵ ) M T ( i ) ≤ Φ T + 1 W T + 1 ( i ) = ( 1 − ϵ ) M T ( i ) ≤ Φ T + 1 ,放缩得
M T ≤ ( 1 + ϵ ) M T ( i ) + log N ϵ , i ∈ [ N ] M T ≤ ( 1 + ϵ ) M T ( i ) + log N ϵ , i ∈ [ N ]
General case
现在回到一般的连续情况,假设每回合专家受到损失 l t ∈ [ 0 , 1 ] l t ∈ [ 0 , 1 ] ,给出 Hedge 算法:
Th. Hedge
定义权值惩罚为 W t + 1 ( i ) = W t ( i ) e − ϵ l t ( i ) W t + 1 ( i ) = W t ( i ) e − ϵ l t ( i ) ,也就是乘以 [ e − ϵ , 1 ] [ e − ϵ , 1 ] ;依然取 x t ( i ) = W t ( i ) / ∑ j W t ( j ) x t ( i ) = W t ( i ) / ∑ j W t ( j ) ,则总损失 E [ M T ] E [ M T ] 满足:
E [ M T ] = T ∑ t = 1 x ′ t l t ≤ T ∑ t = 1 l t ( i ) + ϵ T ∑ t = 1 x ′ t l 2 t + log N ϵ , i ∈ [ N ] E [ M T ] = ∑ t = 1 T x t ′ l t ≤ ∑ t = 1 T l t ( i ) + ϵ ∑ t = 1 T x t ′ l t 2 + log N ϵ , i ∈ [ N ]
其中 l 2 t ( i ) = l t ( i ) 2 l t 2 ( i ) = l t ( i ) 2
证明
Φ t + 1 = N ∑ i = 1 W t ( i ) exp ( − ϵ l t ( i ) ) = Φ t N ∑ i = 1 x t ( i ) exp ( − ϵ l t ( i ) ) ; 提 出 Φ t 引 入 x t ≤ Φ t N ∑ i = 1 x t ( i ) ( 1 − ϵ l t ( i ) + ϵ 2 l 2 t ( i ) ) ; 幂 放 到 底 , 从 而 点 乘 = Φ t ( 1 − ϵ x ′ t l t + ϵ 2 x ′ t l 2 t ) ≤ Φ t exp ( − ϵ x ′ t l t + ϵ 2 x ′ t l 2 t ) ; 底 放 到 幂 , 期 望 求 和 Φ T + 1 ≤ N exp ( − ϵ Σ T t = 1 x ′ t l t + ϵ 2 Σ T t = 1 x ′ t l 2 t ) Φ t + 1 = ∑ i = 1 N W t ( i ) exp ( − ϵ l t ( i ) ) = Φ t ∑ i = 1 N x t ( i ) exp ( − ϵ l t ( i ) ) ; 提出 Φ t 引入 x t ≤ Φ t ∑ i = 1 N x t ( i ) ( 1 − ϵ l t ( i ) + ϵ 2 l t 2 ( i ) ) ; 幂放到底,从而点乘 = Φ t ( 1 − ϵ x t ′ l t + ϵ 2 x t ′ l t 2 ) ≤ Φ t exp ( − ϵ x t ′ l t + ϵ 2 x t ′ l t 2 ) ; 底放到幂,期望求和 Φ T + 1 ≤ N exp ( − ϵ Σ t = 1 T x t ′ l t + ϵ 2 Σ t = 1 T x t ′ l t 2 )
另一方面,W T + 1 ( i ) = exp ( − ϵ ∑ T t = 1 l t ( i ) ) ≤ Φ T + 1 W T + 1 ( i ) = exp ( − ϵ ∑ t = 1 T l t ( i ) ) ≤ Φ T + 1 ,放缩得证
但是这个放缩 e − x ≤ 1 − x + x 2 , x ≥ 0 e − x ≤ 1 − x + x 2 , x ≥ 0 也不漂亮...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)