关于西瓜书中没有免费的午餐的理解与推导

一、 算法在训练集外的误差

$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}|}$。

接下来的累加过程就非常容易理解了。

posted @ 2020-03-05 15:29  金思远  阅读(310)  评论(0编辑  收藏  举报