遗憾界——《机器学习理论导引》第八章学习笔记(上)

451 阅读5分钟

《机器学习理论导引》笔记目录

0 感言

  之前一直在忙着做自己的工作,所以过去的两个月中的时间并没有对于博客进行更新。正巧现在终于和之前的工作暂时告一段落,便在自己给自己的几天假期中更新下博客,争取尽快把这个板块更新完。mathpix搞公式真的快啊,手打公式真的差远了

8.1 基本概念

批量学习 (Batch learning)

  对于批量学习而言,学习器通过数据集 DT={(x1,y1),⋯ ,(xT,yT)}D_{\mathrm{T}}=\left\{\left(\boldsymbol{x}_1, y_1\right), \cdots,\left(\boldsymbol{x}_{\boldsymbol{T}}, y_T\right)\right\} 学到模型 wT+1\boldsymbol{w}_{\mathrm{T}+1},其对应的超额风险 (Excess Risk) 为 :

E(x,y)∼D[ℓ(wT+1,(x,y))]−min⁡w∈WE(x,y)∼D[ℓ(w,(x,y))]\mathbb{E}_{(x, y) \sim \mathcal{D}}\left[\ell\left(\boldsymbol{w}_{T+1},(\boldsymbol{x}, y)\right)\right]-\min _{\boldsymbol{w} \in \mathcal{W}} \mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D}}[\ell(\boldsymbol{w},(\boldsymbol{x}, y))]

  批量学习的特点为 1.所有的训练数据提前获得 2.只关心整个学习过程结束后得到的分类器性能 3.数据规模非常大时,计算复杂度高、响应慢

在线学习 (Online learning)

  学习器通过数据集 Dt−1={(x1,y1),⋯ ,(xt−1,yt−1)}D_{\mathrm{t-1}}=\left\{\left(\boldsymbol{x}_1, y_1\right), \cdots,\left(\boldsymbol{x}_{\boldsymbol{t-1}}, y_{t-1}\right)\right\} 学习到模型 wt\boldsymbol{w}_{\mathrm{t}},遭受损失 ℓ(wt,(xt,yt))\ell\left(w_t,\left(x_t, y_t\right)\right),然后,学习器将样本 (xt,yt)\left(\boldsymbol{x}_{\boldsymbol{t}}, y_{t}\right) 加入到数据集中,继续更新模型。其对一个的序贯 (sequential) 超额损失为 :

∑t=1Tℓ(wt,(xt,yt))−min⁡w∈W∑t=1Tℓ(w,(xt,yt))\sum_{t=1}^T \ell\left(\boldsymbol{w}_{\mathrm{t}},\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right)\right)-\min _{\boldsymbol{w} \in \mathcal{W}} \sum_{t=1}^T \ell\left(\boldsymbol{w},\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right)\right)

  ℓ(wt,(xt,yt))\ell\left(w_t,\left(x_t, y_t\right)\right) 反映模型 wt\boldsymbol{w}_{\mathrm{t}} 反映模型 (xt,yt)\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right) 上的损失。

遗憾 (Regret)

  • 在线学习可被形式化为学习器和对手之间的博弈过程 :

    • 在每一轮 tt,学习器从解空间 W\mathcal{W} 中选择决策 wt\boldsymbol{w}_{\mathrm{t}},同时,对手选择一个损失函数 ft(⋅):W→Rf_t(\cdot): \mathcal{W} \rightarrow \mathbb{R}

    • 学习器遭受损失 ft(wt)f_t\left(\boldsymbol{w}_t\right),并更新模型获得 t+1t+1 轮的解 wt+1\boldsymbol{w}_{\mathrm{t}+1}

  • 遗憾的定义 : 在线算法的损失和离线算法最小损失的差值

 regret =∑t=1Tft(wt)−min⁡w∈W∑t=1Tft(w)\text { regret }=\sum_{t=1}^T f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)-\min _{\boldsymbol{w} \in \mathcal{W}} \sum_{t=1}^T f_t(\boldsymbol{w})
  • 在线学习的目的就是最小化累计损失 (即最小化遗憾)

  • 在线学习希望达到次线性的遗憾. 即 regret/ T→0( T→+∞)\mathrm{T} \rightarrow 0(\mathrm{~T} \rightarrow+\infty)

  • 具备次线性遗憾的算法称为满足 Hannan 一致性。

超额风险 (Excess Risk)

  • 超额风险和遗憾的计算如下
E(x,y)∼D[ℓ(wT+1,(x,y))]−min⁡w∈WE(x,y)∼D[ℓ(w,(x,y))]∑t=1Tℓ(wt,(xt,yt))−min⁡w∈W∑t=1Tℓ(w,(xt,yt))\mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D}}\left[\ell\left(\boldsymbol{w}_{T+1},(\boldsymbol{x}, y)\right)\right]-\min _{\boldsymbol{w} \in \mathcal{W}} \mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D}}[\ell(\boldsymbol{w},(\boldsymbol{x}, y))]\\ \sum_{t=1}^T \ell\left(\boldsymbol{w}_{\mathrm{t}},\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right)\right)-\min _{\boldsymbol{w} \in \mathcal{W}} \sum_{t=1}^T \ell\left(\boldsymbol{w},\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right)\right)
  • 超额风险引入期望操作而遗憾没有
  • 超额风险的计算是一次性在所有数据上进行的计算,而遗憾是对多次损失的求和

在线学习的分类

  • 根据算法接收反馈的不同,分为两类 :
    • 完全信息在线学习 (full information online learning)

      • 学习器可以观察到完整的损失函数 ft(⋅)f_t(\cdot)
      • e.g. 如在赛马比赛中,不仅可以看到所选马的结果,还可以看到本轮所有马的比赛结果
    • 赌博机在线学习 (bandit online learning)

      • 学习器只能观察到损失函数在所选决策 wtw_t 上的值 ft(wt)f_t\left(w_t\right)
      • e.g. 在赌博机中,面对多个摇臂,只能选择一个摇动,只能获得所选摇臂的反馈,无法观测其他摇臂的值

8.2 完全信息在线学习

在线凸优化

  • 在线凸优化假设所有的损失函数 ft(⋅)f_t(\cdot) 和可行域 ww 都是凸的

  • 在线求解的方式 :

    • 在每一轮 tt,学习器从解空间 W\mathcal{W} 选择模型 wtw_t
    • 学习器观测到样本 (xt,yt)\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right),并遭受损失 ft(wt)=ℓ(wt,(xt,yt))f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)=\ell\left(\boldsymbol{w}_{\boldsymbol{t}},\left(\boldsymbol{x}_{\boldsymbol{t}}, y_t\right)\right)
    • 学习器根据损失函数更新模型 wtw_t
  • 这里的损失函数 ℓ(⋅,⋅)\ell(\cdot,\cdot) 用来衡量预测值 wtTxtw^T_tx_t 和真实标记 yty_t 的差异

    • 分类问题可选 :
      • hinge 损失函数
        ℓhinge (wt,(xt,yt))=max⁡(0,1−ytwtTxt)\ell_{\text {hinge }}\left(\boldsymbol{w}_t,\left(\boldsymbol{x}_t, y_t\right)\right)=\max \left(0,1-y_t \boldsymbol{w}_t^{\mathrm{T}} \boldsymbol{x}_t\right)
      • 对率损失函数
        ℓlog⁡(wt,(xt,yt))=ln⁡(1+exp⁡(−ytwtTxt))\ell_{\log }\left(\boldsymbol{w}_t,\left(\boldsymbol{x}_t, y_t\right)\right)=\ln \left(1+\exp \left(-y_t \boldsymbol{w}_t^{\mathrm{T}} \boldsymbol{x}_t\right)\right)
    • 回归问题可选 :
      • 平方损失函数
        ℓsquare (wt,(xt,yt))=(yt−wtTxt)2\ell_{\text {square }}\left(\boldsymbol{w}_t,\left(\boldsymbol{x}_t, y_t\right)\right)=\left(y_t-\boldsymbol{w}_t^{\mathrm{T}} \boldsymbol{x}_t\right)^2

  • 在线梯度下降 (Online Gradient Descent)

    • T 是迭代轮数
    • ΠW(z)=argmin⁡x∈W∥x−z∥\Pi_{\mathcal{W}}(\mathbf{z})=\underset{x \in \mathcal{W}}{\operatorname{argmin}}\|\boldsymbol{x}-\boldsymbol{z}\|,是投影操作
    • ηt\eta_t 是衰减的步长

定理 8.1 (在线凸优化的遗憾界)

  假设所有在线函数是在 ll-Lipschitz 连续,且可行域有界,则对于凸优化问题,在线梯度下降的遗憾界为 O(T)O(\sqrt{T})

证明

  令可行域 W\mathcal{W} 的直径为 T\Tau 且所有在线函数是 ll-Lipschitz 连续,即

∥u−v∥⩽Γ,∀u,v∈W∥∇ft(w)∥⩽l,∀t∈[T],w∈W\begin{gathered} \|\boldsymbol{u}-\boldsymbol{v}\| \leqslant \Gamma, \forall \boldsymbol{u}, \boldsymbol{v} \in \mathcal{W} \\ \left\|\nabla f_t(\boldsymbol{w})\right\| \leqslant l, \forall t \in[T], \boldsymbol{w} \in \mathcal{W} \end{gathered}

  步长设置为 ηt=Γ/(lt)\eta_t=\Gamma /(l \sqrt{t}),定义 wt+1′=wt−ηt∇ft(wt)\boldsymbol{w}_{\boldsymbol{t}+\mathbf{1}}^{\prime}=\boldsymbol{w}_{\boldsymbol{t}}-\eta_t \nabla f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)。对于任意 w∈Ww\in\mathcal{W},

ft(wt)−ft(w)⩽⟨∇ft(wt),wt−w⟩=1ηt⟨wt−wt+1′,wt−w⟩=12ηt(∥wt−w∥2−∥wt+1′−w∥2+∥wt−wt+1′∥2)=12ηt(∥wt−w∥2−∥wt+1′−w∥2)+ηt2∥∇ft(wt)∥2⩽12ηt(∥wt−w∥2−∥wt+1−w∥2)+ηt2∥∇ft(wt)∥2⩽12ηt(∥wt−w∥2−∥wt+1−w∥2)+ηt2l2\begin{aligned} f_t\left(\boldsymbol{w}_t\right)-f_t(\boldsymbol{w}) & \leqslant\left\langle\nabla f_t\left(\boldsymbol{w}_t\right), \boldsymbol{w}_t-\boldsymbol{w}\right\rangle=\frac{1}{\eta_t}\left\langle\boldsymbol{w}_t-\boldsymbol{w}_{t+1}^{\prime}, \boldsymbol{w}_t-\boldsymbol{w}\right\rangle \\ & =\frac{1}{2 \eta_t}\left(\left\|\boldsymbol{w}_t-\boldsymbol{w}\right\|^2-\left\|\boldsymbol{w}_{t+1}^{\prime}-\boldsymbol{w}\right\|^2+\left\|\boldsymbol{w}_t-\boldsymbol{w}_{t+1}^{\prime}\right\|^2\right) \\ & =\frac{1}{2 \eta_t}\left(\left\|\boldsymbol{w}_t-\boldsymbol{w}\right\|^2-\left\|\boldsymbol{w}_{t+1}^{\prime}-\boldsymbol{w}\right\|^2\right)+\frac{\eta_t}{2}\left\|\nabla f_t\left(\boldsymbol{w}_t\right)\right\|^2 \\ & \leqslant \frac{1}{2 \eta_t}\left(\left\|\boldsymbol{w}_t-\boldsymbol{w}\right\|^2-\left\|\boldsymbol{w}_{t+1}-\boldsymbol{w}\right\|^2\right)+\frac{\eta_t}{2}\left\|\nabla f_t\left(\boldsymbol{w}_t\right)\right\|^2 \\ & \leqslant \frac{1}{2 \eta_t}\left(\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2-\left\|\boldsymbol{w}_{\boldsymbol{t}+1}-\boldsymbol{w}\right\|^2\right)+\frac{\eta_t}{2} l^2 \end{aligned}

  对上式从 t=1t = 1 到 TT 求和,得到

∑t=1Tft(wt)−∑t=1Tft(w)⩽12η1∥wt−w∥2−12ηT∥wT+1−w∥2+12∑t=2T(1ηt−1ηt−1)∥wt−w∥2+l22∑t=1Tηt\begin{aligned} \sum_{t=1}^T f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)-\sum_{t=1}^T f_t(\boldsymbol{w}) &\leqslant \frac{1}{2 \eta_1}\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2-\frac{1}{2 \eta_T}\left\|\boldsymbol{w}_{\boldsymbol{T}+\mathbf{1}}-\boldsymbol{w}\right\|^2 \\ & +\frac{1}{2} \sum_{t=2}^T\left(\frac{1}{\eta_t}-\frac{1}{\eta_{t-1}}\right)\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2+\frac{l^2}{2} \sum_{t=1}^T \eta_t \end{aligned}

  根据 ∥u−v∥⩽Γ,∀u,v∈W\|\boldsymbol{u}-\boldsymbol{v}\| \leqslant \Gamma, \forall \boldsymbol{u}, \boldsymbol{v} \in \mathcal{W} 以及 ηt<ηt−1\eta_t<\eta_{t-1}, 有

∑t=1Tft(wt)−∑t=1Tft(w)⩽Γ22η1+Γ22∑t=2T(1ηt−1ηt−1)+l22∑t=1Tηt=Γ22ηT+l22∑t=1Tηt=ΓlT2+Γl2∑t=1T1t⩽3Γl2T\begin{aligned} \sum_{t=1}^T f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)-\sum_{t=1}^T f_t(\boldsymbol{w}) & \leqslant \frac{\Gamma^2}{2 \eta_1}+\frac{\Gamma^2}{2} \sum_{t=2}^T\left(\frac{1}{\eta_t}-\frac{1}{\eta_{t-1}}\right)+\frac{l^2}{2} \sum_{t=1}^T \eta_t \\ & =\frac{\Gamma^2}{2 \eta_T}+\frac{l^2}{2} \sum_{t=1}^T \eta_t \\ & =\frac{\Gamma l \sqrt{T}}{2}+\frac{\Gamma l}{2} \sum_{t=1}^T \frac{1}{\sqrt{t}} \\ & \leqslant \frac{3 \Gamma l}{2} \sqrt{T} \end{aligned}

  因此,有

∑t=1Tft(wt)−min⁡w∈W∑t=1Tft(w)⩽3Γl2T=O(T)\sum_{t=1}^T f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)-\min _{\boldsymbol{w} \in \mathcal{W}} \sum_{t=1}^T f_t(\boldsymbol{w}) \leqslant \frac{3 \Gamma l}{2} \sqrt{T}=O(\sqrt{T})

  定理得证

在线强凸优化

定理8.2 (在线强凸优化遗憾界) 假设所有在线函数是 λ\lambda-强凸且是 ll-Lipschitz 连续,则对于在线强凸优化问题,在线梯度下降的遗憾界为 O(log⁡Tλ)O\left(\frac{\log T}{\lambda}\right)


回顾 λ\lambda-强凸的性质

ft(w)≥ft(wt)+⟨∇ft(wt),w−wt⟩+λ2∥w−wt∥2f_t(\boldsymbol{w}) \geq f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)+\left\langle\nabla f_t\left(\boldsymbol{w}_t\right), \boldsymbol{w}-\boldsymbol{w}_t\right\rangle+\frac{\lambda}{2}\left\|\boldsymbol{w}-\boldsymbol{w}_{\boldsymbol{t}}\right\|^2

证明

  将步长设置为 ηt=1/(λt)\eta_{\mathrm{t}}=1 /(\lambda t),对于任意 w∈Ww\in\mathcal{W},有

ft(wt)−ft(w)⩽⟨∇ft(wt),wt−w⟩−λ2∥wt−w∥2⩽12ηt(∥wt−w∥2−∥wt+1−w∥2)+ηt2l2−λ2∥wt−w∥2\begin{aligned} f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)- & f_t(\boldsymbol{w}) \\ & \leqslant\left\langle\nabla f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right), \boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\rangle-\frac{\lambda}{2}\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2 \\ & \leqslant \frac{1}{2 \eta_t}\left(\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2-\left\|\boldsymbol{w}_{\boldsymbol{t}+\mathbf{1}}-\boldsymbol{w}\right\|^2\right)+\frac{\eta_t}{2} l^2-\frac{\lambda}{2}\left\|\boldsymbol{w}_{\boldsymbol{t}}-\boldsymbol{w}\right\|^2 \end{aligned}

  对上式从 t=1t = 1 到 TT 求和,得到

∑t=1Tft(wt)−ft(w)⩽12η1∥w1−w∥2−λ2∥w1−w∥2−12ηT∥wT+1−w∥2+12∑t=2T(1ηt−1ηt−1−λ)∥wt−w∥2+l22∑t=1Tηt\begin{aligned} \sum_{t=1}^T f_t\left(\boldsymbol{w}_t\right) & -f_t(w) \leqslant \frac{1}{2 \eta_1}\left\|\boldsymbol{w}_1-\boldsymbol{w}\right\|^2-\frac{\lambda}{2}\left\|\boldsymbol{w}_1-\boldsymbol{w}\right\|^2-\frac{1}{2 \eta_T}\left\|\boldsymbol{w}_{T+1}-\boldsymbol{w}\right\|^2 \\ & +\frac{1}{2} \sum_{t=2}^T\left(\frac{1}{\eta_t}-\frac{1}{\eta_{t-1}}-\lambda\right)\left\|\boldsymbol{w}_t-\boldsymbol{w}\right\|^2+\frac{l^2}{2} \sum_{t=1}^T \eta_t \end{aligned}

  将步长 ηt=1λt\eta_{\mathrm{t}}=\frac{1}{\lambda t} 代入上式,利用 ∥wt−w∥≤Γ\left\|w_{\mathrm{t}}-\boldsymbol{w}\right\| \leq \Gamma 得

∑t=1Tft(wt)−ft(w)⩽l22λ∑t=1T1t⩽l22λ(ln⁡T+1)\sum_{t=1}^T f_t\left(\boldsymbol{w}_t\right)-f_t(\boldsymbol{w}) \leqslant \frac{l^2}{2 \lambda} \sum_{t=1}^T \frac{1}{t} \leqslant \frac{l^2}{2 \lambda}(\ln T+1)

  因此,有

∑t=1Tft(wt)−min⁡w∈W∑t=1Tft(w)⩽l22λ(ln⁡T+1)=O(log⁡Tλ)\sum_{t=1}^T f_t\left(\boldsymbol{w}_t\right)-\min _{\boldsymbol{w} \in \mathcal{W}} \sum_{t=1}^T f_t(\boldsymbol{w}) \leqslant \frac{l^2}{2 \lambda}(\ln T+1)=O\left(\frac{\log T}{\lambda}\right)

  定理得证。

在线凸优化的扩展

  • 在线学习到批量学习的转换 (online-to-batch conversion)

  假设在线函数 f1(⋅),f2(⋅),⋯ ,fT(⋅)f_1(\cdot), f_2(\cdot), \cdots, f_T(\cdot) 是从一系列函数中经过同一分布 D\mathcal{D} 独立采样得到,定义期望函数 :

F(⋅)=Ef∼D[f(⋅)]F(\cdot)=\mathbb{E}_{f \sim \mathcal{D}}[f(\cdot)]

  优化目标是找到解 Wˉ\bar{W} 来最小化期望函数 F(⋅)F(\cdot)

  • 首先,利用在线学习算法可以得到如下形式的遗憾界 :
∑t=1Tft(wt)−∑t=1Tft(w)⩽c\sum_{t=1}^T f_t\left(\boldsymbol{w}_{\boldsymbol{t}}\right)-\sum_{t=1}^T f_t(\boldsymbol{w}) \leqslant c
  • 两边求期望,得 (根据在线学习的过程,ftf_t 与 wtw_t 无关,因此 E[ft(wt)]=E[F(wt)]E\left[f_t\left(w_t\right)\right]=E\left[F\left(w_t\right)\right])
E[∑t=1TF(wt)]−TF(w)⩽c\mathbb{E}\left[\sum_{t=1}^T F\left(\boldsymbol{w}_{\boldsymbol{t}}\right)\right]-T F(\boldsymbol{w}) \leqslant c
  • 定义 w‾=1T∑t=1Twt\overline{\boldsymbol{w}}=\frac{1}{T} \sum_{t=1}^T \boldsymbol{w}_{\boldsymbol{t}},由 Jensen 不等式得 :

    E[F(w‾)]−F(w)⩽1T(E[∑t=1TF(wt)]−TF(w))⩽cT\mathbb{E}[F(\overline{\boldsymbol{w}})]-F(\boldsymbol{w}) \leqslant \frac{1}{T}\left(\mathbb{E}\left[\sum_{t=1}^T F\left(\boldsymbol{w}_t\right)\right]-T F(\boldsymbol{w})\right) \leqslant \frac{c}{T}
    • 在线函数为凸函数,算法为在线梯度下降时

      E[F(w‾)]−F(w)⩽3Γl2T=O(1T)\mathbb{E}[F(\overline{\boldsymbol{w}})]-F(\boldsymbol{w}) \leqslant \frac{3 \Gamma l}{2 \sqrt{T}}=O\left(\frac{1}{\sqrt{T}}\right)

      算法从期望意义上取得了 O(1T)O\left(\frac{1}{\sqrt{T}}\right) 的收敛率,与第七章随机梯度下降的收敛率一致。

    • 在线函数为 λ\lambda-强凸函数,算法为在线梯度下降时

      E[F(w‾)]−F(w)⩽l22λT(ln⁡T+1)=O(log⁡TλT)\mathbb{E}[F(\overline{\boldsymbol{w}})]-F(\boldsymbol{w}) \leqslant \frac{l^2}{2 \lambda T}(\ln T+1)=O\left(\frac{\log T}{\lambda T}\right)

      算法从期望意义上取得了 O(log⁡TλT)O\left(\frac{\log T}{\lambda T}\right) 的收敛率,与第七章 Epoch-GD 的收敛率 O(1[λT])O\left(\frac{1}{[\lambda T]}\right) 相比而言更慢,这意味着在线学习虽然可以用来求解随机优化,但不一定是最优的。