在谈论NFL定理之前,有几点概念理解需要强调:
样本空间:并非所有样本组成的空间,而是属性张成的空间,也就是对于已经定义好的属性,样本空间就覆盖了全部的可能。故西瓜问题的样本空间就是书中所讲的4*4*4+1=65种。那么,样本空间就真的覆盖了现实生活中所有的情况吗?显然不是,最真实的情况只能不断逼近,而无法准确地全部预测。例如,书中西瓜有色泽、根蒂、敲声三个属性,那么比如花纹这个属性就没有包含其中,所以在研究问题时,样本空间也只是一个抽象的模型,只能从一定程度上映射现实世界。
版本空间:这个空间可以根据对训练集中的数据取交集得到。也可以理解为满足训练集的最多的集合。在书中,版本空间由三种情况,也就对应了三种归纳偏好,而每一个归纳偏好又有多个假设h。
对于NFL定理:该定理其实没有任何的现实意义,因为真实的目标函数根本不可能均匀分布。按书中所讲,考虑二分类的问题,样本空间中共有X个样本,对于任何一个样本,若代入一个函数F,得到0,而代入另一个函数G,得到1。那么,这样看来,真实函数的数目为2的n次方。也就是(1+1)的n次方展开式。不难想象,这些真实的函数中必有相互矛盾的函数,所以根本不可能均匀分布。但该定理也就是要说明这一点:具体问题具体分析,没有完美的归纳偏好。
好了,现在来大概推导下NFL:首先,Eote(La|X,f)表示的就是对于同一个训练集X,同一个归纳偏好La,对于其中的一个真实函数所产生的的误差。而下面对f的求和,则表示的是对于同一个训练集X,同一个归纳偏好La,对于所有的真是函数所产生的误差,这样一来,计算出的结果中不包含La,表示训练集外的误差总和与归纳偏好无关!对于其中繁琐的等式,在此就不必多说。只需要指出其中的几点:
1、P(h|X,La)表示La基于训练集X所得到假设h的概率,那么对其求和当然是1。
2、对于任何一个假设函数,不管对一个x作用得到1或者是0,因为考虑二分类问题,真实函数的取值也只能是1或者0,所以在真实函数空间里,每一次比较都会有一半的真实函数与假设函数相等。所以对指示函数求和得到真实函数数目的一半。
3、还有对于求和符号合在一起和分开的疑惑,只不过是很简单的数学分配律罢了。
总结:该定理的推导并非很难,只是在看书看到这一部分时,不要被上文中函数图像带偏了,这个定理中只考虑二分类的问题,所有函数,不管是假设还是真实的,取值都只能取1或者0。一些比较“吓人”的数学符号也只不过是把概念简写而已,其中的数学知识其实很简单。虽然此定理不具备什么现实意义,但是可以从该定理入手,理清楚机器学习的一些基本概念。