如果任何“未知”的f可能发生,那么从D中学习(推断D之外的东西)注定是要失败的。
比如说对于一个“猛翻天”的算法或者一个“胡乱猜”的方法,在不知道假设偏好的情况下,他们的表现预期(也就是犯错误的可能性)是一样的。无论算法多好在没有实际背景情况下都不优于随机胡猜,
NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。
NFL定理最重要意义是,在脱离实际意义情况下,空泛地谈论哪种算法好毫无意义,要谈论算法优劣必须针对具体学习问题。
不同的算法会产生不同的假设,学到出不同的模型。如果一种算法在对某个问题习得的A模型比B更好,那么必然存在另外一个问题,使得模型B比模型A的表现更好。所以我们要根据问题选择模型然后选择算法学习最佳的表现。
机器学习中的模型到底是指什么?我认为模型应该指一种函数模板,我们通过一系列的计算套路之后能够从训练数据中获取模型的参数,使得这个确定下来的模型能够对某种问题有很好的解释或者预测。