论文阅读笔记【1】:在线凸优化算法Greedy Projection
基本信息
题目: Online Convex Programming and Generalized Infinitesimal Gradient Ascent
作者: Martin Zinkevich
关键词: 在线凸优化,greedy projection
背景
凸优化是线性规划问题的一般形式,广泛应用在机器学习领域和实际经济问题上。一个凸优化问题包含两个部分,一个是作为定义域的凸集,另一个是作为损失函数的凸函数。本文讨论的是在线凸优化问题(损失函数是互不相同的定义在同一个定义域上的序列),典型的问题有expert problem和network routing。本文新提出的Greedy Projection算法是受到了IGA算法的启发,有简单,通用,有效的特点,作者基于本法还对重复博弈提出了新的GIGA算法。
在线凸优化问题
问题定义: 定义域是一个凸集F⊆RnF \subseteq \mathbb{R^n}F⊆Rn,一个无限序列c={c1,c2,⋯}c =\{c^1,c^2,\cdots\}c={c1,c2,⋯},其中ct:F→Rc^t:F\to \mathbb{R}ct:F→R 是凸函数,每一步在选择向量xtx^txt后,得到一个损失函数ctc^tct,在线凸优化问题目标是找到一个算法,使得选择能达到特定目标。
范数和度量: 定义在FFF上的范数∥x∥=x⋅x\lVert x \rVert = \sqrt{x \cdot x}∥x∥=x⋅x和度量d(x,y)=∥x−y∥d(x,y) = \lVert x-y \rVertd(x,y)=∥x−y∥,定义可行域的范数
∥F∥=maxx,y∈Fd(x,y)\lVert F \rVert = \max_{x,y\in F} d(x,y) ∥F∥=x,y∈Fmaxd(x,y)
定义损失函数梯度序列的范数
∥▽c∥=maxx∈F,t∈{1,2,⋯}∥▽ct(x)∥\lVert \bigtriangledown c \rVert = \max_{x\in F, t\in\{1,2,\cdots\}} \lVert \bigtriangledown c^t(x) \rVert ∥▽c∥=x∈F,t∈{1,2,⋯}max∥▽ct(x)∥
前提假设:
- 定义域FFF是非空的有界闭集
- 损失函数列的梯度一致有界
- 能够得到∀ct∈c\forall c^t \in c∀ct∈c在∀x∈F\forall x\in F∀x∈F处的梯度值▽ct(x)\bigtriangledown c^t(x)▽ct(x)
- 存在函数P,使得对于∀y∈Rn\forall y\in \mathbb{R^n}∀y∈Rn,有P(y)=argminx∈Fd(x,y)P(y)=\arg\min_{x\in F}d(x,y)P(y)=argminx∈Fd(x,y)存在
算法分析
先来看本文中新提出的算法是怎样进行决策的,决策过程如下
Greedy Projection算法:
- 输入:初始向量x1x^1x1,学习率序列η={η1,η2,⋯}\eta = \{\eta_1,\eta_2,\cdots\}η={η1,η2,⋯}
- 输出:决策序列x={x1,x2,⋯}x = \{x^1, x^2, \cdots\}x={x1,x2,⋯}
- 迭代格式:
xt+1=P(xt−ηt▽ct(xt))x^{t+1} = P(x^t -\eta_t\bigtriangledown c^t(x^t)) xt+1=P(xt−ηt▽ct(xt))
要对算法的优劣进行分析,就要先定义针对算法的损失函数,文中称之为regret,
定义regret: 对于算法AAA及其对应的凸优化问题(F,{c1,c2,⋯})(F,\{c^1,c^2,\cdots\})(F,{c1,c2,⋯}),如果选择的结果是{x1,x2,…}\{x^1,x^2,\dots\}{x1,x2,…},那么截止到时间TTT的算法AAA的损失定义为
CA(T)=∑t=1Tct(xt)C_A(T) = \sum_{t=1}^{T}c^t(x^t) CA(T)=t=1∑Tct(xt)
对于一个固定的x∈Fx\in Fx∈F,那么截止到时间TTT的损失定义为
Cx(T)=∑t=1Tct(x)C_x(T) = \sum_{t=1}^{T}c^t(x) Cx(T)=t=1∑Tct(x)
算法AAA的regret定义为
RA(T)=CA(T)−minx∈FCx(T)R_A(T) = C_A(T) - \min_{x\in F}C_x(T) RA(T)=CA(T)−x∈FminCx(T)
regret上界估计: 如果ηt=t−12\eta_t = t^{-\frac{1}{2}}ηt=t−21,Greedy Projection算法的regret有以下不等式成立
RG(T)≤∥F∥2T2+(T−12)∥▽c∥2R_G(T) \leq \frac{\lVert F \rVert^2\sqrt{T}}{2} + (\sqrt{T}-\frac{1}{2})\lVert \bigtriangledown c \rVert^2 RG(T)≤2∥F∥2T+(T−21)∥▽c∥2
从而说明
limT→∞supRG(T)T=0\lim_{T\to\infin}\sup \frac{R_G(T)}{T} = 0 T→∞limsupTRG(T)=0
定义动态regret: 序列{x1,x2,⋯,xT}\{x^1,x^2,\cdots,x^T\}{x1,x2,⋯,xT}的路径长度定义为
∑i=1T−1d(xi,xi+1)\sum_{i=1}^{T-1}d(x^i,x^{i+1}) i=1∑T−1d(xi,xi+1)
算法输出构成的集合A(T,L)={{xi}i=1T∣序列路径长度≤L}\mathbb{A}(T,L) = \{\{x_i\}_{i=1}^T|序列路径长度\leq L\}A(T,L)={{xi}i=1T∣序列路径长度≤L},算法的动态regret定义为
RA(T,L)=CA(T)−minA′∈A(T,L)CA′(T)R_A(T,L) = C_A(T) - \min_{A'\in \mathbb{A}(T,L)}C_{A'}(T) RA(T,L)=CA(T)−A′∈A(T,L)minCA′(T)
动态regret上界估计:
如果η\etaη固定,Greedy Projection算法的动态regret上界为
RG(T,L)≤7∥F∥24η+L∥F∥η+Tη∥▽c∥22R_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η7∥F∥2+ηL∥F∥+2Tη∥▽c∥2
应用算法
考察Greedy Projection算法在重复博弈问题中的结果,需要进一步定义什么是重复博弈,以及不同策略的regret。
博弈规则: 重复博弈中第一个玩家的可选操作定义为集合AAA(也被称作联合操作)和第二个玩家的可选操作定义为集合BBB,定义效用函数为u:A×B⟶Ru: A\times B \longrightarrow \mathbb{R}u:A×B⟶R,
博弈历史: 定义在A×BA\times BA×B上的,长度为t的点列记作Ht=(A×B)tH^t = (A\times B)^tHt=(A×B)t,称为博弈历史,所有博弈历史的全集记作H=∪i=1∞HiH=\cup_{i=1}^\infin H_iH=∪i=1∞Hi,博弈历史h∈Hh\in Hh∈H的长度记为∣h∣|h|∣h∣,博弈历史的效用定义为
utotal(h)=∑i=1∣h∣u(hi,1,hi,2)u_{total}(h) = \sum_{i=1}^{\left| h\right|}u(h_{i,1},h_{i,2}) utotal(h)=i=1∑∣h∣u(hi,1,hi,2)
不行动regret: 假设博弈历史中第二位玩家的策略是不变的,那么如果第一位玩家每次都采取操作aaa,那么与原来的效用差
R∗→a(h)=utotal(h∗→a)−utotal(h)R^{*\to a}(h) = u_{total}(h^{*\to a})-u_{total}(h) R∗→a(h)=utotal(h∗→a)−utotal(h)
成为不行动aaa的regret,进而定义博弈历史的regret为
R(h)=maxa∈AR∗→a(h)R(h) = \max_{a\in A}R^{*\to a}(h) R(h)=a∈AmaxR∗→a(h)
这样定义的regret只考虑了既成事实,没有考虑根据已经发生的博弈历史来判断对手的策略。所以还需要引进行为和环境这两个概念,
行为: 函数σ:H→Δ(A)\sigma:H\to \Delta(A)σ:H→Δ(A),从博弈历史映射到玩家下一个行动的概率分布。
环境: 函数ρ:H→Δ(B)\rho:H \to \Delta(B)ρ:H→Δ(B),从博弈历史映射到下一个环境的下一次行动分布。
针对重复博弈问题,作者给出了如下算法
Generalized Infinitesimal Gradient Ascent
输入:初始向量x1∈Fx^1 \in Fx1∈F,学习率序列η={η1,η2,⋯}\eta = \{\eta_1, \eta_2, \cdots\}η={η1,η2,⋯}
输出:决策序列{x1,x2,⋯}\{x^1,x^2,\cdots\}{x1,x2,⋯}
迭代格式:
yit+1=xit+ηtu(i,ht,2)xt+1=P(yt+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)
论文阅读笔记【1】:在线凸优化算法Greedy Projection相关推荐
- 博士论文阅读_仿生群智能优化算法及在点云配准中的应用研究
1.应用领域 计算机视觉:高效的仿生群智能优化策略应用于解决复杂的三维点云配准问题. 概念: (1)点云:是一个数据集,数据集中的每个点代表一组X.Y.Z几何坐标和一个强度值,这个强度值根据物体表面反 ...
- 论文阅读笔记 | 三维目标检测——PartA2算法
如有错误,恳请指出. 文章目录 0. 前言与补充知识 1. 背景 2. 相关工作 3. 网络结构 3.1 Part-aware stage Anchor-free Proposal Generatio ...
- 论文阅读笔记 | 三维目标检测——Complex-YOLO算法
如有错误,恳请指出. 文章目录 1. 背景 2. 网路结构 3. 实验结果 paper:<Complex-YOLO: An Euler-Region-Proposal for Real-time ...
- 论文阅读笔记 | 三维目标检测——VoxelRCNN算法
如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 Voxel Query Voxel ROI Pooling Accelerated Aggregation Loss Compute 3. ...
- 论文阅读笔记 | 三维目标检测——VoxelNet算法
如有错误,恳请指出. 文章目录 1.背景 2. 网络结构 2.1 体素特征表示 2.2 卷积特征提取 2.3 RPN网络 3. 实验结果 paper:<VoxelNet: End-to-End ...
- 论文阅读笔记 | 三维目标检测——MV3D算法
如有错误,恳请指出. 文章目录 1. 背景 2. 网络结构 2.1 提案投影网络 2.2 区域融合网络 3. 实验结果 paper:<Multi-View 3D Object Detection ...
- 论文阅读笔记 | 目标检测算法——SAPD算法
如有错误,恳请指出. 文章目录 1. Introduction 2. Soft Anchor-Point Detector 2.1 Detection Formulation with Anchor ...
- 论文阅读笔记 | 目标检测算法——FSAF算法
如有错误,恳请指出 文章目录 1. Introduction 2. FSAF Module 2.1 Network Architecture 2.2 Ground-truth and Loss 2.2 ...
- 【论文阅读笔记】Myers的O(ND)时间复杂度的高效的diff算法
前言 之前咱们三个同学做了个Simple-SCM,我负责那个Merge模块,也就是对两个不同分支的代码进行合并.当时为了简便起见,遇到文件冲突的时候,就直接按照文件的更改日期来存储,直接把更改日期较新 ...
最新文章
- 本地Yum仓库搭建部署
- frame 2 opencv mat
- 朴素贝叶斯-垃圾邮件分类实现
- TCP-IP详解:快速重传与快速恢复
- AndroidStudio项目提交(更新)到github最详细步骤
- 【caffe解读】 caffe从数学公式到代码实现5-caffe中的卷积
- [云炬创业管理笔记]第四章把握创业机会测试3
- 解决jquery的scrollTop()置顶的浏览器兼容
- python用pip安装pygame_安装pygame和pip的问题以及过程
- MATLAB矩阵元素的处理
- [LeetCode]Subsets II生成组合序列
- 语音信号处理(九)——离散余弦变换
- Word2Vec算法详解(相关背景介绍)
- 【find】Linux中find常见用法示例
- 云鹊医怎么快速认证_兴趣认证怎么申请?掌握这9个小技巧,快速通过
- 白鹭发布html5,白鹭Egret Engine 1.5发布 HTML5性能大幅提升
- 自动跑程序vbs脚本
- 更改csv默认分隔符
- 周志华----机器学习2
- 【电影】小萝莉的猴神大叔