[机器学习] 4. 没有免费午餐定理 No Free Lunch 与 PAC 可学习性

我们来补习一下统计学习框架的正式模型。

  • 输入 一个学习者可以访问以下内容

    • 作用域集合 (Domain set):一个任意的集合 X,学习者的目标是对其上面的元素进行标记。
    • 标签集合 (Label set):所有可能的标签 Y。许多时候被限制为 {0,1}{1,1},因为有限标签的问题可以通过多层二标签解决。
    • 训练数据 (Training data):或称训练集 (Training set)。S=((x1,y1),,(xm,ym)) 是一个取自 X×Y 的有限序列,即一些带标签的元素。
  • 输出 学习者需要输出一个函数 h:XY,称其为 predictor, hypothesis 或者 classifier,作为对所有 X 中标签的预测。用 A(S) 表示一个学习算法 A 接收了训练集 S 后得到的函数,不引起歧义的情况下也可直接记作 hS

  • 训练数据的生成 一条训练数据的生成基于一个 X 上的概率分布 DD 是学习者无法得知的。对于标签,我们目前假设存在一个正确的标记函数 f,使得 yi=f(xi) 被认为是 xi 正确的标签。f 是学习者无法得知的(因为我们的目标就是拟合 f)。

  • 成功度的衡量 定义一个 classifier 的误差 (error) 为其预测 X 上标签的基于分布 D 的错误率。形式化地,定义损失函数 π:X{0,1}π=[h(x)f(x)],令 A={π(x)=1xX},假设其是一个可测集合,则 AD 上的测度 D(A) 为 classifier h(D,f) 下的其误差。记作

    LD,f(h):=PxD[h(x)f(x)]:=D({h(x)f(x)xX})

    这样的误差称作泛化误差真实误差 (generalization error, true error or risk)。记号 L 总是代表损失 (loss)。

  • 学习者不知道 D,f,因此也不会知道 LD,f(h),不过它可以计算出自己在训练集上的误差,称其为训练误差经验误差 (training error, empirical error or empirical risk)。记作

    LS(h):=1m|{h(xi)yii[m]}|

    其中 S=((x1,y1),,(xm,ym))[m]={1,2,,m}

泛化理论的研究点就在于,如果 empirical error LS 很小,我们可以获得什么关于 true error LD 的结论。

显然,对任何误差的讨论都依赖于对 S 的选取方式,即 DS 的关系。一个常用的假设是每次都基于分布 D 随机选取一个元素与其对应标签放入 S 中。这可能会导致 S 中有重复的元素,但这并不会造成太大的影响(如果有要求,每次多采几次样直到获得一个新的就行),并且让这个过程变得简洁。形式化地,

  • 独立同分布假设 每一个训练集中的数据都是独立且基于同一个分布 D 地采出的。记作

    SDm

    也就是说,S 不仅仅描述了元素和标签的对应,也描述了元素的分布。

如果我们相信训练集是全体数据的一个快照,即 LS,LD 强相关,那么一个合理的想法是尽可能地减小训练集上的损失。这种最小化 LS 的策略称为经验风险最小化 (ERM, Empirical Risk Minimization)。

在一般意义下,这个策略是有可能失效的。这种在训练集上表现良好,但是在真实情况下表现糟糕的现象称为过拟合 (overfitting)。直观地说,过拟合出现于函数过度适配于训练集的情形。

不过,与其放弃 ERM 策略,我们更倾向于寻找不会导致过拟合的条件。一个合理的策略是限制函数空间。即,在看到测试集之前就对函数的形态进行一定限制。这个空间称为假设类 (hypothesis class),记作 H。形式化地,

ERMH(S)argminhHLS(h)

泛化理论一个基本的问题便是,应该如何选择假设类,使得过拟合的情况不会出现。即探寻该如何精心挑选 H,使得 ERM 策略生效。

这种对假设类的限制被称为归纳偏置 (inductive bias)。归纳是指由于学习者是在看到测试集之前就进行限制,这种限制必定基于某种先验的对问题规律的归纳;偏置指的是某种特定的偏好。直观地说,限制越多,过拟合的情况就更难出现,但会导致更多的偏置,因此需要对两者进行平衡。形式化地

LD(hS)=ϵapp+ϵest

其中

ϵapp:=minhHLD(h), ϵest:=LD(hS)ϵapp

ϵapp 表示近似误差 (Approximation Error),即通用的最好的 hypothesis 的误差。在应用中即所谓模型的限制,比如用线性关系近似非线性关系。

ϵest 表示估计误差 (Estimation Error),即在测试集上得到的 hypothesis 与假设类中最好的 hypothesis 的误差的差。在应用中,过拟合、欠拟合都会导致估计误差增大。

对泛化能力的把握便是考虑 ϵest。对 ϵapp 的考虑是另外一件事。

因此,一种假设是,学习者能够得知 ϵapp=0,这样即使学习者不知道 argminLD(h),也知道它离达到有多接近。即

定义(可实现性假设)存在 hH 使得 LD,f(h)=0

也就是说,H 中是有通用的好的 hypothesis 的,并且在采用 ERM 策略时总是有 P(LS(hS)=0)=1,即对几乎所有测试集都能够找到在其之上表现良好的 hypothesis。在许多情况下我们可以直接认作其对所有S 成立。

我们意识到,并不是所有的 S 都具有代表性,因此不应该对所有的 S 生成的 hypothesis 提任何要求,而应该用其达到要求的概率。同样,也不应该对所有 X 的元素提要求,而应该用其预测正确的测度。形式化地,

定义 一个假设类 H 是概率近似正确 (PAC, Probably Approximately Correct) 可学习的,如果存在函数 mH:(0,1)2N 和一个学习算法满足,对任意 ϵ,δ(0,1)X 上的分布 D 以及标签 f:X{0,1},如果 H,D,f 满足可实现性假设,则学习算法接收长度为 mmH(ϵ,δ) 的训练集可以给出一个假设 h,使得有至少 1δ 的概率

LD,f(h)ϵ

我们首先来通过一个著名的定理加深我们的信念。其说明,没有先验知识,就不会有可学习性。

定理 (没有免费午餐定理,No Free Lunch Theorem) 在任务 X{0,1} 中,对任何学习算法 A,若训练集 S 的大小 m|X|2,则存在分布 D 使得

  • 存在 f 使得 LD(f)=0
  • PSDm(LD(A(S))18)17

注:原定理的第一条要求是由于其已经阐述过下文提到的更一般化的 X×{0,1} 上的分布,这个要求等价于存在正确的标记函数 f

证明

考虑训练集占严格一半的情况,即只使用一个大小为 2mX 的子集 C 来说明。由于没有限制,有 T=22m 种函数 {f1,,fT},对于每一个函数定义一个分布 {D1,,DT},满足

Di({x,y})={1|C|y=fi(x)0otherwise

显然地,LDi(fi)=0。因此这些 D 是符合条件的。我们接下来说明

maxi[T]ESDimLDi(A(S))14

如果这是对的,简单地用 Markov's Ineq 就可以得到定理结论。

直观地讲,这是显然的。因为我们总是可以随机构造那些不在训练集上的标签。但是由于 S 是基于 Di 构造的所以这里并不能直接描述什么是“不在训练集上”。

考虑 k=(2m)m 种不同的测试集 {S1,,Sk},对 Si=(x1,,xm)Sji=((x1,fi(x1)),,(xm,fi(xm)))

maxi[T]ESDimLDi(A(S))=maxi[T]1kj=1kLDi(A(Sji))1Ti=1T1kj=1kLDi(A(Sji))minj[k]1Ti=1TLDi(A(Sji))

对固定的 j[k],考虑 {v1,,vp} 是没有出现在 Sj 中的集合。pm

LDi(h)=12mxC[h(x)fi(x)]12mr=1p[h(vr)fi(vr)]12pr=1p[h(vr)fi(vr)]

1Ti=1TLDi(A(Sji))1Ti=1T12pr=1p[(A(Sji))(vr)fi(vr)]=12pr=1p1Ti=1T[(A(Sji))(vr)fi(vr)]12minr[p]1Ti=1T[(A(Sji))(vr)fi(vr)]

于是我们可以将 (fi,fi) 配对,其中两者只在 vr 处取值不同,在 C 的其他地方取值完全相同。所以

1Ti=1T[(A(Sji))(vr)fi(vr)]=12

minj[k]1Ti=1TLDi(A(Sji))14


现在的问题是,对满足何种性质的 H,才能用 m 限制

Dm({(S|x)LD,f(hS)>ϵ})

的上界。其中 S|x=(x1,,xm) 表示测试集的所有实例。

一个简单的想法是,如果 H 是有限的,那么我们可以对每个 h 考虑。如果 LD,f(h)=θ,那么采样出的 S(1θ)m 的概率避开了这些出错的地方。

HB={hHLD,f(h)>ϵ}

表示那些不好的 hypotheses;

M={(S|x)hHB,LS(h)=0}

表示所有可能导致学习者给出不好 hypothesis 的训练集。则

M=hHB{(S|x)LS(h)=0}

{(S|x)LD,f(hS)>ϵ}M

因此

Dm({(S|x)LD,f(hS)>ϵ})Dm(M)=Dm(hHB{(S|x)LS(h)=0})

而根据测度论中的一个引理

引理 (Union Bound) D(i=1+Ai)i=1+D(Ai)

可知

Dm({(S|x)LD,f(hS)>ϵ})hHBDm({(S|x)LS(h)=0})=hHBi=1mD(xih(xi)=f(xi))=hHB(1LD,f(h))mhHB(1ϵ)m|HB|eϵm|H|eϵm

因此得到

推论 任意有限假设类 H 是 PAC 可学习的,且

m(ϵ,δ)ln(|H|δ)ϵ

对于一般的问题,我们并不能保证可实现性假设。因为我们并不一定能够给出精确的范畴,使得每个元素的标签唯一且被明确。形式化地,我们将 X 上的概率分布 Df:XY 改为 X×Y 上的分布 D,而 Y 通常是 {0,1} 这一点不变。这个联合分布分为两部分,边缘分布 Dx 以及条件概率 D((x,y)|x)。重新定义真实误差

LD(h):=P(x,y)D[h(x)y]:=D({(x,y)h(x)y})

经验误差的定义不变。因为其不涉及到 D

对任何 X×{0,1} 上的分布 D,最优的函数将为

fD(x)={1P[y=1|x]120otherwise

称其为 Bayes 最优分类器。可知对一个一般的 D 来说,LD(f)0,因此其是不可实现的,因此在其之上 PAC 的定义会失效。

定义 一个假设类 H不可知 PAC 可学习的,如果存在函数 mH:(0,1)2N 和一个学习算法满足,对任意 ϵ,δ(0,1)X×{0,1} 上的分布 D,学习算法接收长度为 mmH(ϵ,δ) 的训练集可以给出一个假设 h,使得有至少 1δ 的概率

LD,f(h)minhHLD(h)+ϵ

这个定义和 PAC 不同之处在于这里不可知 ϵapp 的情况,只要求了 ϵestϵ

对于更一般的情况,损失函数并不一定定义在 X×Y 上(比如无监督学习),我们只是使用一个 Z 来描述一个作用域(即之前都是 Z=X×Y 的特殊情况),并在 H×Z 上定义损失函数 l:H×ZR+。真实误差为

LD(h):=EzD[l(h,z)]

经验误差为

LS(h):=1mi=1ml(h,zi)

对 0-1 loss,有

l:H×(X×Y)R+l(h,(x,y))[h(x)y]

对回归问题的 square loss,有

l:H×(X×Y)R+l(h,(x,y))(h(x)y)2

定义 一个假设类 H 是在 Z,l:H×ZR+不可知 PAC 可学习的,如果存在函数 mH:(0,1)2N 和一个学习算法满足,对任意 ϵ,δ(0,1)Z 上的分布 D,学习算法接收长度为 mmH(ϵ,δ) 的训练集可以给出一个假设 h,使得有至少 1δ 的概率

LD,f(h)minhHLD(h)+ϵ

其中 LD(h)=EzD[l(h,z)]

posted @   shiys22  阅读(591)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示