写在前面
本文是Andrew Ng的机器学习公开课的总结,其中涉及到偏差方差分析在PRML中有过比较严谨的数学分析,详见文章PRML——偏差方差分析。而吴老师的课上以一种更直接和相对较为通俗的方式给出了这些概念,解决的问题有如下几个:
(1). 如何形式化定义方差和偏差(针对机器学习算法)以方便对算法的讨论评价?
(2). 用训练误差评估泛化误差是否合理?
(3). 在什么条件下,我们能评估一个算法的好坏?
而这些问题的一个综合思想便是怎么选择算法,使之能够在实际问题中表现得好。
欠拟合与过拟合
在房价预测问题中,使用线性回归进行拟合数据会大致存在三种情况:
左边使用直线拟合,可以看见很多数据点并未在直线上;中间的图比左图有了很好的改进,但依旧有少量的点未在直线上;右图所有的点全在直线上,拟合效果最好。对这三种模型而言,在训练集上的拟合程度逐渐提高,但我们更加关注的是对于新的非训练数据,这些模型会表现得怎么样。经过实验发现,左图右图在新的数据集上表现不如中间图,左图的模型简单(方差小),但拟合效果不好(偏差高)。右图模型复查(方差大),拟合程度好。但这两种模型的泛化误差都比较大,我们要寻找的是像中图这种拟合程度和泛化程度有一个良好平衡的模型,也就是对方差和偏差的均衡。
经验风险最小化
预备知识
在说及这个问题之前要明白两个定理:
(1). 联合边界定理(Union bound):对于k个随机变量A1,A2...Ak有下式成立:
P(A1UA2U...UAk)<=P(A1)+P(A2)+...+P(Ak)
从图上来看,明显有
P(A1UP(A2)UP(A3)<=P(A1)+P(A2)+P(A3),因为三个圆有重叠的部分。
(2). Hoeffding不等式:
Z1,Z2...Zm是服从
Bernouli(ϕ)的独立同分布(iid.)随机事件,
ϕ^=1m∑mi=1Zi表示随机变量的均值,对于任意的
γ>0有:
P(|ϕ−ϕ^|>γ)<=2e−2γ2m
式子直观的意思是
ϕ和
ϕ^的差大于
γ的概率一定小于右边的式子。比如抛硬币实验
ϕ=12,当实验次数
m增加时,
ϕ^就越接近
ϕ,这和已知的概率知识是相符合的。
定义及推导
为了方便讨论,定义和推导是针对二分类问题而言的,然而推广到多分类也是极其容易的。假设训练数据集为S={(x1,y1)...(xm,ym)},yi∈{0,1},i=1,2...m且样本(xi,yi)均是服从D的独立同分布。对于某一假设函数h对数据集的训练误差(也叫做经验风险)定义为:
ϵ^(h)=1m∑i=1m1(h(xi≠yi)
泛化误差是
h对同样来自分布
D且非训练数据的预测误差,定义为:
ϵ(h)=P(x,y)∼D(h(x)≠y)
假设
h=hθ,
θ是
h中的参数,那么最终优化的目标是:
θ^=argminθϵ^(hθ)
这就是经验风险(ERM)最小化的表达。现在我们换一种表达方式,抛弃假设函数的参数化,我们现在是从一个假设函数集
H中选择一个函数
h,那么ERM可表示成:
h^=argminh∈Hϵ^(h)
假设空间有限
我们先讨论假设空间有限的情况,目前的假设空间是H={h1,h2...hk},每一个假设函数hi,i=1,2...k是将样本xj,j=1,2...m映射到0或者1。不是一般性,我们假设挑选中一个假设函数hi,对于一个样本(x,y)∼D定义Z=1(hi(x)≠y)表示hi是否对该样本错分类。所以重写上面的训练误差:
ϵ^(h)=1m∑i=1mZi
因为所有的样本都是服从独立同分布,那么
Z也是独立同分布的,并且此时
ϵ(h)可看作是分布的期望,而
ϵ^(h)看作是随机事件
Z的均值,根据Hoeffding不等式则存在:
P(|ϵ(hi)−ϵ^(hi)|>γ)≤2e−2γ2m
该式子右边随着
m的增大而减小,表明了我们在针对假设函数
hi时得到的训练误差和泛化误差是随着样本数量
m无限接近的。但此时我们只证明了对假设函数固定成
hi的情况,下一步我们来证明对于假设函数集中的每一个函数都存在这个性质。现在我们用事件
Ai来表示
|ϵ(hi)−ϵ^(hi)|>γ,根据上面的结论也就是:
P(Ai)≤2e−2γ2m
那么也就有:
P(∃h∈H.|ϵ(hi)−ϵ^(hi)|>γ)=P(A1∪A2∪...∪Ak)≤∑i=1kP(Ai)
≤∑i=1k2e−2γ2m=2ke−2γ2m
用1同时减去两边:
1−P(∃h∈H.|ϵ(hi)−ϵ^(hi)|>γ)≥1−2ke−2γ2m
也就是:
P(∀h∈H.|ϵ(hi)−ϵ^(hi)|≤γ)≥1−2ke−2γ2m
式子右边随着
m的增大而变大,整个式子表达的意思就是对于任意的假设函数
hi其训练误差和泛化误差的差不超过
γ的概率为
1−2ke−2γ2m,这叫做“一致收敛”。这也就解决了为什么可以用训练误差来估计泛化误差。不仅如此,根据上面的式子,我们还可以推导出一些有趣的结论,注意到上面的式子包含三个变量,分别是
γ,m和一个概率值(用
δ表示,并且注意这里是针对假设空间数量是定值,所以不存在k在这里是常量)。那么当
γ,δ>0给定的情况下多少的样本数量才能保证训上述式子的成立,也就是训练误差和泛化误差以概率收敛?更具倒数第二个式子,可得出答案是:
m≥12γ2log2kδ=O(1γ2logkδ)
这个结论叫做样本的复杂度,由于
γ,δ已经是常量,那么样本复杂度此处就只与假设空间的数量有关系了。(这里可能有点混,在前面推导m的时候我们说的假设空间是常量,这里怎么又不是了?因为在上面我们推导样本复杂度的时候是针对已经存在假设空间的情况下推导的,而这里所说的和样本数量有关是一个更加广泛的概念,也就是说如果换一个假设空间,那么它的样本数量就会不一样)。同样我们可以固定
m,δ去解决
γ,得出的结论是:
|ϵ^(h)−ϵ(h)|≤1mlog2kδ−−−−−−−√
下面我们解决另一个问题,为什么我们的假设函数可以根据下面这个式子选择:
h^=argminh∈Hϵ^(h)
我们更加关心的是泛化误差,现在我们假设在新的非训练数据上表现最好的假设函数是
h∗,也就是:
h∗=argminh∈Hϵ(h)
那么对于假设空间上任意一个假设函数
h^,由于
|ϵ(hi)−ϵ^(hi)|≤γ有:
ϵ(h^)≤ϵ^(h^)+γ
≤ϵ^(h∗)+γ
≤ϵ(h∗)+2γ
这也就表明,假设空间上任意一个假设函数的泛函误差比最好的假设函数泛化误差最多大
2γ。将上面对
γ的解带入有:
ϵ(h^)≤(minh∈Hϵ(h))+21mlog2kδ−−−−−−−√
用这个式子可以进行开始提及到的方差和偏差的分析,当换一个更大的假设空间,那么不等式右边第一项将会减小,因为我们可以寻找到更好的假设函数,而不等式右边第二项随着k的增大而增大,所以第一项可看成偏差,而第二项可看作方差。
假设空间无限
假设空间无限的情况下,借助了VC维进行说明,所谓的VC维简单理解就是在一个空间中,一个假设空间能打散的最大样本集合个数。什么叫打散呢?就是说这个假设函数能够对这些样本进行任意标记。例如2维线性分类器的VC的维为3。可以看下图:
当然,如果这些点换一种排列方式,那么2维的线性分类器无法分开。比如
所以看出打散只要能对其中一种位置情况能完全标记,那么就说可以打散。VC维常和假设函数的参数数量一致,不过也有特殊情况。借助VC维解决假设空间无限的问题有下面这些结论:
(1). 假设d=VC(H),在概率至少为1−δ的情况下,对于所有的假设函数h∈H有:
也就有:
另外要使上面的结论成立的话,样本复杂度随VC维成线性增长(m=Oγ,δ(d))。