从VC维角度理解正则化与偏差方差权衡

从VC维角度理解正则化与偏差方差权衡

正则化与偏差方差权衡是机器学习中的两个核心问题。本文尝试从VC维的角度阐释正则化与偏差方差权衡,以便更好的应用机器学习的方法。

本文主要包括以下四方面内容:

1、机器学习的框架

2、VC维理论(不做严格的证明,只说明VC维的概念,以及说明为什么VC维 可以作为模型复杂度的度量,以及论述偏差-方差权衡)

3、从VC维的角度理解正则化

4、深度学习与VC维

5、深度学习中正则化与VC维解释

机器学习的框架

本质上说,机器学习是一种归纳推理的方法,即从一组有限的样本中推断一般的规则,因此,逻辑上无法保证在已经看过的数据之外一定能学到什么。事实上,对于我们没有观察到的数据,如果我们假设所有产生数据的规则f出现的概率相同,那么任何一种算法在没有观察到的数据上都有相同的错误率。这就是天下没有免费午餐定理(No Free Lunch Theory) 。但是NFL是在假设所有可能的规则f出现的概率相同时出现时才会成立,真实世界中,对于特定的问题,可以假设存在一些特定的潜在的分布 ( X的产生)和潜在的规则f (X–>Y),那么我们就可以设计算法进行学习,从而使得在我们关注的大多数样本上学到可能正确的规则(PAC(Probably Approximately Correct) )。

因此,机器学习的流程可以总结如下图所示:
这里写图片描述

其中,χ为产生X的潜在分布(假设训练集和测试集中的X都来源于同一分布χ,且相互独立),f为X–>Y的规则(由于噪音的存在,事实上我们得到的Y并不是精确的X通过规则f转化而得到的,因此我们采用概率分布P(Y|X)来描述训练集D的产生过程),A为机器学习的算法,H为假设空间(我们假设的所有可能的规则的集合),err为误差衡量的方式(有时err可能无法很好的优化,因此常采用err的替代函数 err^ e r r ^ ),g为最终学到的规则(函数)。

具体学习流程过程如下:

机器学习的算法A从假设的所有可能的规则的集合(假设空间H)中,选择能使对训练集上的数据(D),对于给定的误差衡量方式 err^ e r r ^ ,,误差最小的规则g作为最终的输出。

(有时我们通过在 err^ e r r ^ 加入一些先验知识 (比如我们希望模型尽可能比较平滑),这些先验知识无法从数据中学习得到,代表了我们的某些期望,事实上这就是正则化) 。

但是,机器学习的目标并不是在我们观察到的训练集上获得最小的误差(训练误差),而是希望在我们尚未观察到的测试集上也有很好的表现,误差也足够小(泛化误差足够小,即有很好的泛化能力(generalization) )。

因此,机器学习可以归结为以下两个问题:

1、使得训练误差足够小

2、使得泛化误差与训练误差足够接近

对于第一个问题,选择合适的算法,给定足够大的假设空间,即可使得训练误差足够小(事实上神经网络的高度可扩展性 (模型可以任意复杂)和将优化与特征提取工作同时训练的特性 ,可以使得我们可以获得任意小的训练误差,模型太过简单或者提取的特征本身都可能限制训练误差足够小)。

重要的是第二个问题,因此本文接下来尝试简单论述VC理论(以二分类问题为例,其他可以进行推广),从而说明在什么情况下,可以保证训练误差和泛化误差足够接近,保证机器可以学到东西。

VC 维

有限假设空间内的学习保证:

为了介绍VC理论,首先引入Hoeffding 不等式 和 Union Bond(联合界引理)(需要说明的是,为了保证普适性,这两个定理都是非常宽松的,在本文的后面提供的证明中进行说明,这里只给出结论):

Hoeffding 不等式

假设 z1,z2,...zN z 1 , z 2 , . . . z N 为N个IID(独立同分布)的随机变量,服从均值为的 ϕ ϕ 伯努利分布:

ϕ^=1NNi=1zi ϕ ^ = 1 N ∑ i = 1 N z i

则有: P(|ϕ^ϕ|>γ)2exp(2γ2N)) P ( | ϕ ^ − ϕ | > γ ) ≤ 2 ∗ e x p ( − 2 γ 2 N ) ) ,(描述了一组随机变量的均值与期望值相差一个确定值的概率上的upper bound,如下图所示,根据采用得到的 v v ,我们无法得到精确的 μ ,但Hoeffding 不等式告诉我们, v v μ 之差大于一个确定值 ϵ ϵ 的概率有一个上界,换句话说,只要N足够大,可以保证 v v μ 一致收敛。
这里写图片描述

需要说明的是:Hoeffding 不等式与中心极限定理不同,对于任意的正整数N都成立。

Union Bond (联合界引理)

假设 A1,A2,...Ak A 1 , A 2 , . . . A k 表示k个事件(不一定独立): 则有:

P(A1A2..Ak)P(A1)+P(A2)+...+P(Ak) P ( A 1 ∪ A 2 ∪ . . ∪ A k ) ≤ P ( A 1 ) + P ( A 2 ) + . . . + P ( A k )

定义训练集: D=(x1,y1),(x2,y2),...(xN,yN) D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x N , y N ) , xi x i 为来自分布χ的采样,独立同分布,x到y的转化规则为f(x)。

定义固定的假设规则:h(x)

定义规则h的训练误差: Eh,in=1NNi=1 (h(xi)f(xi)) E h , i n = 1 N ∑ i = 1 N   ( h ( x i ) ≠ f ( x i ) )

定义规则h泛化误差: Eh,out=ϵxχh(x)f(x) E h , o u t = ϵ x → χ h ( x ) ≠ f ( x ) 表示h(x)不等于f(x)的均值。

事件 h(x)f(x) h ( x ) ≠ f ( x ) 服从伯努利分布,x独立,因此 h(x)f(x) h ( x ) ≠ f ( x ) 也独立:从而根据Hoeffding不等式有:

P(|Eh,inEh,out|>γ)2exp(2γ2N)) P ( | E h , i n − E h , o u t | > γ ) ≤ 2 ∗ e x p ( − 2 γ 2 N ) )

因此对于一个固定h(x),当N足够大时,即使不知道f,也可以从 Eh,in E h , i n 推断 Eh,out E h , o u t ,从而保证训练误差与泛化误差足够接近,即当 Eh,in E h , i n 足够小时,只要N足够大,则 Eh,out E h , o u t 就会很小(即在我们未看过的数据上也可以有很好的预测), 从而可以认为机器学到了一些规则。

但是如果只有一个固定的h(x),学习算法无法保证 Eh,in E h , i n 足够小。我们假设假设空间有M个不同的规则h{1…M},定义事件 Aj A j : |Ehj,inEhj,out|>γ | E h j , i n − E h j , o u t | > γ 则: P(Aj)2exp2γ2N P ( A j ) ≤ 2 ∗ e x p − 2 γ 2 N ,学习算法利用给定的误差衡量方式选取h,我们无法保证会选到哪个h,因此为了保证机器能学到规则,需要保证对于假设空间H中任意的 hj h j ,都有 |Ehj,inEhj,out|>γ | E h j , i n − E h j , o u t | > γ ,事件 Aj A j 表示对于规则 hj h j |Ehj,inEhj,out|>γ | E h j , i n − E h j , o u t | > γ ,因此,需要保证对于假设空间H中任意的 hj h j ,都有 |Ehj,inEhj,out|>γ | E h j , i n − E h j , o u t | > γ 的概率等价于 P(A1A2..Ak) P ( A 1 ∪ A 2 ∪ . . ∪ A k )

则根据联合界引理可以得到: P(A1A2..Ak)ki=1P(Aj)ki=12exp2γ2N=2kexp2γ2N P ( A 1 ∪ A 2 ∪ . . ∪ A k ) ≤ ∑ i = 1 k P ( A j ) ≤ ∑ i = 1 k 2 ∗ e x p − 2 γ 2 N = 2 ∗ k ∗ e x p − 2 γ 2 N

通过上式,可以得到,当k为有限个时,只要N足够大,我们依然可以保证 EH,in E H , i n EH,out E H , o u t 足够接近,即保证机器可以学到一些规则。即:

只要 N12γ2log2kδ N ≥ 1 2 ∗ γ 2 l o g 2 k δ (其中 δ=2kexpγ2N δ = 2 k ∗ e x p − γ 2 N ) 就可以保证: P(|EH,inEH,out|γ)1δ P ( | E H , i n − E H , o u t | ≤ γ ) ≥ 1 − δ ,即 EH,in E H , i n EH,out E H , o u t 实现一致收敛。

同时,我们根据上式也可以定义样本复杂度和误差界限

样本复杂度

给定 γ γ δ δ ,求解 N(即在某个置信度内要达到某个特定的误差界限,需要多少训练样本):

根据上式可以得到 : N12γ2log(2kδ) N ≥ 1 2 ∗ γ 2 l o g ( 2 k δ ) ,即只要

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值