PAC可学性与假设空间H\mathcal{H}H复杂度密切相关。假设空间H\mathcal{H}H越复杂,寻找到目标概念的难度越大。对于有限假设空间,可以用其中包含假设的数据来刻画假设空间的复杂度。 然而对于大多数学习问题来说, 学习算法考虑的假设空间并非是有限的,因而无法使用假设的数量来刻画假设空间复杂度。 有以下两种方法可以刻画无限假设空间的复杂度:

  • 与数据分布D\mathcal{D}D无关的VC维及其扩展 Natatajan维
  • 与数据分布D\mathcal{D}D相关的Rademacher维

VC维

一般的学习任务中通常都是无限假设空间,例如RdR^dRd空间中所有的线性超平面。为了对这些无限假设空间进行研究,通常考虑其VC维。在介绍VC维之前,需要先知道的概念有:增长函数(growth function)、对分(dichotomy)、打散(shattering)和断点(break point)

H\mathcal{H}H表示假设空间,其中每一个假设是X\mathcal{X}XY={−1,+1}\mathcal{Y}=\{-1, +1\}Y={1,+1}的映射,对于数据集D={x1,...,xm}D=\{x_1,...,x_m\}D={x1,...,xm}, H\mathcal{H}H在数据集DDD上的限制是从DDD{−1+1}m\{-1+1\}^m{1+1}m的一族映射:
H∣D={h(x1),...,h(xm)∣h∈H}\mathcal{H}_{|D} = \{h(x_1),...,h(x_m) | h \in \mathcal{H}\}HD={h(x1),...,h(xm)hH}

增长函数: 增长函数表示假设空间H对m个示例所能赋予标记的最大可能结果数。可以表示为:
∏H(m)=maxx1,...,xm∣{h(x1),...,h(xm)∣h∈H}}∣\prod_{\mathcal{H}}(m) = \underset{x_1,...,x_m}{max}|\{ h(x_1),...,h(x_m) | h \in \mathcal{H}\}\}|H(m)=x1,...,xmmax{h(x1),...,h(xm)hH}}
对于大小为mmm的数据集,有:

∏H(m)=max∣D∣=m∣H∣D∣ \prod_{\mathcal{H}}(m) = \underset{ |D|=m}{max} |\mathcal{H}_{|D} | H(m)=D=mmaxHD

H\mathcal{H}H对样本所能赋予的标记可能结果输越大,H\mathcal{H}H的表示能力越强。增长函数在一定程度上描述了假设空间H\mathcal{H}H的适应能力,反映了假设空间的复杂度。尽管H\mathcal{H}H可能包包含无穷个假设空间,但H∣D\mathcal{H}_{|D}HD是有限的,即H\mathcal{H}H对所有样本赋予标记可能的结果是有限的,例如对于二分类问题,对mmm个样本最多有2m2^m2m个可能的结果

对分: 对于二分类问题来说,H\mathcal{H}H的假设对DDDmmm个示例赋予标记的每种可能结果称为对D的一种对分(dichotomy)。对分也是增长函数的一种上限。

打散:假设空间H\mathcal{H}H能实现样本集D\mathcal{D}D的所有对分, 即H∣D=2m\mathcal{H}_{|D} = 2^mHD=2m, 称样本集DDD能被假设空间H打散\mathcal{H}打散H, 此时 ∏H(m)=2m\prod_{\mathcal{H}}(m) = 2^mH(m)=2m

有些情况下,H\mathcal{H}H的增长函数不可以达到2m2^m2m,例如在二维平面上的线性划分中,下面几种情况不可以线性可分

在这里插入图片描述

Break Point:随着m的增大,一定会出现一个m使假设空间无法shatter。这种不满足 的情况说明增长函数从这个点开始变缓了,是一个重大突破,所以我们把第一个不满足shatter的m值称为break point

VC Dimension: 假设空间H\mathcal{H}H的VC维是能够被H\mathcal{H}H打散的最大样本集的大小, 即

VC(H)=max{m:∏H(m)=2m}VC(\mathcal{H}) = max \{ m: \prod_{\mathcal{H}}(m) = 2^m \}VC(H)=max{m:H(m)=2m}

∏H(m)\prod_{\mathcal{H}}(m)H(m)为假设空间在数据集大小为mmm时的增长函数。 还有一种定义,理解起来更为方便:

对于一个假设空间H\mathcal{H}H,如果存在m个数据样本能够被假设空间H中的函数按所有可能的 种形式分开 ,则称假设空间H\mathcal{H}H能够把m个数据样本打散(shatter)。假设空间H的VC维就是能打散的最大数据样本数目m。若对任意数目的数据样本都有函数能将它们shatter,则假设空间H\mathcal{H}H的VC维为无穷大

要证明一个假设空间的H\mathcal{H}H的VC维为ddd, 需要证明亮点:

  • 存在大小为ddd的样本集DDD能被H\mathcal{H}H打散
  • 任意大小为d+1d+1d+1的样本集D′D'D都不能被H\mathcal{H}H打散

我们用个例子来更深刻的理解VC维. 令H\mathcal{H}H表示所有定义在RRR上阈值函数的集合。仍然考虑二分类问题,一点典型的阈值函数为:
h(x)={+1,x>=c−1,x<ch(x) = \left\{ \begin{aligned} +1, x>=c \\ -1 ,x<c \\ \end{aligned} \right.h(x)={+1x>=c1x<c
通过调整不同的参数ccc可以得到不同的假设。易知存在大小为1的样本集能被H\mathcal{H}H打散。但是任意大小为2的样本集都不能被H\mathcal{H}H打散。于是VC(H\mathcal{H}H) = 1。 譬如任意两个样本x1=0,x2=3x1 = 0, x2 = 3x1=0,x2=3. 可以通过调整参数ccc来得到分类结果.
{c=−1 可以得到 h(x1)=+1,h(x2)=+1c=1 可以得到 h(x1)=−1,h(x2)=+1c=4 可以得到 h(x1)=−1,h(x2)=−1 \left\{ \begin{aligned} c = -1 \ 可以得到\ h(x1)=+1, h(x_2)=+1 \\ c = 1 \ 可以得到\ h(x1)=-1, h(x_2)=+1 \\ c = 4 \ 可以得到\ h(x1)=-1, h(x_2)=-1 \end{aligned} \right. c=1  h(x1)=+1,h(x2)=+1c=1  h(x1)=1,h(x2)=+1c=4  h(x1)=1,h(x2)=1
但是永远无法得到h(x1)=+1,h(x2)=−1h(x1)=+1, h(x_2)=-1h(x1)=+1,h(x2)=1

如果假设空间H\mathcal{H}H为有限集合,那么对于任意数据集DDD, 有∣H∣D≤∣H∣|H_{|D} \leq |H|HDH。 当∣H∣<2∣D∣|H| < 2^{|D|}H<2D时,H\mathcal{H}H无法打散DDD,因此可得VC(H)<=log2∣H∣VC({\mathcal{H}} )<= log2|\mathcal{H}|VC(H)<=log2H, 事实上,有限假设空间的VC(H)VC({\mathcal{H}} )VC(H)通常远小于 log2∣H∣log2|\mathcal{H}|log2H

需要指出的是, VC维是针对二分类问题定义的。对于多分类问题,可以用Natarajan维来刻画假设空间复杂度。在多分类问题中,假设空间H\mathcal{H}H中的假设是X\mathcal{X}XY={0,1,...,K−1}\mathcal{Y}=\{0,1,...,K-1\}Y={0,1,...,K1}的映射,其中KKK为类别常数。同样的我们可以定义增长函数和打散。这里不再赘述。

Rademacher Complexity (拉德马赫尔复杂度)

Rademacher complexity是另一种刻画假设空间复杂度的工具,与VC维不同的是,它在一定程度上考虑了数据的分布。Rademacher complexity通过测量一个函数族拟合随机噪声的能力来反映该函数族的丰富度(The Rademacher complexity captures the richness of a family of functions by measuring the degree to which a hypothesis set can fit random noise)

给定数据集 D={(x1,y1),...,(xm,ym)}D = \{(x_1, y_1), ..., (x_m, y_m) \}D={(x1,y1),...,(xm,ym)}, h∈Hh \in \mathcal{H}hH的经验误差为 (针对二分类问题):

E^(h)=1mI(h(xi)≠yi) =12−12m∑i=1myih(xi) \hat E(h) = \frac{1}{m} I(h(x_i) \neq y_i) \ = \frac{1}{2} - \frac{1}{2m}\sum_{i=1}^my_ih(x_i)E^(h)=m1I(h(xi)=yi) =212m1i=1myih(xi)

若能预测对所有样本,则1m∑i=1myih(xi)\frac{1}{m} \sum_{i=1}^my_ih(x_i)m1i=1myih(xi)取得最大值1。然而现实任务中的标记样本可能会受噪音的影响,标记可能存在偏差。在这种情况下,选择假设空间H\mathcal{H}H中表现最好的假设可能不如选择H\mathcal{H}H事先已经考虑了随机噪声的假设。
考虑随机变量σi\sigma_iσi, 以0.5的概率取+1,0.5的概率取-1, 又被称为Rademacher变量,对σ=(σ1,σ2,...,σm)\pmb\sigma=(\sigma_1, \sigma_2,...,\sigma_m)σσσ=(σ1,σ2,...,σm)求期望可以得到:

Eσ[suph∈H1m∑i=1mσih(xi)]E_{\sigma}[\underset{h \in \mathcal{H}}{sup}\frac{1}{m}\sum_{i=1}^m \sigma_ih(x_i)]Eσ[hHsupm1i=1mσih(xi)]

上式和增长函数有着相似的作用,体现了假设空间在数据集DDD的表示能力,取值范围为[0, 1], 值越接近1,假设空间的表示能力越强.当取值为1时, 存在h∈Hh \in \mathcal{H}hH使得h(xi)=σih(x_i) = \sigma_ih(xi)=σi, 即∏H=2m\prod_{\mathcal{H}}=2^mH=2m, 即H\mathcal{H}H能打散DDD.

考虑实值函数空间F\mathcal{F}F, 令Z={z1,...,zm}Z=\{z_1,...,z_m\}Z={z1,...,zm}, 其中zi∈Zz_i \in \mathcal{Z}ziZ。函数空间F\mathcal{F}F关于Z\mathcal{Z}Z的 emprical Rademecher complexity:

R^z(F)=Eσ[supf∈F1m∑i=1mσif(zi)]\hat{\mathcal{R}}_z(\mathcal{F}) = E_{\sigma}[\underset{f \in \mathcal{F}}{sup} \frac{1}{m} \sum_{i=1}^m \sigma_if(z_i)] R^z(F)=Eσ[fFsupm1i=1mσif(zi)]

ZZZ是一个给定集合。Emprical Rademacher complexity复杂度衡量的函数空间F\mathcal{F}F与随机噪声在ZZZ上的相关性。相比于给定的ZZZ,我们更关心ZZZ服从分布D\mathcal{D}D时函数空间的复杂度。对分布D\mathcal{D}D独立同分布采样得到大小为mmm的集合,求期望得到Rademacher complexity

Rz(F)=EZ⊂Z:∣Z∣=m[R^z(F)]\mathcal{R}_z(\mathcal{F}) = E_{Z \subset \mathcal{Z}:|Z|=m}[\hat{\mathcal{R}}_z(\mathcal{F})] Rz(F)=EZZ:Z=m[R^z(F)]

如果将σi\sigma_iσi改为其他的分布,可以得到其他复杂度的定义,例如Gaussian Complexity。函数空间F\mathcal{F}F关于Z\mathcal{Z}Z的 emprical Gaussian complexity:

O^z(F)=Eg[supf∈F1m∑i=1mgif(zi)]\hat{\mathcal{O}}_z(\mathcal{F}) = E_{g}[\underset{f \in \mathcal{F}}{sup} \frac{1}{m} \sum_{i=1}^m g_if(z_i)] O^z(F)=Eg[fFsupm1i=1mgif(zi)]

其中gig_igi服从N(0,1)N(0,1)N(0,1)标准正态分布。 同样的,可以对经验Guassian complexity求期望得到Gaussian复杂度。

Oz(F)=EZ⊂Z:∣Z∣=m[O^z(F)]\mathcal{O}_z(\mathcal{F}) = E_{Z \subset \mathcal{Z}:|Z|=m}[\hat{\mathcal{O}}_z(\mathcal{F})] Oz(F)=EZZ:Z=m[O^z(F)]

Rademacher复杂度和VC维用到的增长函数有一定关系

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐