从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(独立同分布)的随机变量,服从均值为的 ϕ ϕ 伯努利分布:
ϕ^=1N∑Ni=1zi ϕ ^ = 1 N ∑ i = 1 N z i
则有: P(|ϕ^−ϕ|>γ)≤2∗exp(−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(A1∪A2∪..∪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=1N∑Ni=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,in−Eh,out|>γ)≤2∗exp(−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,in−Ehj,out|>γ | E h j , i n − E h j , o u t | > γ 则: P(Aj)≤2∗exp−2γ2N P ( A j ) ≤ 2 ∗ e x p − 2 γ 2 N ,学习算法利用给定的误差衡量方式选取h,我们无法保证会选到哪个h,因此为了保证机器能学到规则,需要保证对于假设空间H中任意的 hj h j ,都有 |Ehj,in−Ehj,out|>γ | E h j , i n − E h j , o u t | > γ ,事件 Aj A j 表示对于规则 hj h j |Ehj,in−Ehj,out|>γ | E h j , i n − E h j , o u t | > γ ,因此,需要保证对于假设空间H中任意的 hj h j ,都有 |Ehj,in−Ehj,out|>γ | E h j , i n − E h j , o u t | > γ 的概率等价于 P(A1∪A2∪..∪Ak) P ( A 1 ∪ A 2 ∪ . . ∪ A k )
则根据联合界引理可以得到: P(A1∪A2∪..∪Ak)≤∑ki=1P(Aj)≤∑ki=12∗exp−2γ2N=2∗k∗exp−2γ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 足够接近,即保证机器可以学到一些规则。即:
只要 N≥12∗γ2log2kδ N ≥ 1 2 ∗ γ 2 l o g 2 k δ (其中 δ=2k∗exp−γ2N δ = 2 k ∗ e x p − γ 2 N ) 就可以保证: P(|EH,in−EH,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(即在某个置信度内要达到某个特定的误差界限,需要多少训练样本):
根据上式可以得到 : N≥12∗γ2log(2kδ) N ≥ 1 2 ∗ γ 2 l o g ( 2 k δ ) ,即只要