一个证明题
周志华《机器学习》第一章中,有一个关于“没有免费的午餐”定理的题目,题目是这样的:
假设样本空间\(\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_{x\in \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\)按均匀分布求和为:
\[\begin{aligned}
&\sum_f E_{ote}(\mathcal{L}_a | X,f) \\
=& \sum_f \sum_h \sum_{x\in \mathcal{X}-X} P(x)\ell({h(x),f(x)}) P(h|X, \mathcal{L}_a) \\
=& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \sum_f \ell({h(x),f(x)})\\
=& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \left( 2^{\vert\mathcal{X}\vert}\mathbb{I}(h(x)=1) (\dfrac{1}{2} \ell_1+\dfrac{1}{2} \ell_3) \right)\\
+& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \left( 2^{\vert\mathcal{X}\vert}\mathbb{I}(h(x)=0) (\dfrac{1}{2} \ell_2+\dfrac{1}{2} \ell_4) \right)\\
\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\),可将上式继续化简:
\[\begin{aligned}
&\sum_f E_{ote}(\mathcal{L}_a | X,f) \\
=& 2^{\vert\mathcal{X}\vert-1}\sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \big((\ell_1+ \ell_3) \mathbb{I}(h(x)=1) +(\ell_2+\ell_4)(1-\mathbb{I}(h(x)=1)) \big)\\
=& 2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a)\cdot 1\\
+& 2^{\vert\mathcal{X}\vert-1} \sum_{x\in \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^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \\
+& 2^{\vert\mathcal{X}\vert-1} (\ell_1+\ell_3-\ell_2-\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a)\mathbb{I}(h(x)=1)
\end{aligned}
\]
上式中,第一部分\(2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x)\) 显然与\(\mathcal{L}_a\)无关,第二部分则不然,需要再附加条件\(\ell_1+\ell_3-\ell_2-\ell_4=0\)才可以使整个式子与\(\mathcal{L}_a\)无关,在周志华的书中,并没有加这个限制,可能是默认隐含了(因为加入这个条件很合理)。\(\blacksquare\)
特殊化情形
再来看在书正文中的例子,该例子将\(\ell(h(x),f(x))\)特殊化为二分类的错误率,即取\(\ell(h(x),f(x))=\mathbb{I}(h(x)\ne f(x))\),对应到本文的设定中,有\(\ell_1=\ell_4=0\),\(\ell_2=\ell_3=1\),将它们代入后得:
\[\sum_f E_{ote}(\mathcal{L}_a | X,f) = 2^{\vert\mathcal{X}\vert-1} \sum_{x\in \mathcal{X}-X} P(x)
\]
因此,它与\(\mathcal{L}_a\)无关。对于任意的\(\mathcal{L}_a\)和\(\mathcal{L}_b\),它们的样本外误差的期望其实是相等的。这就是“没有免费的午餐”定理(No Free Lunch Theorem,NFL)。