关于西瓜书中没有免费的午餐的理解与推导
一、 算法在训练集外的误差
$E_{o t e}\left(\mathfrak{L}_{a} | X, f\right)=\sum_{h} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right)$
我们首先分析一下这个式子,这个式子首先需要理解的是最后一项,即在该算法经过X训练集的训练之后,预测结果为h的概率。
而我们的误差的定义在于I指示函数,当二者不同时,误差为1,当二者相同时,误差为0。
最后我们的P(x)的意义在于在测试集中,x的概率,因此我们遍历x得到整个训练集的结果。
二、 考虑训练集中预测的正确率
$\begin{aligned} \sum_{f} E_{o t e}\left(\mathfrak{L}_{a} | X, f\right) &=\sum_{f} \sum_{h} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \sum_{f} \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \frac{1}{2} 2^{|\boldsymbol{X}|} \\ &=\frac{1}{2} 2^{|\mathcal{X}|} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \end{aligned}$
首先我们的增加累加符号,用于累加各种预测的可能性,由于我们在这里假设预测的算法对预测的结果是均匀分布,即该算法并没有明显分类作用。在函数空间中就有一半数量的可能的f于假设函数h的预测不一致。
因此,我们在接下来对指示函数的累加中,得到的结果就是$\frac{1}{2} 2^{|\mathcal{X}|}$。
接下来的累加过程就非常容易理解了。