机器学习理论 - 无限假设空间复杂度

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

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

VC维

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

H \mathcal{H} H表示假设空间,其中每一个假设是 X \mathcal{X} X Y = { − 1 , + 1 } \mathcal{Y}=\{-1, +1\} Y={1,+1}的映射,对于数据集 D = { x 1 , . . . , x m } D=\{x_1,...,x_m\} D={x1,...,xm}, H \mathcal{H} H在数据集 D D D上的限制是从 D D D { − 1 + 1 } m \{-1+1\}^m {1+1}m的一族映射:
H ∣ D = { h ( x 1 ) , . . . , h ( x m ) ∣ 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 ) = m a x x 1 , . . . , x m ∣ { h ( x 1 ) , . . . , h ( x m ) ∣ 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}}
对于大小为 m m m的数据集,有:

∏ H ( m ) = m a x ∣ 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对所有样本赋予标记可能的结果是有限的,例如对于二分类问题,对 m m m个样本最多有 2 m 2^m 2m个可能的结果

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

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

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

在这里插入图片描述

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

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

V C ( H ) = m a x { m : ∏ H ( m ) = 2 m } 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)为假设空间在数据集大小为 m m m时的增长函数。 还有一种定义,理解起来更为方便:

对于一个假设空间 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维为 d d d, 需要证明亮点:

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

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

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

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

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 = { ( x 1 , y 1 ) , . . . , ( x m , y m ) } D = \{(x_1, y_1), ..., (x_m, y_m) \} D={(x1,y1),...,(xm,ym)}, h ∈ H h \in \mathcal{H} hH的经验误差为 (针对二分类问题):

E ^ ( h ) = 1 m I ( h ( x i ) ≠ y i )   = 1 2 − 1 2 m ∑ i = 1 m y i h ( x i ) \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)

若能预测对所有样本,则 1 m ∑ i = 1 m y i h ( x i ) \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 σ [ s u p h ∈ H 1 m ∑ i = 1 m σ i h ( x i ) ] E_{\sigma}[\underset{h \in \mathcal{H}}{sup}\frac{1}{m}\sum_{i=1}^m \sigma_ih(x_i)] Eσ[hHsupm1i=1mσih(xi)]

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

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

R ^ z ( F ) = E σ [ s u p f ∈ F 1 m ∑ i = 1 m σ i f ( z i ) ] \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)]

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

R z ( F ) = E Z ⊂ 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 ) = E g [ s u p f ∈ F 1 m ∑ i = 1 m g i f ( z i ) ] \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)]

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

O z ( F ) = E Z ⊂ 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维用到的增长函数有一定关系

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值