无免费午餐 (NFL) 定理指出(请参阅David H. Wolpert 和 William G. Macready的论文共同进化免费午餐)
当任何两种算法的性能在所有可能的问题上取平均值时,它们是等价的
“没有免费午餐”定理真的成立吗?它实际上是什么意思?一个很好的例子(在 ML 上下文中)说明这个断言会很好。
我见过一些表现很差的算法,我很难相信它们实际上遵循上述定理,所以我试图理解我对这个定理的解释是否正确。或者它只是像 Cybenko 的普遍逼近定理那样的另一个装饰性定理?
无免费午餐 (NFL) 定理指出(请参阅David H. Wolpert 和 William G. Macready的论文共同进化免费午餐)
当任何两种算法的性能在所有可能的问题上取平均值时,它们是等价的
“没有免费午餐”定理真的成立吗?它实际上是什么意思?一个很好的例子(在 ML 上下文中)说明这个断言会很好。
我见过一些表现很差的算法,我很难相信它们实际上遵循上述定理,所以我试图理解我对这个定理的解释是否正确。或者它只是像 Cybenko 的普遍逼近定理那样的另一个装饰性定理?
这是第一次遇到无免费午餐定理 (NFL) 后的常见反应。机器学习尤其不直观,因为它与 ML 社区中讨论的所有内容背道而驰。也就是说,这个定理是正确的,但它的含义是有争议的。
为不知道的人重申一下这个定理,机器学习的 NFL 定理实际上是NFL 局部搜索和优化定理的一个特例。本地搜索版本更容易理解。该定理提出以下有点激进的主张:
对所有可能的优化问题进行平均,您选择使用的任何本地搜索算法找到的平均解决方案质量与本地“搜索”算法的平均解决方案质量完全相同,该算法只是通过从空间中随机均匀采样来生成可能的解决方案的所有解决方案。
当人们想要更强烈的反应时,另一种说法是,如果您想找到问题的最佳解决方案,那么尝试似乎会使您的解决方案迭代变得更糟的事情和尝试那些让您的解决方案变得更糟的事情一样好。似乎使您的解决方案迭代地更好。平均而言,这两种方法都一样好。
好吧,为什么这是真的?嗯,关键在于细节。Wolpert 有时将这个定理描述为休谟在归纳问题上的专门研究。归纳问题的基本陈述是:我们没有逻辑基础来假设未来会像过去一样。从逻辑上讲,物理定律没有理由不能在明天彻底改变。从纯粹逻辑的角度来看,未来可以在许多方面与过去不同,这是完全合理的。休谟的问题是,总的来说,未来在很多方面都和过去一样。他试图提出一个哲学(逻辑)论点,认为这需要如此,但基本上失败了。
没有免费午餐定理说同样的话。如果你不知道你的搜索空间是什么样子,那么如果你迭代地改进你对一个好的解决方案的猜测,以回应你过去对好的解决方案的观察(即从数据),那么您所做的操作很可能会有所帮助,因为它会造成伤害。这就是为什么“对所有可能的优化问题进行平均”部分是关键的原因。对于爬山是一个很好的策略的任何优化问题动作,我们可以做出一个相同的动作,除了第 k 个爬山动作会导致一个糟糕的解决方案。实际的证明比这更微妙,但这是基本思想。
一个非常简短的总结可能是:
机器学习算法只能通过在另一种问题上做得更差,才能在某些类型的问题上更好地工作。
那么这在实际意义上意味着什么呢?这意味着您需要有一些先验理由才能认为您的算法对特定问题有效。一个好的理由究竟是什么是机器学习社区内激烈辩论的主题。这与偏差/方差权衡非常密切相关。
一些常见的反应是:
无论如何,在某些子领域中,某些算法比其他算法更好是无可争辩的(我们可以凭经验看到这一点)。NFL 告诉我们,要在那里变得更好,他们需要在其他地方变得更糟。争论的问题是“其他地方”是真正的问题,还是纯粹人为的问题。