机器学习与数据挖掘(2):学习的可能性

来源:互联网 发布:开淘宝网店怎么赚钱 编辑:程序博客网 时间:2024/05/29 07:34

误差理论

① 偏倚(bias)和方差(variance)

在讨论线性回归时,我们用一次线性函数对训练样本进行拟合(如图1所示);然而,我们可以通过二次多项式函数对训练样本进行拟合(如图2所示),函数对样本的拟合程序看上去更“好”;当我们利用五次多项式函数对样本进行拟合(如图3所示),函数通过了所有样本,成为了一次“完美”的拟合。

这里写图片描述
这里写图片描述
这里写图片描述

图3建立的模型,在训练集中通过x可以很好的预测y,然而,我们却不能期望该模型能够很好的预测训练集外的数据。换句话说,这个模型没有很好的泛化能力。因此,模型的泛化误差(generalization error)不仅包括其在样本上的期望误差,还包括在训练集上的误差。

图1和图3中的模型都有较大的泛化误差,然而他们的误差原因却不相同。图1建立了一个线性模型,但是该模型并没有精确的捕捉到训练集数据的结构,我们称图1有较大的偏倚(bias),也称欠拟合;图3通过5次多项式函数很好的对样本进行了拟合,然而,如果将建立的模型进行泛化,并不能很好的对训练集之外数据进行预测,我们称图3有较大的方差(variance),也称过拟合。

通常,在偏倚和方差之间,这样一种规律:如果模型过于简单,其具有大的偏倚,而如果模型过于复杂,它就有大的方差。调整模型的复杂度,建立适当的误差模型,就变得极其重要了。

② 预备知识

首先我们先介绍两个非常有用的引理:

引理1

一致限(the union bound)令A1,A2,A3,A4,,Ak为k个不同的事件(不一定相互独立),那么有:

P(A1A2Ak)P(A1)++P(Ak)

一致限说明:k个事件中任一个事件发生的概率小于等于这k个事件发生的概率和(等号成立的条件为这k个事件相两两互斥)。

引理2

Hoeffding不等式(Hoeffding’s inequality)令Z1,Z2,Z3,Z4,,Zm为m个独立同分布的随机变量,由参数为ϕ 的伯努利分布(特殊的二项分布,即P(Zi=1)=ϕ, P(Zi=0)=1ϕ)生成。令,ϕ^=1mmi=1Zi为这些随机变量的均值,对于任意γ>0有:

P(|ϕϕ^|>γ)2e2γ2m

P(|ϕϕ^|γ)>12e2γ2m

Hoeffding刻画的是某个事件的真实概率及其m个独立重复试验中观察到的频率之间的差异,更准确的将,它是应用于m个不同的伯努利实验。

在机器学习中,引理2称为Chernoff边界(Chernoff bound),它说明:假设我们用随机变量的均值ϕ^去估计参数ϕ,估计的参数和实际参数的差超过一个特定数值的概率有一确定的上界,并且随着样本量m的增大,ϕ^ϕ很接近的概率也越来越大。

通过以上两个引理,我们能够引出机器学习中很重要结论。

为简单起见,我们只讨论二分类问题,即类标签为y{0,1}

假设给定的训练集为S={(x(i),y(i));i=1,,m},且各训练样本(x(i),y(i))独立同分布,皆为某个特定分布D生成。对于一个假设函数(hypothesis),定义训练误差(training error)(也称为经验风险(empirical risk)或经验误差(empiriacal error))为:

ϵ^=1mi=1m#{h(x(i))y(i)}

训练误差为模型在训练样本中的错分类的比例,如果我们要强调ϵ^是依赖训练集的,也可以将其写作ϵ^s(h)

我们再定义泛化误差(generalization error)

ϵ(h)=P(x,y)D(h(x)y)

这里得到的是一个概率,表示通过特定的分布D生成的样本(x,y)中的y与通过预测函数h(x)生成的结果不同的概率。

注意,我们假设训练集的数据是通过某种分布D生成的,我们以此为依据来衡量假设函数。这里的假设有时称为PAC(probablyapproximately correct)假设。

在线性分类中,假设函数hθ(x)=1{θTx0}中参数如何得来?其中一个方法就是调整参数θ,使得训练误差最小,即:

θ^=argminθε^(hθ)

我们称这样的方法为经验风险最小化(empirical risk mininmization,ERM),其中h^=hθ^ ,基于ERM原则的算法可视作最基本的学习算法。线性回归和logistic回归都可以看作是遵守ERM的算法。

我们定义假设类集合H(hypothesis class)为所有假设函数的集合。

例如线性分类问题中,H={hθ:hθ=1,θTx0,θRn+1},其为所有的(输入的定义域)X,对应的线性决策边界。

因此,ERM也可以认为是一组分类器的集合中,使得训练误差最小的那个分类器,即:

h^=argminhHε^(h)

③ 有穷集H

我们定义假设类集合H={h1,...,hk}由k个假设类(hypotheses)构成。其中,H为k个由X至{0,1}的映射函数构成,ERM从集合中k个元素选择h^使得训练误差最小。

为了确保h^和泛化误差的差值是有上界的,即如果训练误差很小,那么泛化误差也不会太大,我们需要完成两个步骤:首先,证明对于任意h,ε^(h)是对ε(h)的可靠估计;其次,证明ε(h^)存在上界。

我们令hiH,随机变量Z服从伯努利分布,样本由分布D生成:即:(x,y)D。并且定义:Z=1if{hi(x)y},即Z为指示变量,用来标记被假设函数hi(x)错误分类的样本(可以类比二分类中计算loss的思路)。

泛化误差ε(h)定义为随机变量Z的期望,训练误差ε^(hi)为训练样本被假设函数误分类的比例,即:

ε^(hi)=1mmj=1Zj=1mmi=1#{hj(x(i))y(i)}

利用Hoeffding不等式,可以得到:

P(|ε(hi)ε^(hi)|>γ)2e2γ2m

从上式可以看出,对于特定的hi,当m很大时,训练误差和泛化误差很接近的概率很大。但是,我们不仅仅需要考察对于特定的hi,训练误差和泛化误差的接近程度,而是需要验证对于所有的h \mathcal H$不等式也成立。

现令Ai代表事件|ε(hi)ε^(hi)|>γ,对于任意Ai,存在P(Ai)2e2γ2m,因此,由引理1可得:

P(hH.|ε(hi)ε^(hi)|>γ)=P(A1...Ak)ki=1P(Ai)ki=12e2γ2m=2ke2γ2m

也可以得到他的等价式:

P(¬hH.|ε(hi)ε^(hi)|>γ)=P(hH.|ε(hi)ε^(hi)|γ)12ke2γ2m

上式表示了假设集H内任意假设函数的训练误差和泛化误差的的接近程度小于一个常数γ的概率有下界,并且随着样本量的增加,训练误差接近泛化误差的概率随之增大。上式的结果称为一致收敛。下面以此不等式引出个推论:

样本量下界

以上的不等式有三个元素:样本量m,误差阈值γ和概率δ,通过任意两个元素,可以确定第三个元素。例如,我们可以关心下列问题:

如果给定γδ>0,我们需要多大的样本量才能保证训练误差和泛化误差相差不超过γ的概率最小为1δ

δ=2ke2γ2m可以解出m:

m12γ2log2kδ

上面的不等式确定了一个m的下界,该下界称为算法的样本复杂度(algorithm’s sample complex),也就是说,如果我们想通过样本对总体有个较为准确的估计,我们需要采集最小的样本量是多少。

误差界限

如果我们固定m和δ的值,求解γ,可以得到:

γ=|ε^(h)ε(h)|12mlog2kδ

假设一致收敛成立,那么对于所有hH,有|ε(h)ε^(h)|γ,那么,可以得到样本泛化误差和总体泛化误差的距离:

h^=argminhHε^(h)h=argminhHε(h),即h表示在集合H中使得泛化误差最小的那个假设函数。那么有:

ε(h^)ε^(h^)+γε^(h)+γε(h)+2γ

上式第一行不等式依据的是|ε(h)ε^(h)|γε^(h^)ε^(h)

第二行是由ε^(h^)是对样本最小的误差的假设函数,因此小于ε^(h)

第三行是根据不等式|ε(h)ε^(h)|γ

从不等式可以看出,对于h^(即利用训练集得到的误差最小的假设函数)的泛化误差在任何情况下也不会比最理想的泛化误差多2γ。结合前面的结论,我们可以得到定理1。

定理1

|H|=k,且m和δ值固定,在误差小于一个阈值的概率为至少为1δ的情形下,有:

ε(h^)(minhHε(h))+212mlog2kδ

定理1给出了一个很重要的结论:如果我们扩充假设类集合的范围,即由原来的假设类H扩充为HHH,则上式第一项(可以非正式的视其为偏差)的值会变小,因为扩充假设类集,可能有更好的假设函数使得最小泛化误差下降;第二项(可以非正式的视其为方差)的值会增大,因为k的值增加了。因此,如果假设类过小,则第一项过大,会造成欠拟合,通过扩充假设类H,可以使得第一项的值下降,但是第二项值上升,如果扩充过大,会造成过拟合,同样会增加泛化误差。因此要想得到最小的泛化误差,需要在选择合适的H,即在方差和偏差之间进行权衡。

假如固定γδ,去求解m,我们可以得到一条关于样本复杂度的推论:

推论1:令|H|=kγδ为定值,再令ε(h^)minhHε(h)+2γ的概率不低于1δ,那么样本量需满足:

m12γ2log2kδ=O(1γ2logkδ)

④ 无穷集

上一节我们介绍了在假设类集合是有穷集的情况下泛化误差、训练误差和样本量之间的关系。然而,存在很多以实数为参数的模型,假设类集合中元素数量是无穷的(如线性分类问题)。我们将如何处理?

下面以线性分类为例,假设分类的决策边界由线性函数表示,且该线性函数有d个实数参数。如果我们用计算机表示这些实数,根据IEEE双精度浮点数的标准,用64位二进制表示一个实数,那么,这d个实数需要用64d个2进制位表示,因此,这里假设类集合最多由k=264d个元素构成。由推论1可得,如果需要保证ε(h^)ε(h)+2γ的概率不小于1δ,需满足mO(1γ2log264dδ)=O(dγ2log1δ)=Oγ,δ(d),因此可以看出,训练样本量和模型参数数量为线性关系。事实上,依赖64位浮点数无法得出准确的参数,然而,如果我们尝试去最小化训练误差,也会得出理想的假设函数。

前文的结论是依赖于H的参数设置。如在线性分类器中hθ=1{θ0+θ1x1+...+θnxn},此处有n+1个参数。如果这样定义分类器:hu,v=1{(u20v20)+(u21v21)x1+...+(u2nv2n)xn},此时有2n+2个参数,但是这二者定义了相同的H:在n维空间的线性分类器。

最后通过引入VC维的概念,将误差理论推广到更加一般的情形。

VC维

给定一个集合;S={x(1),...,x(d)}x(i)X,这d个点可以用2d种方法正负样本。如果存在hH可以将这2d种标记的情况都能够有效分类,我们就称H可以散列(shatter)S。通过H集合中的某个假设函数h,可以对这个点构成的任何情况进行无误差的分类。将一个假设集能够无误差分类的最大的点的数量称为改假设集的VC维,记作VC(H)

下面举例说明,假设有三个点如下图所示:

这三个样本点有23=8种分类可能,如果使用线性分类器对其进行分类,可以得到“零训练误差”,如下图所示:









然而,线性分类器最多对3个点构成的所有可能分类情况进行无误差分类。如果超过3个点线性分类器将无法进行分类。如下图所示:

这里的结论可能很悲观,线性分类器在二维平面上至多只能给3个点进行无误差的分类。(更一般的,k维线性分类器最多只能给k+1个点进行无误差分类。)

然而,实际的应用中,并不需要构建一个模型使得对于训练集进行无误差的分类,甚至分类过于精确,会使得模型的泛化能力变得很弱,因此VC维仅仅是保证理论的严密,以及可以相关证明的前提条件,并不能完全做为分类算法准确程度的度量。

最后,介绍两个重要的定理:

定理2

H为给定的假设集,且d=VC(H),在概率不小于1δ的情况下,对于任意hH,有:

|ε(h)ε^(h)|O(dmlogmd+1mlog1δ)

同样有

ε(h^)ε(h)+O(dmlogmd+1mlog1δ)

也就是说,如果一个假设集H,VC维是有限的,那么,随着m的增大,任意hH的训练误差和泛化误差一致收敛。并且有如下推论。

推论2

假设|ε(h)ε^(h)|γ且对于所有hH要确保其概率不低于1δ,需满足m=Oγ,δ(d)

推论2的含义是,如果需要确保训练误差和泛化误差的差值在一个给定的范围内,并且发生的概率不低于1δ,需要的样本数量和假设集的VC维大小呈线性相关。

⑤ 总结

本文给出了训练误差和泛化误差的一般性定义;并介绍了ERM原则;证明了泛化误差和训练误差间差距、样本量和误差概率之间的关系;最后通过引入VC维,推出了更一般的情况下他们之间的关系。

附录

Hoeffding不等式证明

原创粉丝点击