一、没有免费午餐(NFL,No Free Lunch)原理
天下没有免费的午餐。这句常理在数学中有一个定理专门描述它,这个定理就叫做没有免费午餐定理。这个定理的严格证明可参见文献【2】和【3】。如果你有兴趣读了这两篇经典文献中的任何一篇就会知道,最原始的没有免费午餐定理是在最优化理论中出现的(而后又推广到例如机器学习这样的领域)。为了解释清楚这个定理,先来说说什么是最优化。
最优化,其实就是寻找函数最大(或最小)值的办法。我们在微积分中已经接触过类似的数学知识,彼时我们更关注函数是否存在最值。但搞其他应用学科的人往往要知道这个最值在哪里,多大以及如果计算。例如在机器学习中常常采样迭代法计算极值。当然,计算机的计算能力始终是有限的,要尽可能的花费更少的时间和资源来算出最值,这也成为最优化算法尤其要解决的一个问题。