Online Learning-0 | Introduction
陆陆续续接触了很多在线学习相关的东西,有必要整理一下了。
Introduction
在线学习的问题框架一般是这样的:
玩家参与一个回合制游戏,在每个回合中,依次进行下面的步骤:
- 环境/对手秘密地选择一个损失函数 \(f_{t}\)
- 玩家做出决策 \(x_t\)
- 揭示损失函数 \(f_{t}\),对玩家造成损失 \(f_{t}(x_t)\)
自然,玩家的目的是最小化所有回合中产生的总损失,为此,玩家需要从历史信息中总结经验,并优化自己的策略。
简而言之,在线学习发生于进行一系列决策的过程,在这个过程中,根据历史决策产生的反馈推测环境中蕴含的信息,并利用这些信息在未来生成更优的决策。
Online Convex Optimization (OCO)
为了便于解决问题,需要定义一些基本的约束:
- 损失函数 \(f_{t}\) 应当是有界的
- 玩家做出决策的决策集也应当是有界的,或者是有结构的(比如符合某种概率分布)
在对抗性场景中,这两个约束能发挥显著的作用。
基于上述的约束,可以对在线凸优化模型进行定义:
设游戏总共有 \(T\) 轮,决策集是欧氏空间中的一个凸集,记为 \(\mathcal{K}\subset \mathbb{R}^n\),损失是 \(\mathcal{K}\) 上的一系列有界凸函数。在第 \(t\) 轮中,损失函数为 \(f_t\in \mathcal{F}:\mathcal{K}\mapsto \mathbb{R}\),其中 \(\mathcal{F}\) 是对手可以使用的损失函数族。玩家做出决策 \(x_t\in \mathcal{K}\) 后收到损失 \(\mathscr{l}_{t}\triangleq f_t(x_t)\)。
Regret
采用不同算法往往会得到不同的总损失,但是有些情况下直接用总损失进行衡量不太好用,所以一般会定义一个 Regret,表示算法 \(\mathcal{A}\) 与最好的固定决策之间的差距,即:
这里的定义有一个小细节,所谓的最好的固定决策,指的是全局视角下,每个回合都采取固定的策略,最后总损失最小的决策(External Regret),而非看穿了对手的所有行为之后,对抗性的选择所有的最优决策。同样是具有后见之明(in hindsight),这两种构造会产生巨大的差距。
例如,如果对手是一个石头剪刀布程序,它的策略是各 \(0.1\) 的概率出剪刀和布,剩余 \(0.8\) 的概率出石头。那么,所谓最好的固定决策,是每一次都出布,而不是知道了它的出手序列,每一小局都赢。
还有一些更强的 Regret 的构造,比如 Swap Regret。
bound
由于损失函数是有界的,所以 \(\text{Reg}_T(\mathcal{A})\) 的上界就是 \(O(T)\)。一个比较好的算法的 Regret 应该是亚线性的,这样就有
这意味着算法的平均性能与事后看来的最优决策一样好。
在具有对抗性的环境中,之前提到的第二种 Regret 的构造 \(\sum_{t=1}^T \min_{x\in\mathcal{K}}f_t(x)\) 可能会带来毁灭性的后果,最坏的情况下所有算法的 Regret 都是线性的。
references
T. Lattimore and C. Szepesvári, Bandit Algorithms. Cambridge: Cambridge University Press, 2020.
Elad Hazan, Introduction to Online Convex Optimization , now, 2016, doi: 10.1561/2400000013.

浙公网安备 33010602011771号