一个证明题
周志华《机器学习》第一章中,有一个关于“没有免费的午餐”定理的题目,题目是这样的:
假设样本空间(mathcal{X})和假设空间(mathcal{H})都是离散的,令(P(h|X,mathcal{L}_a))为算法(mathcal{L}_a)基于训练数据(X)产生假设(h)的概率,令(f)代表真实目标函数。考查二分类问题,(f)可以是任何函数(mathcal{X} mapsto {0,1}),函数空间为({0,1}^{vert mathcal{X} vert}),假设(f)是均匀分布(即不管(h(x))是什么,都有一半的(f)对(x)的预测与(h(x))不一致)。现在采用(ell(h(x),f(x)))作为分类器的性能度量,考虑(mathcal{L}_a)的“训练集外误差”:
[E_{ote}(mathcal{L}_a | X,f)=sum_h sum_{xin mathcal{X}-X} P(x)ell({h(x),f(x)}) P(h|X, mathcal{L}_a)
]
试证明“没有免费午餐定理”成立。
分析与解答
题目未给定(ell(h(x),f(x)))的具体形式,但在二分类问题中,无非就4种情况。记(ell(1,1)=ell_1),(ell(0,1)=ell_2),(ell(1,0)=ell_3),(ell(0,0)=ell_4),它们都是常数。将(mathcal{L}_a)的训练集外误差对所有(f)按均匀分布求和为:
[egin{aligned}
&sum_f E_{ote}(mathcal{L}_a | X,f) \
=& sum_f sum_h sum_{xin mathcal{X}-X} P(x)ell({h(x),f(x)}) P(h|X, mathcal{L}_a) \
=& sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a) sum_f ell({h(x),f(x)})\
=& sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a) left( 2^{vertmathcal{X}vert}mathbb{I}(h(x)=1) (dfrac{1}{2} ell_1+dfrac{1}{2} ell_3)
ight)\
+& sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a) left( 2^{vertmathcal{X}vert}mathbb{I}(h(x)=0) (dfrac{1}{2} ell_2+dfrac{1}{2} ell_4)
ight)\
end{aligned}
]
上面最后一个等式是因为(f)是均匀分布,因此如果给定了(h)和(x),不管(h(x))是0还是1,都有一半的(f)会是(f(x)=0),一半的(f)会是(f(x)=1)。
又因为(mathbb{I}(h(x)=1)+mathbb{I}(h(x)=0)=1),可将上式继续化简:
[egin{aligned}
&sum_f E_{ote}(mathcal{L}_a | X,f) \
=& 2^{vertmathcal{X}vert-1}sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a) ig((ell_1+ ell_3) mathbb{I}(h(x)=1) +(ell_2+ell_4)(1-mathbb{I}(h(x)=1)) ig)\
=& 2^{vertmathcal{X}vert-1} (ell_2+ell_4) sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a)cdot 1\
+& 2^{vertmathcal{X}vert-1} sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a) (ell_1+ell_3-ell_2-ell_4)mathbb{I}(h(x)=1)\
=& 2^{vertmathcal{X}vert-1} (ell_2+ell_4) sum_{xin mathcal{X}-X} P(x) \
+& 2^{vertmathcal{X}vert-1} (ell_1+ell_3-ell_2-ell_4) sum_{xin mathcal{X}-X} P(x) sum_h P(h|X, mathcal{L}_a)mathbb{I}(h(x)=1)
end{aligned}
]
上式中,第一部分(2^{vertmathcal{X}vert-1} (ell_2+ell_4) sum_{xin mathcal{X}-X} P(x)) 显然与(mathcal{L}_a)无关,第二部分则不然,需要再附加条件(ell_1+ell_3-ell_2-ell_4=0)才可以使整个式子与(mathcal{L}_a)无关,在周志华的书中,并没有加这个限制,可能是默认隐含了(因为加入这个条件很合理)。(lacksquare)
特殊化情形
再来看在书正文中的例子,该例子将(ell(h(x),f(x)))特殊化为二分类的错误率,即取(ell(h(x),f(x))=mathbb{I}(h(x)
e f(x))),对应到本文的设定中,有(ell_1=ell_4=0),(ell_2=ell_3=1),将它们代入后得:
[sum_f E_{ote}(mathcal{L}_a | X,f) = 2^{vertmathcal{X}vert-1} sum_{xin mathcal{X}-X} P(x)
]
因此,它与(mathcal{L}_a)无关。对于任意的(mathcal{L}_a)和(mathcal{L}_b),它们的样本外误差的期望其实是相等的。这就是“没有免费的午餐”定理(No Free Lunch Theorem,NFL)。