机器学习之Rademacher复杂度和VC维

本文介绍了机器学习中衡量假设集复杂度的两种方法:Rademacher复杂度和VC维。Rademacher复杂度通过测量假设集对随机噪声的拟合程度来评估,而VC维则关注假设集能打散的最大样本集大小。通过对这两个概念的探讨,文章阐述了如何使用它们来推导泛化边界,并讨论了它们在计算和理解模型复杂度上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在上一节中,我们在用假设集的大小HHH来衡量一个假设集的复杂度。这样做的缺点是,对于具有无限个假设的假设集我们得到了两个不符合直觉的结论:(1)它们的复杂度都是无穷大,但沿轴矩形的学习问题证明具有无限个假设的假设集是PAC可学习的。(2)它们的复杂度都相等,但我们知道,线性假设集的复杂度肯定没有nnn次多项式假设集的复杂度高。因此,我们自然需要寻找新的方法来度量一个假设集的复杂度而不是简单地用假说集合的大小来判断。

  本章重点

  • 使用基于McDiarmid不等式Rademacher复杂度来度量假设集的复杂度和丰富性。推导基于Rademacher复杂度的泛化边界。但对于某些假设集来说,经验Rademacher复杂度的计算是NP难的。
  • 引入增长函数的概念,使其计算假设集的复杂性不依赖于样本的分布,并将增长函数与Rademacher复杂度联系起来。
  • 计算假设集的增长函数是困难的,随后引入VCVCVC的概念,并将增长函数与VCVCVC维联系起来,推导基于VCVCVC维的泛化边界。

1、Rademacher复杂度

  使用HHH表示假设集,hhh就是HHH中的一个假设(从输入空间到输出空间的映射)。对任意损失函数L:Y×Y→RL:\mathcal{Y}\times \mathcal{Y}→ \mathbb{R}L:Y×YR。对于每个h:X→Yh : \mathcal{X} → \mathcal{Y}h:XY,我们可以用函数ggg表示从(x,y)∈X×Y(x, y)∈\mathcal{X}\times\mathcal{Y}(x,y)X×YL(h(x),y)L (h (x), y)L(h(x),y)映射。GGGggg的集合,用于表示与HHH有关的损失函数族。

  Rademacher复杂度通过测量假设集对随机噪声的拟合程度来表征函数族的丰富性。下面将讲述经验Rademacher复杂度平均Rademacher复杂度的正式定义。

定义1: 经验Rademacher复杂度:

  设GGG是一族从ZZZ映射到[a,b][a,b][a,b]的函数族,S=(z1,…zm)S = (z_1,…z _m)S=(z1zm)来自zzz空间中大小为mmm的样本集,其中zi∈Zz_i\in ZziZ,则GGG在样本SSS上的经验Rademacher复杂度定义为:

R^S(G)=Eσ[sup⁡g∈G1m∑i=1mσig(zi)],                (3.1)\widehat{\mathfrak{R}}_S(G)=\mathop{\mathbb{E}}\limits_{\sigma}[\sup_{g\in{G}}\frac{1}{m}\sum_{i=1}^m\sigma_ig(z_i)],\;\;\;\;\;\;\;\;(3.1)R S(G)=σE[gGsupm1i=1mσig(zi)],(3.1)

其中,σ=(σ1,……σm)T\mathbf{σ}=(σ_1,……σ_m)^Tσ=(σ1,σm)Tσiσ_iσi是取值为{ −1,+1}\{−1 ,+ 1\}{ 1,+1}独立随机变量,被称为Rademacher变量。

  • 样本S=(z1,.....zm)=((x1,y1),......(xm,ym))S=(z_1,.....z_m)=((x_1,y_1),......(x_m,y_m))S=(z1,.....zm)=((x1,y1),......(xm,ym))
  • g(zi)g(z_i)g(zi)用来表示用假设hhh来预测yiy_iyi所产生的误差,即损失函数。

  如果gS\mathbf{g}_ SgS表示在样本SSS上的向量:gS=(g(z1),…,g(zm))T\mathbf{g}_ S = (g(z_1),…,g(z _m))^TgS=(g(z1)g(zm))T。则经验Rademacher复杂性可以改写为:

R^S(G)=Eσ[sup⁡g∈Gσ⋅gSm].\widehat{\mathfrak{R}}_S(G)=\mathop{\mathbb{E}}\limits_{\sigma}[\sup_{g\in{G}}\frac{\sigma\cdot\mathbf{g}_S}{m}].R S(G)=σE[gGsupmσgS].

  内积σ⋅gSσ·\mathbf{g} _SσgS度量了gS\mathbf{g} _SgS(单个函数在样本集上)与随机噪声σσσ向量的相关性。取上确界sup⁡g∈Gσ⋅gSm\sup_{g\in{G}}\frac{\sigma\cdot\mathbf{g} _S}{m}supgGmσgS表示函数GGG在样本SSS上与噪声σσσ的相关性 。取期望(经验Rademacher复杂度)表示函数族GGGSSS上与噪声的平均相关性,这也就描述了函数族GGG的丰富度:更丰富、更复杂的函数族GGG可以产生更多的gS\mathbf{g}_SgS,在平均水平上更好的拟合随机噪声

定义2:Rademacher复杂度

  设DDD是样本SSS的分布。对于任意整数m≥1m≥1m1GGG的Rademacher复杂度是根据分布DDDmmm个样本的经验Rademacher复杂性的期望:

Rm(G)=ES∼Dm[R^S(G)].                (3.2)\mathfrak{R}_m(G)=\mathop{\mathbb{E}}\limits_{S\sim{D^m}}[\widehat{\mathfrak{R}}_S(G)].\;\;\;\;\;\;\;\;(3.2)Rm(G)=SDmE[R S(G)].(3.2)

  平均Rademacher复杂度移除了对特定样本集的依赖,更加平均地度量了一个函数族的复杂程度(但仍与分布有关)。

  在基于Rademacher复杂度推导第一个泛化边界之前,先介绍McDiarmid不等式。

McDiarmid不等式:令(x1,...,xm)∈Xm(x_1,...,x_m)∈X_m(x1,...,xm)Xm为独立随机变量的集合,假设存在c1,...,cm>0c_1,...,c_m>0c1,...,cm>0,使得f:X→Rf:X→Rf:XR满足以下条件:
∣f(x1,...,xi,...,xm)−f(x1,...,xi′,...,xm)∣≤ci,|f(x_1,...,x_i,...,x_m)−f(x_1,...,x_i ^\prime,...,x_m)|≤c_i,f(x1,...,xi,...,xm)f(x1,...,xi,...,xm)ci,
对所有的i∈[1,m]i\in [1,m]i[1,m]以及任意的点x1,...,xm,xi′∈Xx_1,...,x_m,x_i ^\prime\in Xx1,...,xm,xiX都成立。令f(S)f(S)f(S) 表示 f(x1,...,xm)f(x_1,...,x_m)f(x1,...,xm),那么对所有的ε>0\varepsilon>0ε>0,下面的不等式成立:
Pr[f(S)−E[f(S)]≥ε]≤exp⁡(−2ε2∑i=1mci2)Pr[f(S)−E[f(S)]\ge\varepsilon]\le\exp(\frac{−2\varepsilon^2}{\sum_{i=1}^mc_i^2})Pr[f(S)E[f(S)]ε]exp(i=1mci22ε2)
Pr[f(S)−E[f(S)]≤−ε]≤exp⁡(−2ε2∑i=1mci2)Pr[f(S)−E[f(S)]\le -\varepsilon]\le\exp(\frac{−2\varepsilon^2}{\sum_{i=1}^mc_i^2})Pr[f(S)E[f(S)]ε]exp(i=1mci22ε2)

定理1

  设GGG是一系列从ZZZ映射到[0,1][0,1][0,1]的函数族。对任何δ>0\delta > 0δ>0GGG中的每一个函数ggg,都至少以1−δ1−\delta1δ概率,下述两个式成立:

E[g(z)]≤1m∑i=1mg(zi)+2Rm(G)+log⁡1δ2m              (3.3)E[g(z)]≤1m∑i=1mg(zi)+2R^S(G)+3log⁡2δ2m              (3.4)\mathbb{E}[g(z)]\le\frac{1}{m}\sum_{i=1}^mg(z_i)+2\mathfrak{R}_m(G)+\sqrt{\frac{\log\frac{1}{\delta}}{2m}}\;\;\;\;\;\;\;(3.3)\\ \mathbb{E}[g(z)]\le\frac{1}{m}\sum_{i=1}^mg(z_i)+2\widehat\mathfrak{R}_S(G)+3\sqrt{\frac{\log\frac{2}{\delta}}{2m}}\;\;\;\;\;\;\;(3.4) E[g(z)]m1i=1mg(zi)+2Rm(G)+2mlogδ1 (3.3)E[g(z)]m1i=1mg(zi)+2R S(G)+32mlogδ2 (3.4)

证明:对于任意在ZZZ空间上的样本集S=(z1,…,zm)S = (z_1,…,z_m)S=(z1,,zm)和任意函数g∈Gg∈GgG,用E^S[g]\widehat{\mathbb{E}} _S [g]E S[g]来表示在SSS上的ggg的经验平均值: E^S[g]=1m∑i=1mg(zi)\widehat{\mathbb{E}} _S [g] = \frac{1}{ m }\sum _{i=1}^{m}g(z_i)E S[g]=m1i=1mg(zi)。利用McDiarmid不等式,在任意样本SSS上定义函数Φ\PhiΦ
Φ(S)=sup⁡g∈G(E[g]−E^S[g])              (3.5)\Phi(S)=\sup_{g\in G}(\mathbb{E}[g]-\widehat{\mathbb{E}}_S[g]) \;\;\;\;\;\;\; (3.5)Φ(S)=gGsup(E[g]

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值