听到没有免费午餐理论,大家想到的第一句话也许就是“天下没有免费的午餐”,这应该是出自于一个经济学的概念,即使有人请你吃饭,你没花任何的金钱,但是你还是牺牲了你的时间成本,也许就在吃午饭的这段时间里,你去买彩票你可以中500万的彩票,谈恋爱能找到一个陪伴一生的伴侣。总之天下没有免费的午餐,就看你是怎样选择了,学习写博客也都是这样。
在优化里面的没有免费午餐指的是:
在有限的搜索空间中,当且仅当我们指定了具体的问题的时候我们才能说一个优化方法要优于另一种优化方法。也就是说,在理论上,不存在一个算法在所有的问题上都能获得最优的结果。
所以也希望在之后的学习中,并不是单纯的在讨论这个方法要更加好,要更棒,大部分情况下一个算法的改进都是针对数据集的某种特点展开的。如果对数学证明有兴趣可以看下以下的文章[1]这篇文章比较易懂,随后追求更多数学证明的读者可以看下文章[1]的参考文献中的文章。
Taking the No Free Lunch(NFL) Theorem as the preface of the blog is meaningful. And I believe that if you can extend your patience for a moment, you will find your treasure one day.
In the field of optimization, the NFL means that without a prior assumption about the specific problem, no strategy can be expected to perform better than any other.
So, make no efforts on distinguishing better strategies when you know nothing about the dataset. There is no universal optimal strategy.
[1] Ho Y C, Pepyne D L. Simple Explanation of the No-Free-Lunch Theorem and Its Implications[J]. Journal of Optimization Theory & Applications, 2002, 115(3):549-570.