论文阅读笔记【1】:在线凸优化算法Greedy Projection

基本信息

  • 题目: Online Convex Programming and Generalized Infinitesimal Gradient Ascent

  • 作者: Martin Zinkevich

  • 关键词: 在线凸优化,greedy projection

背景

凸优化是线性规划问题的一般形式,广泛应用在机器学习领域和实际经济问题上。一个凸优化问题包含两个部分,一个是作为定义域的凸集,另一个是作为损失函数的凸函数。本文讨论的是在线凸优化问题(损失函数是互不相同的定义在同一个定义域上的序列),典型的问题有expert problem和network routing。本文新提出的Greedy Projection算法是受到了IGA算法的启发,有简单,通用,有效的特点,作者基于本法还对重复博弈提出了新的GIGA算法。

在线凸优化问题

问题定义: 定义域是一个凸集 F ⊆ R n F \subseteq \mathbb{R^n} FRn,一个无限序列 c = { c 1 , c 2 , ⋯   } c =\{c^1,c^2,\cdots\} c={c1,c2,},其中 c t : F → R c^t:F\to \mathbb{R} ct:FR 是凸函数,每一步在选择向量 x t x^t xt后,得到一个损失函数 c t c^t ct,在线凸优化问题目标是找到一个算法,使得选择能达到特定目标。

范数和度量: 定义在 F F F上的范数 ∥ x ∥ = x ⋅ x \lVert x \rVert = \sqrt{x \cdot x} x=xx 和度量 d ( x , y ) = ∥ x − y ∥ d(x,y) = \lVert x-y \rVert d(x,y)=xy,定义可行域的范数
∥ F ∥ = max ⁡ x , y ∈ F d ( x , y ) \lVert F \rVert = \max_{x,y\in F} d(x,y) F=x,yFmaxd(x,y)
定义损失函数梯度序列的范数
∥ ▽ c ∥ = max ⁡ x ∈ F , t ∈ { 1 , 2 , ⋯   } ∥ ▽ c t ( x ) ∥ \lVert \bigtriangledown c \rVert = \max_{x\in F, t\in\{1,2,\cdots\}} \lVert \bigtriangledown c^t(x) \rVert c=xF,t{1,2,}maxct(x)
前提假设:

  • 定义域 F F F是非空的有界闭集
  • 损失函数列的梯度一致有界
  • 能够得到 ∀ c t ∈ c \forall c^t \in c ctc ∀ x ∈ F \forall x\in F xF处的梯度值 ▽ c t ( x ) \bigtriangledown c^t(x) ct(x)
  • 存在函数P,使得对于 ∀ y ∈ R n \forall y\in \mathbb{R^n} yRn,有 P ( y ) = arg ⁡ min ⁡ x ∈ F d ( x , y ) P(y)=\arg\min_{x\in F}d(x,y) P(y)=argminxFd(x,y)存在

算法分析

先来看本文中新提出的算法是怎样进行决策的,决策过程如下

Greedy Projection算法:

  • 输入:初始向量 x 1 x^1 x1,学习率序列 η = { η 1 , η 2 , ⋯   } \eta = \{\eta_1,\eta_2,\cdots\} η={η1,η2,}
  • 输出:决策序列 x = { x 1 , x 2 , ⋯   } x = \{x^1, x^2, \cdots\} x={x1,x2,}
  • 迭代格式:

x t + 1 = P ( x t − η t ▽ c t ( x t ) ) x^{t+1} = P(x^t -\eta_t\bigtriangledown c^t(x^t)) xt+1=P(xtηtct(xt))

要对算法的优劣进行分析,就要先定义针对算法的损失函数,文中称之为regret,

定义regret: 对于算法 A A A及其对应的凸优化问题 ( F , { c 1 , c 2 , ⋯   } ) (F,\{c^1,c^2,\cdots\}) (F,{c1,c2,}),如果选择的结果是 { x 1 , x 2 , …   } \{x^1,x^2,\dots\} {x1,x2,},那么截止到时间 T T T的算法 A A A的损失定义为
C A ( T ) = ∑ t = 1 T c t ( x t ) C_A(T) = \sum_{t=1}^{T}c^t(x^t) CA(T)=t=1Tct(xt)
对于一个固定的 x ∈ F x\in F xF,那么截止到时间 T T T的损失定义为
C x ( T ) = ∑ t = 1 T c t ( x ) C_x(T) = \sum_{t=1}^{T}c^t(x) Cx(T)=t=1Tct(x)
算法 A A A的regret定义为
R A ( T ) = C A ( T ) − min ⁡ x ∈ F C x ( T ) R_A(T) = C_A(T) - \min_{x\in F}C_x(T) RA(T)=CA(T)xFminCx(T)

regret上界估计: 如果 η t = t − 1 2 \eta_t = t^{-\frac{1}{2}} ηt=t21,Greedy Projection算法的regret有以下不等式成立
R G ( T ) ≤ ∥ F ∥ 2 T 2 + ( T − 1 2 ) ∥ ▽ c ∥ 2 R_G(T) \leq \frac{\lVert F \rVert^2\sqrt{T}}{2} + (\sqrt{T}-\frac{1}{2})\lVert \bigtriangledown c \rVert^2 RG(T)2F2T +(T 21)c2
从而说明
lim ⁡ T → ∞ sup ⁡ R G ( T ) T = 0 \lim_{T\to\infin}\sup \frac{R_G(T)}{T} = 0 TlimsupTRG(T)=0

定义动态regret: 序列 { x 1 , x 2 , ⋯   , x T } \{x^1,x^2,\cdots,x^T\} {x1,x2,,xT}的路径长度定义为
∑ i = 1 T − 1 d ( x i , x i + 1 ) \sum_{i=1}^{T-1}d(x^i,x^{i+1}) i=1T1d(xi,xi+1)
算法输出构成的集合 A ( T , L ) = { { x i } i = 1 T ∣ 序 列 路 径 长 度 ≤ L } \mathbb{A}(T,L) = \{\{x_i\}_{i=1}^T|序列路径长度\leq L\} A(T,L)={{xi}i=1TL},算法的动态regret定义为
R A ( T , L ) = C A ( T ) − min ⁡ A ′ ∈ A ( T , L ) C A ′ ( T ) R_A(T,L) = C_A(T) - \min_{A'\in \mathbb{A}(T,L)}C_{A'}(T) RA(T,L)=CA(T)AA(T,L)minCA(T)

动态regret上界估计:

如果 η \eta η固定,Greedy Projection算法的动态regret上界为
R G ( T , L ) ≤ 7 ∥ F ∥ 2 4 η + L ∥ F ∥ η + T η ∥ ▽ c ∥ 2 2 R_G(T,L) \leq \frac{7\lVert F \rVert^2}{4\eta} + \frac{L\lVert F \rVert}{\eta} + \frac{T\eta\lVert\bigtriangledown c \rVert^2}{2} RG(T,L)4η7F2+ηLF+2Tηc2

应用算法

考察Greedy Projection算法在重复博弈问题中的结果,需要进一步定义什么是重复博弈,以及不同策略的regret。

博弈规则: 重复博弈中第一个玩家的可选操作定义为集合 A A A(也被称作联合操作)和第二个玩家的可选操作定义为集合 B B B,定义效用函数为 u : A × B ⟶ R u: A\times B \longrightarrow \mathbb{R} u:A×BR

博弈历史: 定义在 A × B A\times B A×B上的,长度为t的点列记作 H t = ( A × B ) t H^t = (A\times B)^t Ht=(A×B)t,称为博弈历史,所有博弈历史的全集记作 H = ∪ i = 1 ∞ H i H=\cup_{i=1}^\infin H_i H=i=1Hi,博弈历史 h ∈ H h\in H hH的长度记为 ∣ h ∣ |h| h,博弈历史的效用定义为
u t o t a l ( h ) = ∑ i = 1 ∣ h ∣ u ( h i , 1 , h i , 2 ) u_{total}(h) = \sum_{i=1}^{\left| h\right|}u(h_{i,1},h_{i,2}) utotal(h)=i=1hu(hi,1,hi,2)
不行动regret: 假设博弈历史中第二位玩家的策略是不变的,那么如果第一位玩家每次都采取操作 a a a,那么与原来的效用差
R ∗ → a ( h ) = u t o t a l ( h ∗ → a ) − u t o t a l ( h ) R^{*\to a}(h) = u_{total}(h^{*\to a})-u_{total}(h) Ra(h)=utotal(ha)utotal(h)
成为不行动 a a a的regret,进而定义博弈历史的regret为
R ( h ) = max ⁡ a ∈ A R ∗ → a ( h ) R(h) = \max_{a\in A}R^{*\to a}(h) R(h)=aAmaxRa(h)
这样定义的regret只考虑了既成事实,没有考虑根据已经发生的博弈历史来判断对手的策略。所以还需要引进行为和环境这两个概念,

行为: 函数 σ : H → Δ ( A ) \sigma:H\to \Delta(A) σ:HΔ(A),从博弈历史映射到玩家下一个行动的概率分布。

环境: 函数 ρ : H → Δ ( B ) \rho:H \to \Delta(B) ρHΔ(B),从博弈历史映射到下一个环境的下一次行动分布。

针对重复博弈问题,作者给出了如下算法

Generalized Infinitesimal Gradient Ascent

  • 输入:初始向量 x 1 ∈ F x^1 \in F x1F,学习率序列 η = { η 1 , η 2 , ⋯   } \eta = \{\eta_1, \eta_2, \cdots\} η={η1,η2,}

  • 输出:决策序列 { x 1 , x 2 , ⋯   } \{x^1,x^2,\cdots\} {x1,x2,}

  • 迭代格式:
    y i t + 1 = x i t + η t u ( i , h t , 2 ) x t + 1 = P ( y t + 1 ) y_i^{t+1} = x_i^t + \eta_tu(i,h_{t,2}) \\ x^{t+1} = P(y^{t+1}) yit+1=xit+ηtu(i,ht,2)xt+1=P(yt+1)

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值