机器学习著名定理之—No Free Lunch定理详解

引言

谈到机器学习一个非常著名的定理,那就不得不提No Free Lunch定理了。该定理核心思想是没有一种通用的学习算法可以在各种任务中都有很好的表现,需要对具体问题进行具体的分析。从原理出发去理解AI算法可以能够对AI相关的问题有更深刻的认识,像这种基于严格数学证明推导出的结论,尤其值得重视。翻阅了大量的相关材料力求让该定理的证明过程更加完整(需要注意的是该定理核心证明步骤中用到了一个修改版本的马尔可夫不等式),相关的材料列在文末。

No Free Lunch定理证明

定理(No Free Lunch): 假定 A \mathcal{A} A是一个在域 X \mathcal{X} X的二分类任务中任意一个机器学习算法,其损失函数为 0 - 1 0\text{-}1 0-1损失。令任何一个训练的大小 n n n不超过 ∣ X ∣ / 2 |\mathcal{X}|/2 X/2,存在域 X \mathcal{X} X中的分布 D \mathcal{D} D,则有
(1)存在一个函数 f : X → { 0 , 1 } f:\mathcal{X}\rightarrow \{0,1\} f:X{ 0,1},且有 L D ( f ) = 0 L_\mathcal{D}(f)=0 LD(f)=0
(2)对于子列 S ∼ D n \mathcal{S\sim D}^n SDn,则概率不等式 P ( L D ( A ( S ) ) ≥ 1 / 8 : S ∼ D n ) ≥ 1 / 7 P(L_\mathcal{D}(\mathcal{A}(\mathcal{S}))\ge 1/8: \mathcal{S}\sim\mathcal{D}^n)\ge 1/7 P(LD(A(S))1/8:SDn)1/7成立。

证明:
(1) 令 C \mathcal{C} C表示域 X \mathcal{X} X中大小为 2 n 2n 2n的一个子集。主要的证明思路是只利用数据集 C \mathcal{C} C一半的数据样本点并不能给出剩下一半数据点的信息。 假定 H \mathcal{H} H表示数据集 C \mathcal{C} C到标签集合 { 0 , 1 } \{0,1\} { 0,1}所有可能的函数集合,且 T T T表示的是函数集合的基数,其中 H = { f 1 , ⋯   , f T } \mathcal{H}=\{f_1,\cdots,f_T\} H={ f1,,fT} T = 2 2 n T=2^{2n} T=22n。对于 H \mathcal{H} H中每一个函数假设,令 D i \mathcal{D}_i Di C × { 0 , 1 } \mathcal{C}\times\{0,1\} C×{ 0,1}中的分布 D i ( { ( x , y ) } ) = { 1 / 2 m i f   y = f i ( x ) 0 o t h e r w i s e \mathcal{D}_i(\{(x,y)\})=\left\{\begin{array}{ll}1/2m & \mathrm{if}\text{ } y=f_i(x)\\0& \mathrm{otherwise}\end{array}\right. Di({ (x,y)})={ 1/2m0if y=fi(x)otherwise进而可知存在函数 f i f_i fi,在数据分布 D i \mathcal{D}_i Di上则有 L D i ( f i ) = 0 L_{\mathcal{D}_i}(f_i)=0 LDi(fi)=0
(2)主要证明的关键在于即对任意的学习算法 A \mathcal{A} A max ⁡ i ∈ [ T ] E S ∼ D i n [ L D i ( A ( S ) ) ] ≥ 1 / 4 \max\limits_{i \in [T]}\mathbb{E}_{\mathcal{S}\sim \mathcal{D}_i^n}[L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}))]\ge 1 / 4 i[T]maxESDin[LDi(A(S))]1/4首先从 C × { 0 , 1 } \mathcal{C}\times \{0,1\} C×{ 0,1}中采样出 n n n个样本构造一个训练集,其中采样出的样本可以重复,进而可知有 k = ( 2 n ) n k=(2n)^n k=(2n)n中可能的样本序列。令这些样本序列分别表示为 S 1 , S 2 , ⋯   , S k \mathcal{S}_1,\mathcal{S}_2,\cdots,\mathcal{S}_k S1,S2,,Sk S j i = ( ( x 1 , f i ( x 1 ) ) , ⋯   , ( x n , f i ( x n ) ) ) \mathcal{S}_j^i=((x_1,f_i(x_1)),\cdots,(x_n,f_i(x_n))) Sji=((x1,fi(x1)),,(xn,fi(xn)))表示的是函数 f j f_{j} fj在样本序列 S j S_j Sj中的数据集合,则有 E S ∼ D i n [ L D i ( A ( S ) ) ] = 1 k ∑ j = 1 k L D i ( A ( S j i ) ) \mathbb{E}_{\mathcal{S}\sim \mathcal{D}_i^n}[L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}))]=\frac{1}{k}\sum\limits_{j=1}^k L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}^i_j)) ESDin[LDi(A(S))]=k1j=1kLDi(A(Sji))又因为 " m a x i m u m " ≥ " a v e r a g e " ≥ " m i n i m u m " \mathrm{"maximum"}\ge \mathrm{"average"}\ge \mathrm{"minimum"} "maximum""average""minimum",所以则有 max ⁡ i ∈ [ T ] 1 T ∑ j = 1 k L D i ( A ( S j i ) ) ≥ 1 T ∑ i = 1 T 1 k ∑ j = 1 k L D i ( A ( S j i ) ) = 1 k ∑ j = 1 k 1 T ∑ i = 1 T L D i ( A ( S j i ) ) ≥ min ⁡ j ∈ [ k ] 1 T ∑ i = 1 T L D i ( A ( S j i ) ) \begin{aligned}\max\limits_{i\in [T]}\frac{1}{T}\sum\limits_{j=1}^k L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}_j^i))&\ge \frac{1}{T}\sum\limits_{i=1}^T\frac{1}{k}\sum\limits_{j=1}^kL_{\mathcal{D}_i}(\mathcal{A(\mathcal{S}_j^i)})\\&=\frac{1}{k}\sum\limits_{j=1}^k\frac{1}{T}\sum\limits_{i=1}^T L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}^i_j))\\& \ge \min\limits_{j \in [k]}\frac{1}{T}\sum\limits_{i=1}^T L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}_j^i))\end{aligned} i[T]maxT1j=1kLDi(A(Sji))T1i=1Tk1j=1kLDi(A(Sji))=k1j=1kT1i=1TLDi(A(Sji))j[k]minT1i=1TLDi(A(Sji))现固定 j ∈ [ k ] j \in [k] j[k],令 S j = { x 1 , ⋯   , x n } \mathcal{S}_j=\{x_1,\cdots,x_n\} Sj={ x1,,xn} C \ S j = { v 1 , ⋯   , v p } C \backslash \mathcal{S}_j=\{v_1,\cdots,v_p\} C\Sj={ v1,,vp},其中 p ≥ n p\ge n pn是剩余没有采样的样本数。对于每一个函数 h : C → { 0 , 1 } h:C \rightarrow\{0,1\} h:C{ 0,1} i ∈ [ T ] i\in[T] i[T] L D i ( h ) = 1 2 n ∑ x ∈ C I ( h ( x ) ≠ f i ( x ) ) = 1 2 n ( ∑ l = 1 n I ( h ( x l ) ≠ f i ( x l ) ) + ∑ r = 1 p I ( h ( v r ) ≠ f i ( v r ) ) ) ≥ 1 2 n ∑ r = 1 p I ( h ( v r ) ≠ f i ( v r ) ) ≥ 1 2 p ∑ r = 1 p I ( h ( v r ) ≠ f i ( v r ) ) \begin{aligned}L_{\mathcal{D}_i}(h)&=\frac{1}{2n}\sum\limits_{x \in C}\mathbb{I}(h(x)\ne f_i(x))\\&=\frac{1}{2n}\left(\sum\limits_{l=1}^n \mathbb{I}(h(x_l)\ne f_i(x_l))+\sum\limits_{r=1}^p \mathbb{I}(h(v_r)\ne f_i(v_r))\right)\\&\ge \frac{1}{2n}\sum\limits_{r=1}^p \mathbb{I}(h(v_r)\ne f_i(v_r))\\&\ge \frac{1}{2p}\sum\limits_{r=1}^{p}\mathbb{I}(h(v_r)\ne f_i(v_r))\end{aligned} LDi(h)=2n1xCI(h(x)=fi(x))=2n1(l=1nI(h(xl)=fi(xl))+r=1pI(h(vr)=fi(vr)))2n1r=1pI(h(vr)=fi(vr))2p1r=1pI(h(vr)=fi(vr))所以 1 T ∑ i = 1 T L D i ( A ( S j i ) ) ≥ 1 T ∑ i = 1 T 1 2 p ∑ r = 1 p I ( A ( S j i ) ( v r ) ≠ f i ( v r ) ) = 1 2 p ∑ r = 1 p 1 T ∑ i = 1 T I ( A ( S j i ) ( v r ) ≠ f i ( v r ) ) ≥ 1 2 min ⁡ r ∈ [ p ] 1 T ∑ i = 1 T I ( A ( S j i ) ( v r ) ≠ f i ( v r ) ) \begin{aligned}\frac{1}{T}\sum\limits_{i=1}^T L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}_j^i))& \ge \frac{1}{T}\sum\limits_{i=1}^T\frac{1}{2p}\sum\limits_{r=1}^p \mathbb{I}(\mathcal{A(\mathcal{S}^i_j)(v_r)\ne f_i(v_r)})\\&=\frac{1}{2p}\sum\limits_{r=1}^p\frac{1}{T}\sum\limits_{i=1}^T \mathbb{I}(\mathcal{A}(\mathcal{S}^i_j)(v_r)\ne f_i(v_r))\\&\ge \frac{1}{2}\min\limits_{r \in [p]}\frac{1}{T}\sum\limits_{i=1}^T\mathbb{I}(\mathcal{A}(\mathcal{S}_j^i)(v_r)\ne f_i(v_r))\end{aligned} T1i=1TLDi(A(Sji))T1i=1T2p1r=1pI(A(Sji)(vr)=fi(vr))=2p1r=1pT1i=1TI(A(Sji)(vr)=fi(vr))21r[p]minT1i=1TI(A(Sji)(vr)=fi(vr))对于给定的 r ∈ [ p ] r\in [p] r[p],因为 T T T是所有可能函数映射的基数,所以总有成对存在的 a , b ∈ [ T ] a,b\in [T] a,b[T] I ( A ( S j i ) ( v r ) ≠ f a ( v r ) ) + I ( A ( S j i ) ( v r ) ≠ f b ( v r ) ) = 1 \mathbb{I}(\mathcal{A}(\mathcal{S}^i_j)(v_r)\ne f_a(v_r))+\mathbb{I}(\mathcal{A}(\mathcal{S}^i_j)(v_r)\ne f_b(v_r))=1 I(A(Sji)(vr)=fa(vr))+I(A(Sji)(vr)=fb(vr))=1进而则有 E S ∼ D i n [ L D i ( A ( S ) ) ] = e 1 T ∑ i = 1 T L D i ( A ( S j i ) ) ≥ 1 2 min ⁡ r ∈ [ p ] 1 T ∑ i = 1 T I ( A ( S j i ) ( v r ) ≠ f i ( v r ) ) = 1 2 ⋅ 1 T ⋅ T 2 = 1 4 \begin{aligned}\mathbb{E}_{\mathcal{S}\sim \mathcal{D}_i^n}[L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}))] &= e \frac{1}{T}\sum\limits_{i=1}^T L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}^i_j))\\&\ge \frac{1}{2}\min\limits_{r \in [p]}\frac{1}{T}\sum\limits_{i=1}^T \mathbb{I}(\mathcal{A}(\mathcal{S}^i_j)(v_r)\ne f_i(v_r))\\&=\frac{1}{2}\cdot \frac{1}{T}\cdot \frac{T}{2}=\frac{1}{4}\end{aligned} ESDin[LDi(A(S))]=eT1i=1TLDi(A(Sji))21r[p]minT1i=1TI(A(Sji)(vr)=fi(vr))=21T12T=41根据马尔可夫不等式的修改版可知(证明思路与马可可夫不等式的证明思路一致),给定一个随机变量 X ∈ [ 0 , 1 ] X \in[0,1] X[0,1],给定一个常数 a ∈ [ 0 , 1 ] a\in [0,1] a[0,1],进而则有 E [ X ] = ∫ 0 1 x p ( x ) d x = ∫ 0 a x p ( x ) d x + ∫ a 1 x p ( x ) d x ≤ a ∫ 0 a p ( x ) d x + ∫ a 1 p ( x ) d x = a ( 1 − p { X ≥ a } ) + p { X ≥ a } = a + ( 1 − a ) P { X ≥ a } \begin{aligned}\mathbb{E}[X]&=\int_0^1 x p(x)dx\\&= \int_0^a x p(x)dx + \int_a^1xp(x)dx\\&\le a \int_0^a p(x)dx + \int^1_a p(x)dx\\&=a(1-p\{X\ge a\})+p\{X\ge a\}\\&=a+(1-a)P\{X\ge a\}\end{aligned} E[X]=01xp(x)dx=0axp(x)dx+a1xp(x)dxa0ap(x)dx+a1p(x)dx=a(1p{ Xa})+p{ Xa}=a+(1a)P{ Xa}马尔可夫不等式为 P { X ≥ a } ≥ E [ X ] − a 1 − a P\{X\ge a\}\ge \frac{\mathbb{E}[X]-a}{1-a} P{ Xa}1aE[X]a利用马尔可夫不等可知 P ( L D ( A ( S ) ) ≥ 1 / 8 : S ∼ D n ) = E S ∼ D i n [ L D i ( A ( S ) ) ] − 1 / 8 1 − 1 / 8 ≥ 1 / 4 − 1 / 8 1 − 1 / 8 = 1 7 \begin{aligned}P(L_\mathcal{D}(\mathcal{A}(\mathcal{S}))\ge 1/8: \mathcal{S}\sim\mathcal{D}^n)&=\frac{\mathbb{E}_{\mathcal{S}\sim \mathcal{D}_i^n}[L_{\mathcal{D}_i}(\mathcal{A}(\mathcal{S}))]-1/8}{1-1/8}\\& \ge \frac{1/4-1/8}{1-1/8}=\frac{1}{7}\end{aligned} P(LD(A(S))1/8:SDn)=11/8ESDin[LDi(A(S))]1/811/81/41/8=71

No Free Lunch和先验知识

训练一个分类器的时候经常会用到一些先验知识,那No Free Lunch定理与先验知识有什么关系呢?考虑一个ERM(Empirical Risk Minimization)分类器,其所有分类映射 X → { 0 , 1 } X \rightarrow \{0,1\} X{ 0,1}组成了集合 H \mathcal{H} H。这类映射集合 H \mathcal{H} H缺乏先验知识,则根据No Free Lunch定理可知,给定一个学习算法,会在一些学习任务中学习失败,所以可以推知,该类学习算法 H \mathcal{H} H不是PAC(Probably Approximately Correct)学习的。

定义(PAC): 如果一个学习算法集合 H \mathcal{H} H是PAC学习的,存在一个计数函数 m H : ( 0 , 1 ) 2 → N m_{\mathcal{H}}:(0,1)^2\rightarrow \mathbb{N} mH:(0,1)2N。一个学习算法对于任意的 ϵ , δ ∈ ( 0 , 1 ) \epsilon,\delta \in(0,1) ϵ,δ(0,1),任意的在域 X \mathcal{X} X中的分布 D \mathcal{D} D和任意的打标函数 f : X → { 0 , 1 } f:\mathcal{X}\rightarrow \{0,1\} f:X{ 0,1},则有该类学习算法数 m ≥ m H m \ge m_{\mathcal{H}} mmH,并存在一个学习算法 h h h,满足以下概率公式 P ( L ( D , f ) ( h ) ≤ ϵ ) ≥ 1 − δ P(L_{(\mathcal{D},f)}(h)\le \epsilon)\ge 1-\delta P(L(D,f)(h)ϵ)1δ

根据PAC学习的定义和No Free Lunch定理可知,则有如下推论

推论1: X \mathcal{X} X是一个无限域集, H \mathcal{H} H是所有 X → { 0 , 1 } \mathcal{X}\rightarrow \{0,1\} X{ 0,1}的函数集合,则 H \mathcal{H} H不是PAC可学习的。

证明: 该推论可以利用反证法来证明。假定 H \mathcal{H} H是PAC可学习的。选取 ϵ < 1 / 8 \epsilon < 1/8 ϵ<1/8 δ < 1 / 7 \delta < 1/7 δ<1/7。通过PAC的定义可知,一定存在学习算法 A \mathcal{A} A,其数量为 m = m ( ϵ , δ ) m=m(\epsilon,\delta) m=m(ϵ,δ),对于任意在 X × { 0 , 1 } \mathcal{X}\times\{0,1\} X×{ 0,1}上生成的数据分布,如果对于一些函数 f : X → { 0 , 1 } f:\mathcal{X} \rightarrow \{0,1\} f:X{ 0,1},使得 L D ( f ) = 0 L_\mathcal{D}(f)=0 LD(f)=0,并且当 A \mathcal{A} A在采样出 m m m个样本的数据集合 S S S上,有 P ( L D A ( S ) ≤ ϵ ) ≤ 1 − δ P(L_\mathcal{D}\mathcal{A}(\mathcal{S}) \le \epsilon) \le 1 -\delta P(LDA(S)ϵ)1δ然后由No Free Lunch定理可知,当 ∣ X ∣ > 2 m |\mathcal{X}|> 2m X>2m,对于每一个学习算法,存在分布 D \mathcal{D} D使得 P ( L D A ( S ) ≥ 1 / 8 > ϵ ) ≥ δ > 1 / 7 P(L_\mathcal{D}\mathcal{A}(\mathcal{S}) \ge 1/8> \epsilon) \ge \delta > 1/7 P(LDA(S)1/8>ϵ)δ>1/7所以出现矛盾。
 那要如何防止这种失败?通过使用对特定学习任务的先验知识,可以避免No Free Lunch定理所预见的风险,从而避免在学习该任务时那些导致失败的分布的出现,所以可知先验知识主要通过限制学习算法类 H \mathcal{H} H的范围。

误差分解

h S h_{\mathcal{S}} hS是一个 E M R H \mathrm{EMR}_{\mathcal{H}} EMRH映射,则可以 E M R H \mathrm{EMR}_{\mathcal{H}} EMRH误差可以由如下公式表示 ( h S ) = ϵ a p p + ϵ e s t , ϵ a p p = min ⁡ h ∈ H L D ( h ) , ϵ e s t = L D ( h S ) − ϵ a p p (h_{\mathcal{S}})=\epsilon_{\mathrm{app}}+\epsilon_{\mathrm{est}},\quad \epsilon_{\mathrm{app}}=\min\limits_{h\in \mathcal{H}}L_{\mathcal{D}}(h),\quad \epsilon_{\mathrm{est}}=L_{\mathcal{D}}(h_{\mathcal{S}})-\epsilon_{\mathrm{app}} (hS)=ϵapp+ϵest,ϵapp=hHminLD(h),ϵest=LD(hS)ϵapp E M R H \mathrm{EMR}_{\mathcal{H}} EMRH误差分解为两部分,一个是近似误差,另一个是估计误差

  • 近似误差: 近似误差是一种归纳偏差,它不取决于训练样本集的大小,而是由所由训练出的分类器的映射所决定。增大映射的范围可以减小近似误差。在可实现性假设下,近似误差为零。然而,在不可知论的情况下,近似误差可能很大。
  • 估计误差: 近似误差和ERM预测值所获得的误差之间的差值。估计误差的产生是因为经验风险(即训练误差)只是对真实风险的估计,因此最小化经验风险的预测器只是最小化真实风险的预测器的估计。这种估计的质量取决于训练分类器的训练集大小以及复杂性。

 由于目标是将总损失降至最低,因此就需要面临着一种权衡,称为偏差-复杂性权衡。一方面,分类器集合 H \mathcal{H} H越大(模型的容量过大,自由度过高)会减少近似误差,但同时可能会增加估计误差,因为丰富的 H \mathcal{H} H可能会导致过度拟合。反之,一个非常小的集合(即模型容量不够大,或者没有涵盖到真实的目标函数)会减少估计误差,但可能会增加近似误差,或者换句话说,可能会导致拟合不足。No Lunch Theorem定理指出,没有通用的学习算法,每个学习算法都必须被指定完成某项任务,并使用有关该任务的一些先验知识。

相关资料:

  • https://www.youtube.com/watch?v=DxaK8OSnxvE&list=UUaJUsUVO8sj71H5gCVgh7sw&index=41
  • https://www.youtube.com/watch?v=wilz_c07ImI&list=UUaJUsUVO8sj71H5gCVgh7sw&index=40
  • https://en.wikipedia.org/wiki/No_free_lunch_theorem
  • https://ti.arc.nasa.gov/m/profile/dhw/papers/78.pdf

猜你喜欢

转载自blog.csdn.net/qq_38406029/article/details/123061417