机器学习初级入门(二)什么样的模型能学习?

217 阅读2分钟

文章内容主要是笔记

可学性

基本概念

拿到一个ai相关的项目我们第一步应该是干嘛?

答:判断数据是否能够建立一个合理的模型,或者说判断建立的模型是否是可学的。

我们现在拿二分类任务做例子,说一下我们研究需要知道的信息:

  • 假设我们用的样本集是:D=(x1,y1),(x2,y2).....(xn,yn)D={(x_1,y_1),(x_2,y_2).....(x_n,y_n)}其中xiXx_i∈\mathcal{X}yiY={1,+1}y_i∈\mathcal{Y} = \{-1,+1\}。(X\mathcal{X}Y\mathcal{Y}分别代表全部样本空间D\mathcal{D}中的成分,而D只是D\mathcal{D}的一部分。

  • 假设D\mathcal{D}X×Y\mathcal{X} × \mathcal{Y}上的联合分布,DX \mathcal{D}_{\mathcal{X}}是样本空间X\mathcal{X}上的边缘分布。D中所有的样本都是独立同分布的从D \mathcal{D}中采集来的。

再稍微讲一下概率的分布的问题:

联合分布函数:也就是F(x,y)=P(X<=x,Y<=y)。

边缘分布:就是算在x固定的条件下,把y的影响去掉,简而言之就是去掉y的影响,只看x的概率情况例如:P(x=1,y=1)=1/5,P(x=2,y=1)=2/5,那么P(y=1) = 3/5。

条件分布:p(x|Y=y),就是把Y=y的不同部分抽出来,对应不同的x进行归一化,例如:P(x=1,y=1)=1/5,P(x=2,y=1)=2/5,那么P(y=1) = 3/5,根据公式p(x = 1|Y=1) = 1/3,p(x = 2|Y=1) = 2/3。

泛化误差与经验误差

h\mathcal{h}为从X\mathcal{X}Y\mathcal{Y}的映射(就比如y =h\mathcal{h}(x) = ax,就是类似这种映射) ,下面给出泛化误差跟经验误差的定义:

泛化误差

E(h;D)=P(x,y) D(h(x)y)=E(x,y) D((h(x)y))E(\mathcal{h};\mathcal{D}) = P_{(x,y)~\mathcal{D}}(h(x)\neq y) = E_{(x,y)~\mathcal{D}}(\lVert(\mathcal{h}(x) \neq y))

ps:((判断的内容)\lVert(判断的内容)是一个判断函数,如果符合括号内的就为1,不符合就为0)

理解:在任务全部可能的结果上h\mathcal{h}(x)通过x算出来的结果与真实结果不同的概率。可以理解为测试集上的误差。

测试集选取的数据是在全集D\mathcal{D} 中获取的数据

经验误差

E^(h;D)=1mi=1m(h(x)y)\widehat{E}(\mathcal{h};\mathcal{D}) = \frac{1}{m}\sum^{m}_{i = 1}\lVert(\mathcal{h}(x) \neq y)

理解:在样本集D上通过h\mathcal{h}(x)算出y跟真实结果不同的概率。

也就是在训练集D上求的误差。

误差参数

我们把E^(h;D)\widehat{E}(\mathcal{h};\mathcal{D}),与E(h;D)E(\mathcal{h};\mathcal{D})简记为E^(h)\widehat{E}(\mathcal{h})E(h)E(\mathcal{h})

ϵ\epsilonE(h)E(\mathcal{h})的上界,那么ϵE(h)\epsilon \ge E(\mathcal{h})

我们训练模型一般会预先设定一个ϵ\epsilon,最后求出的经验误差必须小于等于ϵ\epsilon

假设空间是否可分

如果h\mathcal{h}在D上的经验误差为0,则称h\mathcal{h}与D一致,反正则不一致。

对于任意两个X\mathcal{X}Y\mathcal{Y}的映射h1,h2我们可以通过不合来测量它们之间的差别。

dis(h1,h2)=PxDx(h1(x)h2(x)dis(h_1,h_2)=P_{x \sim \mathcal{D}_x}(h_1(x)\neq h_2(x))

令c表示概念,c就是X\mathcal{X}Y\mathcal{Y}的映射,对所有D\mathcal{D}中的数据c(x) = y一直成立,则称c为目标概念,我们把想要得到的所有的目标概念的集合称为概念类,用C\mathcal{C}表示。

给定学习算法ξ\xi,它所考虑的所有可能概念的集合称为假设空间,用符号H\mathcal{H}表示,通常情况下H\mathcal{H}C\mathcal{C}是不同的,算法会把自认为可能的目标概念集中起来组成H\mathcal{H},对于任意hHh∈\mathcal{H}

我们不能确定hh是否是目标概念,所有称其为假设。显然假设也是X\mathcal{X}Y\mathcal{Y}的映射,但是不能保证所有D\mathcal{D}中的数据c(x) = y一直成立。

如果目标概念cHc∈\mathcal{H},那么则称以cc为目标的这个学习问题对假设空间是可分的,如果cHc\notin \mathcal{H}那么H\mathcal{H}中就不存在任何假设能把所有的样本完全正确的分开,也就是说没有一个正确的hh能把DD中所有的X\mathcal{X}Y\mathcal{Y}映射表示出来。

概率近似正确(PAC)理论

在现实中的项目里,有很多问题使得我们根本得不到目标概念c,比如:

  1. 样本数量有限
  2. 经常有一些等效的样本
  3. 样本获取的正确性不能保证

那给定我们一个训练集D,我们希望基于学习的算法ξ\xi学到的模型所对应的h尽可能接近目标概念c。所以我们设出一个置信度参数来表示模型必须有多大的可信度才能符合我们的要求,置信度参数设为δ\delta

PCA只关心能否用现有数据训练出一个好的模型,而不在乎模型是什么

PAC辨识:对0<ϵ0<\epsilon,δ<1\delta<1,所有cCc∈\mathcal{C}和分布D\mathcal{D},若存在学习算法ξ\xi,其输出的假设hHh∈\mathcal{H}满足:

P(E(h)ϵ)1δ P(E(h)\le \epsilon) \ge 1-\delta

就称学习算法ξ\xi能从假设空间H\mathcal{H}中PAC辨识概念类C\mathcal{C}

公式的意思就是h对应的经验误差小于等于咱们预先设定的误差参数ϵ\epsilon的概率,小于1δ1-\delta

PAC可学

PAC可学的定义:令m表示从分布D\mathcal{D}独立同分布采样得到的样本数目,0<ϵ0<\epsilon,δ<1\delta<1,所有分布D\mathcal{D},若存在学习算法ξ\xi和多项式函数poly(,,,)poly(, , ,)使得对于任何poly(1/ϵ,1/δ,size(x),size(c))m poly(1/\epsilon,1/\delta,size(x) ,size(c))\le m,ξ\xi 能从假设空间 H\mathcal{H}中PAC辨识概念类C\mathcal{C},则称概念类C\mathcal{C}对假设空间H\mathcal{H}而言是PAC可学的。

对于计算机算法来说,我们都得考虑下时间复杂度,就得到下面的算法:

PAC学习算法: 若学习算法ξ\xi使概念类C\mathcal{C}为PAC可学,如果ξ\xi运行的时间也是多项式函数poly(1/ϵ,1/δ,size(x),size(c)) poly(1/\epsilon,1/\delta,size(x) ,size(c)),则称概念类C\mathcal{C}是高效PAC可学的, 称ξ\xi为概念类C\mathcal{C}的PAC学习算法。

假定学习算法ξ\xi处理每个样本的时间为常数,则ξ\xi的时间复杂度等于样本复杂度,那么我们对时间复杂度的关系可以转化为对样本复杂度的关心。

样本复杂度:满足PAC学习算法ξ\xipoly(1/ϵ,1/δ,size(x),size(c))m poly(1/\epsilon,1/\delta,size(x) ,size(c))\le m中最小的m称为学习算法ξ\xi的样本复杂度。

PAC抽象刻画了一个判断机器学习能力的框架,基于这个问题,我们可以去分析在某些条件下,模型是否能学习或者说学的更好。

如果假设空间H\mathcal{H}包含学习算法ξ\xi的所有可能输出的假设,若在PAC学习理论中假设空间和概念类完全相同,即H=C\mathcal{H} = \mathcal{C},这称为恰PAC可学,但是吧在现实生活中,我们根本不知道C\mathcal{C}到底是什么样子,所有我们研究的大多数是假设空间和概念类不同的时候的问题,即HC\mathcal{H} \neq \mathcal{C}

不可知PAC可学

因为现实生活中训练的模型很难达到根本不出错的状态,对于任何hHh∈\mathcal{H},E^0\widehat{E} \neq 0,也就是说我们训练的模型或多或少都会出现错误。

下几个是Hodeffding不等式推出的引理:

若训练集D包含m个从分布D\mathcal{D}上独立同分布采样而得到的样本,对任意hHh∈\mathcal{H}有:

引理一、P(E^(h)E(h)ϵ)e2mϵ2引理一 、P(\widehat{E}(h) - E(h) \ge \epsilon) \le e^{-2m\epsilon^2}
引理二、P(E(h)E^(h)ϵ)e2mϵ2引理二 、P(E(h) - \widehat{E}(h) \ge \epsilon) \le e^{-2m\epsilon^2}
引理三、P(E^(h)E(h)ϵ)2e2mϵ2引理三 、P(|\widehat{E}(h) - E(h)| \ge \epsilon) \le 2e^{-2m\epsilon^2}

若训练集D包含m个从分布D\mathcal{D}上独立同分布采样而得到的样本,对任意hHh∈\mathcal{H},以至少1δ1-\delta的概率成立以下定理:

E^(h)12mln2δ<E(h)<E^(h)+12mln2δ\hat{E}(h)- \sqrt{\dfrac {1}{2m} ln\dfrac{2}{\delta}}<E(h)<\hat{E}(h)+ \sqrt{\dfrac {1}{2m} ln\dfrac{2}{\delta}}

证明上面的定理:

不妨令δ=2e2mϵ2\delta = 2e^{-2m\epsilon^2},也就是ϵ=12mln2δ\epsilon = \sqrt{\dfrac {1}{2m} ln\dfrac{2}{\delta}},把上面的式子带入引理三可以得到:

P(E^(h)E(h)12mln2δ)δP(|\widehat{E}(h) - E(h)| \ge \sqrt{\dfrac {1}{2m} ln\dfrac{2}{\delta}} ) \le \delta

即至少有1δ1-\delta概率有:

E^(h)E(h)12mln2δ|\widehat{E}(h) - E(h)| \le \sqrt{\dfrac {1}{2m} ln\dfrac{2}{\delta}}

证明完毕.

通过上面的定理我们可以看出当m接近于无穷的时候,h的经验误差与泛化误差近似。显然我们可以得到一个结论,cHc \notin \mathcal{H}的时候,学习算法ξ\xi无法让E^(h)0\widehat{E}(h) \neq 0,但是我们可以去找一个泛化误差最小的假设,也就是找:argminhHE(h)arg \min_{h∈\mathcal{H}}E(h),于是以此为目标把PAC学习推广到cHc \notin \mathcal{H}的情况,这就是不可知学习。

不可知PAC可学:令m表示从分布D\mathcal{D}独立同部分采样得到的样本数目,对0<ϵ0<\epsilon,δ<1\delta<1,所有分布D\mathcal{D},若存在学习算法ξ\xi和多项式函数poly(,,,)poly(, , ,)使得对于任何poly(1/ϵ,1/δ,size(x),size(c))m poly(1/\epsilon,1/\delta,size(x) ,size(c))\le m,ξ\xi 能从假设空间H\mathcal{H}中输出满足下面式子的假设h:

P(E(h)minhHE(h)ϵ)1δP(E(h) - \min_{h^{'}∈\mathcal{H}}E(h^{'}) \le \epsilon) \ge 1 - \delta

满足上面式子就称假设空间H\mathcal{H}是不可知PAC可学的。

与PAC可学类似,如果ξ\xi运行的时间也是多项式函数poly(1/ϵ,1/δ,size(x),size(c))poly(1/\epsilon,1/\delta,size(x) ,size(c)),则称概念类H\mathcal{H}是高效不可知PAC可学的,称ξ\xi为假设空间H\mathcal{H}的不可知PAC学习算法。

假设空间的复杂度

PAC学习中一个关键因素就是假设空间H\mathcal{H}的复杂度,一般而言H\mathcal{H}越大,其中包含任意目标概念的可能性就越大,但是从中找到某个具体的目标概念的难度就越大,H|\mathcal{H}|有限的时候,我们称H\mathcal{H}为有限假设空间,反之为无限假设空间。有限假设空间可以用概念个数去描述,无限假设空间则不行。我们就需要学习复杂度的知识。

PAC可学考虑的是算法ξ\xi输出假设的泛化误差与最优假设的泛化误差的差别,但是由于真实分布D\mathcal{D}是未知的,通常无法直接激素按,由于经验误差与泛化误差有密切联系,我们可借助经验误差来比较,所有我们需要学习泛化界去考虑经验误差和泛化误差的差别。

复杂度

从之前的学习可以得到结论,PAC可学习性与假设空间H\mathcal{H}的复杂的成都是密切相关的,H\mathcal{H}越复杂,寻找目标概念的难度就越大,对于有限的假设空间,可以用H\mathcal{H}中包含的假设h\mathcal{h}的数目来描述H\mathcal{H}的空间复杂度,在可分情况下,可以通过层层筛选的方式从有限的假设空间中寻找到目标概念。然而,对大多数学习问题来说,学习算法ξ\xi考虑的假设空间并非是有限的,因而无法直接使用假设的数目来刻画假设空间的复杂度。

一些基本概念

样本集是:D=(x1,y1),(x2,y2)(xn,yn)D={(x_1,y_1),(x_2,y_2)…(x_n,y_n)}

xiXx_i∈\mathcal{X}是问题的变量,yiY={1,+1}y_i∈\mathcal{Y} = \{-1,+1\}

H\mathcal{H}在D上的限制是从D到{1,+1}m\{-1,+1\}^m的一族映射,限制表示为:

HD={(h(x1),h(x2)....,h(xm))hH}H_{|D} = \{ (h(x_1),h(x_2)....,h(x_m))|h\in\mathcal{H}\}

其中h在D上的限制是一个m维向量。

ps:H\mathcal{H}在D上的限制的意思是,基于D样本集的函数上的数据,必须是D样本集中的;其中h在D上的限制的意思是,基于模型h必须用的D内的样本集必须得是m维的。

那么对于mNm∈N,用假设空间H\mathcal{H}的增长函数去表示符合限制的样本数目:

ΠH(m)=max{x1,....,xm}X{(h(x1),h(x2)....,h(xm))hH}\Pi_\mathcal{H}(m) = \max_{\{ x_1,....,x_m\}\subset X}|\{ (h(x_1),h(x_2)....,h(x_m))|h\in \mathcal{H}\}|

上面ΠH(m)\Pi_H(m)函数表示假设空间H\mathcal{H}对m个样本所能赋予标记的最大可能的结果数,这个值越大,H\mathcal{H}的表示能力就越强,代表H\mathcal{H}对学习任务的适应性越强,这样,增长函数在一定程度上描述了假设空间H\mathcal{H}的学习能力,反映了假设空间的复杂程度。

假设空间H\mathcal{H}里的不同的假设(函数),对于相同的x可能求出不同的y,因为假设空间H\mathcal{H}里的假设(函数)是有限的,所以对m个样本的二分类问题一共有2m2^m种结果。

二分问题把问题分为正负两类,这就是对样本集D的一种对分,如果假设空间H\mathcal{H}能实现样本集D上的所有对分,即ΠH(m)=2m\Pi_\mathcal{H}(m) = 2^m,这就是D被H\mathcal{H}打散

数据分布无关时的复杂度

VC维

假设空间H\mathcal{H}的VC维是能被H\mathcal{H}打散的最大样本集的大小(能正确分类的最大样本数量)

公式是:

VC(H)=max{m:ΠH(m)=2m}VC(\mathcal{H}) = max \{ m:\Pi_\mathcal{H}(m) = 2^m \}

VC(H)=dVC(\mathcal{H}) = d,表示最大有样本大小d的样本能被H\mathcal{H}打散。

这并不意味着所有样本大小为d的样本集都能被H\mathcal{H}打散,只是存在大小d的样本能被H\mathcal{H}打散,我们不知道样本分布的时候依旧可以计算出假设空间H\mathcal{H}的VC维,VC维的定义与数据分布无关。

若假设空间\mathcal{H}的VC维为d,则对任意mNm∈N有:

ΠH(m)i=0d(mi)\Pi_\mathcal{H}(m)\le \sum^{d}_{i = 0} \binom{m}{i}

ps: (mi)=Cnk\binom{m}{i} = \mathrm{C}_n^k

以上公式可以算出增长函数ΠH(m)\Pi_\mathcal{H}(m)的上界。

从而可以继续推出下面定理,若假设空间\mathcal{H}的VC维为d,则对任意整数md m \ge d有:

ΠH(m)(emd)d\Pi_\mathcal{H}(m)\le (\dfrac{\mathcal{e} * m}{d})^d

其中e=2.7.....\mathcal{e} = 2.7.....

Natarajan维

VC维是针对二分类问题,而Natarajan维是针对多分类问题去讨论的,显而易见,其与VC维唯一不同的是Y={0,1,2,3...n},x与y的关系不再是二分类问题了,而是多分类。

多分类问题的增长函数的概念与二分类问题一样:

增长函数:

ΠH(m)=max{x1,....,xm}X{(h(x1),h(x2)....,h(xm))hH}\Pi_\mathcal{H}(m) = \max_{\{ x_1,....,x_m\}\subset \mathcal{X}}|\{ (h(x_1),h(x_2)....,h(x_m))|h\in \mathcal{H}\}|

打散:

对于给定的集合DXD\subset \mathcal{X},若假设空间\mathcal{H}中存在两个假设f0f_0f1f_1:D>mathcalYD->mathcal{Y}满足以下两个条件:

  • 对于任意xDf0(x)f1(x)x∈D,f_0(x) \neq f_1(x)
  • 对于任意集合BDB\subset D存在hHh∈\mathcal{H}使得xBh(x)=f0(x) \forall x∈B,h(x) = f_0(x)xDBh(x)=f1(x) \forall x∈\dfrac{D} {B},h(x) = f_1(x)

就称为集合D能被假设空间H\mathcal{H}打散。

Natarajan维就是能被H\mathcal{H}打散的最大样本集的大小,记作Natarajan(H\mathcal{H})

若多分类问题假设空间H\mathcal{H}的Natarajan维为d,类别数为K,则对任意m∈N有:

ΠH(m)mdK2d\Pi_\mathcal{H}(m) \le m^dK^{2d}

数据分布相关时的复杂度

VC维对于任意数据集都成立,这使得基于VC维的分布结果具有一定的普适性,但是其的分析结果一般比较松。

Rademacher复杂度

与VC维跟Natarajan维不同的是,Rademacher复杂度考虑了数据的分布相关性,在二分问题上均匀分布的问题,给定数据集D,h∈H的经验误差为:

E^(h)=1mi=0mI(h(xi)yi)=1mi=0m1yih(xi)2=1212mi=0myih(xi)\hat{E}(h) = \frac{1}{m} \sum_{i=0}^mI(h(x_i)≠y_i) \\\\=\frac{1}{m} \sum_{i=0}^m\frac{1-y_ih(x_i)}{2}\\\\=\frac{1}{2} -\frac{1}{2m} \sum_{i=0}^my_ih(x_i)

其中yih(xi)y_ih(x_i)体现了预测值h(xi)h(x_i)与样本真实标记yiy_i之间的一致性。

所以经验误差最小的时候yih(xi)y_ih(x_i)是最大的:

arg maxhH1mi=0myih(xi) \argmax_{h∈H}\frac{1}{m} \sum_{i=0}^my_ih(x_i)

现实生活中,样本的标记有时会受到噪声的影响,不再是正确的标记,这时候,经验误差最小的模型说不定还不如其他的模型。

考虑随机噪声的影响,有随机变量σi\sigma_i,其以0.5的概率取值-1,称其为Rademacher随机变量,可以把yih(xi)y_ih(x_i)求最大的公式改为:suphH1mi=1mσih(xi)sup_{h∈\mathcal{H}}\dfrac{1}{m} \sum_{i =1}^m \sigma_ih(x_i) 因为H\mathcal{H}空间可能是无限的,所以有可能找不到最大值,只能用上确界更科学一些。

σ={σ1,σ....σn}\sigma = \{\sigma_1,\sigma....\sigma_n\}求期望可得:

Eσ[suphH1mi=1mσih(xi)]E_{\sigma}[\sup_{h∈\mathcal{H}}\dfrac{1}{m} \sum_{i =1}^m \sigma_ih(x_i)]

上面的式子跟增长函数有相似的作用,体现了假设空间H\mathcal{H}在数据集D上的表示能力,取值范围为[0,1],当期望越接近于1的时候,假设空间H\mathcal{H}的表示能力越强。

之前我们说的H\mathcal{H}是理论上的假设空间,考虑实际的函数空间F:ZR\mathcal{F}:\mathcal{Z} \to RZ={z1,z2...zn}Z = \{z_1,z_2...z_n\},其中ziZz_i∈\mathcal{Z},求期望的公式放在实际函数空间中的时候:

R^Z(F)=Eσ[supfF1mi=1mσif(zi)]\hat{\mathcal{R}}_Z(\mathcal{F})=E_{\sigma}[\sup_{f∈\mathcal{F}}\dfrac{1}{m} \sum_{i =1}^m \sigma_if(z_i)]

上面的Z是一个给定的集合,我们通常更关系Z服从分布D\mathcal{D}时函数空间的复杂度,因此,对从分布D\mathcal{D}独立同分布采样得到的大小为m的集合Z求期望可以得到Rademacher复杂度:

函数空间F\mathcal{F}关于Z\mathcal{Z}在分布D\mathcal{D}上的Rademacher复杂度为:

Rm(F)=EZZ:Z=m[R^Z(F)]\mathcal{R}_m(\mathcal{F}) = E_{Z \subset \mathcal{Z}:|Z| = m}[\hat{\mathcal{R}}_Z(\mathcal{F})]

Rademacher复杂度与增长函数也有一定的关系,这里直接给出关系啦:

假设空间F\mathcal{F}的Rademacher复杂度Rm(H)\mathcal{R}_m(\mathcal{H})与增长函数ΠH(m)\Pi_\mathcal{H}(m)之间满足:

ΠH(m)2lnΠH(m)m\Pi_\mathcal{H}(m) \le \sqrt{\dfrac{2ln\Pi_\mathcal{H}(m)}{m}}

Gaussian复杂度

Rademacher复杂度是讲的σ\sigma在[-1,+1]上均匀分布的随机变量,如果换成其他分布,就会得到一些其他复杂度的定义。

Gaussian复杂度就是在标准正态分布N(01)N(0,1)下的复杂度,gig_i服从高斯分布:

G^Z(F)=Eg[supfF1mi=1mgif(zi)]\hat{\mathcal{G}}_Z(\mathcal{F})=E_{g}[\sup_{f∈\mathcal{F}}\dfrac{1}{m} \sum_{i =1}^m g_if(z_i)]

同理函数空间F\mathcal{F}关于Z\mathcal{Z}在分布D\mathcal{D}上的Gaussian复杂度为:

Gm(F)=EZZ:Z=m[G^Z(F)]\mathcal{G}_m(\mathcal{F}) = E_{Z \subset \mathcal{Z}:|Z| = m}[\hat{\mathcal{G}}_Z(\mathcal{F})]

通过泛化界的学习,可以了解到数据分布相关求复杂度可以得到更紧的泛化误差界。

泛化界

泛化误差上界

ps:会用到前面有限假设空间无限假设空间,目标概念c在H\mathcal{H}可分不可分的概念。

有限假设空间的可分情形

剔除在训练集D上犯错的目标概念c,如果D很大的话,那么c想符合肯定是越来越难,然而实践中,我们使用的数据只是总体数据的一部分,所以一般能找到不犯错的c的,但是这时候找到的c肯定是特别准确,只要符合PAC可学即可。

H\mathcal{H}为可分的有限假设空间,D为从D\mathcal{D}独立同分布采样得到的大小为m的数据集,学习算法ξ\xi基于D输出与训练集一致的的假设(模型)hHh∈\mathcal{H},对于ε>0,σ<1,若m1ε(lnH+ln1σ)m\ge \dfrac{1}{ε}(ln|\mathcal{H}|+ln\dfrac{1}{σ})则有:

P(E(h)ε)1σP(E(h)\le ε)\ge1-σ

E(h)ϵE(h) \le \epsilon以至少1-σ的概率成立。

这一定理表明假设空间H\mathcal{H}是有限可分的,学习算法ξ\xi输出假设的泛化误差依赖于假设空间的大小H|\mathcal{H}|和训练集的大小m,随着训练集中样本数目的逐渐增加,泛化误差的上界逐渐趋近于0,收敛率是O(1/m)。

(看看像不像之前说的ploy(,,,),haha)

有限假设空间的不可分情形

不可分情形中,目标概念不在假设空间中,假设空间中的每个假设都会或多或少地出现分类错误,我们不再奢望找到目标概念的ϵ\epsilon近似,而是希望找到假设空间中泛化误差最小的ϵ\epsilon近似,对于学习算法输出的假设 h来说,泛化误差是其在未见数据上的预测能力,无法直接观测得到,但其在训练集上的经验误差是可以直接观测得到的。

H\mathcal{H}为有限假设空间,D是从D\mathcal{D}独立同分布采样得到的大小为m的训练集,大小为m,h∈H\mathcal{H},对于0<σ<1有:

P(E(h)E^(h)lnH+ln(2σ)2m)1σP(|E(h)-\hat{E}(h)|\le\sqrt{\dfrac {ln|H|+ln(\dfrac{2}{σ})}{2m}})\ge1-σ

由上面的公式可得E(h)E^(h)+lnH+ln(2σ)2mE(h)\le \hat{E}(h)+\sqrt{\dfrac {ln|H|+ln(\dfrac{2}{σ})}{2m}}以至少1-σ的概率成立。由于lnH+ln(2σ)2m=O(1/m)\sqrt{\dfrac {ln|H|+ln(\dfrac{2}{σ})}{2m}} = O(1/\sqrt{m})所以在有限不可分的情形下,泛化误差的收敛率为O(1/m)O(1/\sqrt{m})

无限假设空间

有限VC维假设空间的泛化误差界

对于无限假设空间,通过VC维我们可以得到一个看泛化能力的公式:

对于假设空间H\mathcal{H},h∈H\mathcal{H},m∈N和1>ε>0,当m>=2/ε2ε^2时有:

P(E(h)E^(h)>ε)4ΠH(2m)exp(mε28)P(E(h)-\hat{E}(h)>ε)\le4\Pi_H(2m)exp(-\dfrac{mε^2}{8})

如果加上假设空间VC维为d的条件可以得到下面的式子:

P(E(h)E^(h)8dln2emd+8ln(4σ)m)1σP(|E(h)-\hat{E}(h)|\le\sqrt{\dfrac {8dln\dfrac{2em}{d}+8ln(\dfrac{4}{σ})}{m}})\ge1-σ

下面这个定理还表明了泛化误差的收敛率为O(ln(m/d)m/d)O(\sqrt{\dfrac{ln(m/d)}{m/d}})也就是说VC维越大,那么假设空间就越复杂,泛化误差的收敛域就越慢。有限VC维的不可分假设空间比有限不可分假设空间更难收敛。

基于Rademacher复杂度的泛化误差界

对于从独立同分布采样得到的大小为m的训练集Z,函数空间F\mathcal{F}关于Z的经验Rademacher复杂度,和关于D\mathcal{D}的Rademacher复杂度分别是R^Z(F)\hat{\mathcal{R}}_Z(\mathcal{F})Rm(F)\mathcal{R}_m(\mathcal{F}),基于上面两个复杂度那么我们可以求F的泛化误差界。

对于实值函数空间F\mathcal{F}Z[0,1]Z\to[0,1],从分布D\mathcal{D}独立同分布采样得到的大小为m的训练集Z={z1,z2,...,zm}Z=\{z_1,z_2,...,z_m\},ziZz_i∈\mathcal{Z},fFf∈\mathcal{F}和0<σ<1,以至少1-σ的概率有:

E[f(z)]1mi=1mf(zi)+2Rm(F)+ln(1/σ)2mE[f(z)]1mi=1mf(zi)+2R^Z(F)+3ln(2/σ)2mE[f(z)]\le\dfrac{1}{m}\sum_{i=1}^m{f(z_i)}+2\mathcal{R}_m(\mathcal{F})+\sqrt{\dfrac{ln(1/σ)}{2m}} \\ E[f(z)]\le\dfrac{1}{m}\sum_{i=1}^m{f(z_i)}+2\hat{\mathcal{R}}_Z(\mathcal{F})+3\sqrt{\dfrac{ln(2/σ)}{2m}}

上面的结论适用于回归问题,如果是分类的问题呢?

对于假设空间H:X∈{-1,+1},独立同分布采样得到大小为m的训练集D,h∈H和0<σ<1,那么至少有1-σ的概率有:

E(h)E(h)^+R(H)+ln(1/σ)2mE(h)E(h)^+R1(H)+3ln(2/σ)2mE(h)\le \hat{E(h)}+R(H)+\sqrt{\dfrac{ln(1/σ)}{2m}} \\ E(h)\le \hat{E(h)}+R_1(H)+3\sqrt{\dfrac{ln(2/σ)}{2m}}

泛化误差下界

基于VC维也可以分析泛化误差下界,这一下界的意义在于指出对于任何学习算法存在某一数据分布,当样本数目有限时,学习算法不能以较大概率输出目标概率的近似,其中的要点是如何找这样一种数据分布。

可分情形

若假设空间H\mathcal{H}的VC维d>1,对任意m>1和学习算法ξ\xi,存在分布D\mathcal{D}和目标概念c∈H\mathcal{H}使得:

P(E(hD,c)>d132m)1100P(E(h_D,c) > \dfrac{d-1}{32m}) \ge \dfrac{1}{100}

其中hDh_D为学习算法ξ\xi基于大小为m的训练集D输出的假设。

以上公式说明,对于任意的学习算法ξ\xi,都肯定存在一个”坏“分布D\mathcal{D}以及一个目标概念cc^*,使得ξ\xi输出的假设hDh^D总会以较高概率产生O(d/m)的错误。

不可分情形

对于不可分假设空间的泛化误差下界,主要比较学习算法ξ\xi的泛化误差与贝叶斯最优分类器泛化误差之间的关系。

若假设空间H\mathcal{H}的VC维d>1,则对任意m>1和学习算法ξ\xi存在分布D\mathcal{D}使得:

PZDm(E(hZ)infhHE(h)>d320m)164P_{Z \sim \mathcal{D}^m}(E(h_Z) - \inf_{h∈\mathcal{H}} E(h) > \sqrt{\dfrac{d}{320m}}) \ge \dfrac{1}{64}

其中hZh_Z为学习算法ξ\xi基于大小为m的训练集Z输出的假设。

上面定理表明对于任意学习算法ξ\xi,在不可分情况下,必存在一种”坏"的分布Dσ\mathcal{D}_\sigma,使得ξ\xi输出的假设hZh_Z的泛化误差以常数概率为O(dm)O(\sqrt{\dfrac{d}{m}})

参考

[1] 周志华 王魏 高尉 张利军 《机器学习理论导引》

[2] Candy_GL的博客 blog.csdn.net/Candy_GL/ar…