一个二分类下没有免费午餐定理的题

358 阅读1分钟

一个证明题

周志华《机器学习》第一章中,有一个关于“没有免费的午餐”定理的题目,题目是这样的:

假设样本空间X\mathcal{X}和假设空间H\mathcal{H}都是离散的,令P(hX,La)P(h|X,\mathcal{L}_a)为算法La\mathcal{L}_a基于训练数据XX产生假设hh的概率,令ff代表真实目标函数。考查二分类问题ff可以是任何函数X{0,1}\mathcal{X} \mapsto \{0,1\},函数空间为{0,1}X\{0,1\}^{\vert \mathcal{X} \vert},假设ff均匀分布(即不管h(x)h(x)是什么,都有一半的ffxx的预测与h(x)h(x)不一致)。现在采用(h(x),f(x))\ell(h(x),f(x))作为分类器的性能度量,考虑La\mathcal{L}_a的“训练集外误差”:

Eote(LaX,f)=hxXXP(x)(h(x),f(x))P(hX,La)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)

试证明“没有免费午餐定理”成立。

分析与解答

题目未给定(h(x),f(x))\ell(h(x),f(x))的具体形式,但在二分类问题中,无非就4种情况。记(1,1)=1\ell(1,1)=\ell_1(0,1)=2\ell(0,1)=\ell_2(1,0)=3\ell(1,0)=\ell_3(0,0)=4\ell(0,0)=\ell_4,它们都是常数。将La\mathcal{L}_a的训练集外误差对所有ff均匀分布求和为:

fEote(LaX,f)=fhxXXP(x)(h(x),f(x))P(hX,La)=xXXP(x)hP(hX,La)f(h(x),f(x))=xXXP(x)hP(hX,La)(2XI(h(x)=1)(121+123))+xXXP(x)hP(hX,La)(2XI(h(x)=0)(122+124))\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}

上面最后一个等式是因为ff是均匀分布,因此如果给定了hhxx,不管h(x)h(x)是0还是1,都有一半的ff会是f(x)=0f(x)=0,一半的ff会是f(x)=1f(x)=1

又因为I(h(x)=1)+I(h(x)=0)=1\mathbb{I}(h(x)=1)+\mathbb{I}(h(x)=0)=1,可将上式继续化简:

fEote(LaX,f)=2X1xXXP(x)hP(hX,La)((1+3)I(h(x)=1)+(2+4)(1I(h(x)=1)))=2X1(2+4)xXXP(x)hP(hX,La)1+2X1xXXP(x)hP(hX,La)(1+324)I(h(x)=1)=2X1(2+4)xXXP(x)+2X1(1+324)xXXP(x)hP(hX,La)I(h(x)=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}

上式中,第一部分2X1(2+4)xXXP(x)2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x) 显然与La\mathcal{L}_a无关,第二部分则不然,需要再附加条件1+324=0\ell_1+\ell_3-\ell_2-\ell_4=0才可以使整个式子与La\mathcal{L}_a无关,在周志华的书中,并没有加这个限制,可能是默认隐含了(因为加入这个条件很合理)。\blacksquare

特殊化情形

再来看在书正文中的例子,该例子将(h(x),f(x))\ell(h(x),f(x))特殊化为二分类的错误率,即取(h(x),f(x))=I(h(x)f(x))\ell(h(x),f(x))=\mathbb{I}(h(x)\ne f(x)),对应到本文的设定中,有1=4=0\ell_1=\ell_4=02=3=1\ell_2=\ell_3=1,将它们代入后得:

fEote(LaX,f)=2X1xXXP(x)\sum_f E_{ote}(\mathcal{L}_a | X,f) = 2^{\vert\mathcal{X}\vert-1} \sum_{x\in \mathcal{X}-X} P(x)

因此,它与La\mathcal{L}_a无关。对于任意的La\mathcal{L}_aLb\mathcal{L}_b,它们的样本外误差的期望其实是相等的。这就是“没有免费的午餐”定理(No Free Lunch Theorem,NFL)。