《机器学习理论导引》笔记目录
0 感言
之前一直在忙着做自己的工作,所以过去的两个月中的时间并没有对于博客进行更新。正巧现在终于和之前的工作暂时告一段落,便在自己给自己的几天假期中更新下博客,争取尽快把这个板块更新完。mathpix搞公式真的快啊,手打公式真的差远了
8.1 基本概念
批量学习 (Batch learning)
对于批量学习而言,学习器通过数据集 DT={(x1,y1),⋯,(xT,yT)} 学到模型 wT+1,其对应的超额风险 (Excess Risk) 为 :
E(x,y)∼D[ℓ(wT+1,(x,y))]−w∈WminE(x,y)∼D[ℓ(w,(x,y))]
批量学习的特点为 1.所有的训练数据提前获得 2.只关心整个学习过程结束后得到的分类器性能 3.数据规模非常大时,计算复杂度高、响应慢
在线学习 (Online learning)
学习器通过数据集 Dt−1={(x1,y1),⋯,(xt−1,yt−1)} 学习到模型 wt,遭受损失 ℓ(wt,(xt,yt)),然后,学习器将样本 (xt,yt) 加入到数据集中,继续更新模型。其对一个的序贯 (sequential) 超额损失为 :
t=1∑Tℓ(wt,(xt,yt))−w∈Wmint=1∑Tℓ(w,(xt,yt))
ℓ(wt,(xt,yt)) 反映模型 wt 反映模型 (xt,yt) 上的损失。
遗憾 (Regret)
regret =t=1∑Tft(wt)−w∈Wmint=1∑Tft(w)
-
在线学习的目的就是最小化累计损失 (即最小化遗憾)
-
在线学习希望达到次线性的遗憾. 即 regret/ T→0( T→+∞)
-
具备次线性遗憾的算法称为满足 Hannan 一致性。
超额风险 (Excess Risk)
E(x,y)∼D[ℓ(wT+1,(x,y))]−w∈WminE(x,y)∼D[ℓ(w,(x,y))]t=1∑Tℓ(wt,(xt,yt))−w∈Wmint=1∑Tℓ(w,(xt,yt))
- 超额风险引入期望操作而遗憾没有
- 超额风险的计算是一次性在所有数据上进行的计算,而遗憾是对多次损失的求和
在线学习的分类
8.2 完全信息在线学习
在线凸优化
-
在线凸优化假设所有的损失函数 ft(⋅) 和可行域 w 都是凸的
-
在线求解的方式 :
- 在每一轮 t,学习器从解空间 W 选择模型 wt
- 学习器观测到样本 (xt,yt),并遭受损失 ft(wt)=ℓ(wt,(xt,yt))
- 学习器根据损失函数更新模型 wt
-
这里的损失函数 ℓ(⋅,⋅) 用来衡量预测值 wtTxt 和真实标记 yt 的差异
- 分类问题可选 :
- hinge 损失函数
ℓhinge (wt,(xt,yt))=max(0,1−ytwtTxt)
- 对率损失函数
ℓlog(wt,(xt,yt))=ln(1+exp(−ytwtTxt))
- 回归问题可选 :
- 平方损失函数
ℓsquare (wt,(xt,yt))=(yt−wtTxt)2
定理 8.1 (在线凸优化的遗憾界)
假设所有在线函数是在 l-Lipschitz 连续,且可行域有界,则对于凸优化问题,在线梯度下降的遗憾界为 O(T)
证明
令可行域 W 的直径为 T 且所有在线函数是 l-Lipschitz 连续,即
∥u−v∥⩽Γ,∀u,v∈W∥∇ft(w)∥⩽l,∀t∈[T],w∈W
步长设置为 ηt=Γ/(lt),定义 wt+1′=wt−ηt∇ft(wt)。对于任意 w∈W,
ft(wt)−ft(w)⩽⟨∇ft(wt),wt−w⟩=ηt1⟨wt−wt+1′,wt−w⟩=2ηt1(∥wt−w∥2−∥∥wt+1′−w∥∥2+∥∥wt−wt+1′∥∥2)=2ηt1(∥wt−w∥2−∥∥wt+1′−w∥∥2)+2ηt∥∇ft(wt)∥2⩽2ηt1(∥wt−w∥2−∥wt+1−w∥2)+2ηt∥∇ft(wt)∥2⩽2ηt1(∥wt−w∥2−∥wt+1−w∥2)+2ηtl2
对上式从 t=1 到 T 求和,得到
t=1∑Tft(wt)−t=1∑Tft(w)⩽2η11∥wt−w∥2−2ηT1∥wT+1−w∥2+21t=2∑T(ηt1−ηt−11)∥wt−w∥2+2l2t=1∑Tηt
根据 ∥u−v∥⩽Γ,∀u,v∈W 以及 ηt<ηt−1, 有
t=1∑Tft(wt)−t=1∑Tft(w)⩽2η1Γ2+2Γ2t=2∑T(ηt1−ηt−11)+2l2t=1∑Tηt=2ηTΓ2+2l2t=1∑Tηt=2ΓlT+2Γlt=1∑Tt1⩽23ΓlT
因此,有
t=1∑Tft(wt)−w∈Wmint=1∑Tft(w)⩽23ΓlT=O(T)
定理得证
在线强凸优化
定理8.2 (在线强凸优化遗憾界) 假设所有在线函数是 λ-强凸且是 l-Lipschitz 连续,则对于在线强凸优化问题,在线梯度下降的遗憾界为 O(λlogT)
回顾 λ-强凸的性质
ft(w)≥ft(wt)+⟨∇ft(wt),w−wt⟩+2λ∥w−wt∥2
证明
将步长设置为 ηt=1/(λt),对于任意 w∈W,有
ft(wt)−ft(w)⩽⟨∇ft(wt),wt−w⟩−2λ∥wt−w∥2⩽2ηt1(∥wt−w∥2−∥wt+1−w∥2)+2ηtl2−2λ∥wt−w∥2
对上式从 t=1 到 T 求和,得到
t=1∑Tft(wt)−ft(w)⩽2η11∥w1−w∥2−2λ∥w1−w∥2−2ηT1∥wT+1−w∥2+21t=2∑T(ηt1−ηt−11−λ)∥wt−w∥2+2l2t=1∑Tηt
将步长 ηt=λt1 代入上式,利用 ∥wt−w∥≤Γ 得
t=1∑Tft(wt)−ft(w)⩽2λl2t=1∑Tt1⩽2λl2(lnT+1)
因此,有
t=1∑Tft(wt)−w∈Wmint=1∑Tft(w)⩽2λl2(lnT+1)=O(λlogT)
定理得证。
在线凸优化的扩展
- 在线学习到批量学习的转换 (online-to-batch conversion)
假设在线函数 f1(⋅),f2(⋅),⋯,fT(⋅) 是从一系列函数中经过同一分布 D 独立采样得到,定义期望函数 :
F(⋅)=Ef∼D[f(⋅)]
优化目标是找到解 Wˉ 来最小化期望函数 F(⋅)
- 首先,利用在线学习算法可以得到如下形式的遗憾界 :
t=1∑Tft(wt)−t=1∑Tft(w)⩽c
- 两边求期望,得 (根据在线学习的过程,ft 与 wt 无关,因此 E[ft(wt)]=E[F(wt)])
E[t=1∑TF(wt)]−TF(w)⩽c