两种文化:统计与机器学习?

机器算法验证 机器学习 pac学习
2022-01-14 10:07:07

去年,我阅读了Brendan O'Connor的一篇博文,题为“统计与机器学习,战斗!” 讨论了这两个领域之间的一些差异。 Andrew Gelman 对此做出了积极回应

西蒙·布隆伯格:

来自 R 的财富包:用挑衅的话说,“机器学习是统计数据减去对模型和假设的任何检查”。-- Brian D. Ripley(关于机器学习和统计学的区别)用户!2004 年,维也纳(2004 年 5 月):-) 季节的问候!

安德鲁·格尔曼:

在那种情况下,也许我们应该更频繁地摆脱对模型和假设的检查。那么也许我们能够解决机器学习人们可以解决但我们不能解决的一些问题!

还有 Leo Breiman 在 2001 年发表的“统计建模:两种文化”论文,该论文认为统计学家过于依赖数据建模,而机器学习技术正在通过依赖模型的预测准确性取得进展。

在过去十年中,统计领域是否因这些批评而发生了变化?两种文化是否仍然存在,或者统计数据是否已经发展到包含机器学习技术,例如神经网络和支持向量机?

4个回答

我认为你的第一个问题的答案是肯定的。拿过去 10 年的任何一期 Statistical Science、JASA、Annals of Statistics 为例,你会发现关于 boosting、SVM 和神经网络的论文,尽管这个领域现在不太活跃。统计学家挪用了 Valiant 和 Vapnik 的工作,但另一方面,计算机科学家吸收了 Donoho 和 Talagrand 的工作。我认为范围和方法不再有太大差异。我从来没有接受 Breiman 的论点,即 CS 人员只对使用任何有效的方法将损失最小化感兴趣。这种观点深受他参加神经网络会议和他的咨询工作的影响。但是 PAC、SVM、Boosting 都有坚实的基础。而今天,与 2001 年不同的是,统计学更关注有限样本属性,

但我认为仍有三个重要的差异不会很快消失。

  1. 方法统计论文仍然绝大多数是形式化和演绎性的,而机器学习研究人员对新方法更加宽容,即使它们没有附带证明;
  2. ML 社区主要在会议和相关论文集中分享新结果和出版物,而统计学家则使用期刊论文。这减缓了统计和明星研究人员识别的进展。不久前,约翰·兰福德(John Langford)就这个主题发表了一篇不错的文章
  3. 统计仍然涵盖(目前)与 ML 无关的领域,例如调查设计、抽样、工业统计等。

我看到社区之间最大的区别是统计强调推理,而机器学习强调预测。当您进行统计时,您想推断生成数据的过程。 当您进行机器学习时,您想知道如何通过某个变量来预测未来数据的样子。

当然,两者是重叠的。例如,了解数据是如何生成的将为您提供一些关于什么是好的预测器的提示。然而,差异的一个例子是机器学习从婴儿期开始就处理了 p >> n 问题(比训练样本更多的特征/变量),而统计学才刚刚开始认真对待这个问题。为什么?因为当 p >> n 时你仍然可以做出很好的预测,但是你不能很好地推断哪些变量实际上很重要以及为什么重要。

贝叶斯:“你好,机器学习者!”

常客:“你好,机器学习者!”

机器学习:“我听说你们很擅长。这里有一些数据。”

F:“是的,让我们写下一个模型,然后计算 MLE。”

B:“嘿,F,那不是你昨天告诉我的!我有一些单变量数据,我想估计方差,我计算了 MLE。然后你扑向我,让我除以而不是由n1n。”

F:“啊,是的,谢谢你提醒我。我经常认为我应该对所有事情都使用 MLE,但我对无偏估计器等感兴趣。”

ML:“呃,这是什么哲学思想?它对我有帮助吗?”

F:“好吧,估计器是一个黑盒子,你把数据放进去,它会给你一些数字。我们常客不关心盒子是如何构造的,不关心它是用什么原则来设计的。例如,我不知道如何推导出规则。”÷(n1)

ML:“那么,你在乎什么?”

F:“评估。”

ML:“我喜欢那种声音。”

F:“黑盒就是黑盒。如果有人声称某个特定的估计量是的许多值,根据某个假设模型从每个值中生成许多样本,然后将它们推过“ _ _θθθ

ML:“听起来很棒!听起来常客是务实的人。你根据结果来判断每个黑匣子。评估是关键。”

F:“确实!我知道你们采取了类似的方法。交叉验证,还是什么?但这对我来说听起来很乱。”

ML:“乱七八糟?”

F:“用真实数据测试你的估计器的想法对我来说似乎很危险。你使用的经验数据可能有各种各样的问题,并且可能不符合我们商定的评估模型。”

ML:“什么?我以为你说你已经证明了一些结果?你的估计将永远是公正的,对于所有。”θ

F:“是的。虽然你的方法可能适用于你在评估中使用的一个数据集(包含训练和测试数据的数据集),但我可以证明我的方法总是有效的。”

ML:“对于所有数据集?”

F:“没有。”

ML:“所以我的方法已经在一个数据集上进行了交叉验证。你还没有在任何真实的数据集上测试过你的方法吗?”

F:“没错。”

ML:“那让我处于领先地位!我的方法比你的更好。它预测癌症的概率为 90%。只有当整个数据集的行为符合你假设的模型时,你的‘证明’才有效。”

F:“嗯,是的,我想。”

ML:“而且那个区间有 95% 的覆盖率。但如果它只包含 20% 的时间的正确值,我不应该感到惊讶?”θ

F:“没错。除非数据真的是 iid Normal(或其他),否则我的证明是没有用的。”

ML:“所以我的评估更可信和更全面?它只适用于我迄今为止尝试过的数据集,但至少它们是真实的数据集,疣和所有。你在那里,试图声称你更“保守” '和'彻底',并且你对模型检查和其他东西感兴趣。”

B:(插话)“嘿,伙计们,抱歉打断一下。我很想介入并平衡事情,也许会展示一些其他问题,但我真的很喜欢看我的常客同事扭动。”

F:“哇!”

ML:“好的,孩子们。这都是关于评估的。估计器是一个黑匣子。数据输入,数据输出。我们根据评估器在评估中的表现来批准或不批准估计器。我们不在乎关于所使用的‘配方’或‘设计原则’。”

F:“是的。但是对于哪些评估很重要,我们有非常不同的想法。ML 将对真实数据进行训练和测试。而我将进行更普遍的评估(因为它涉及广泛适用的证明)和也更有限(因为我不知道您的数据集是否实际上来自我在设计评估时使用的建模假设。)”

ML:“你用什么评价,B?”

F:(插话)“嘿。别逗我笑。他不评价任何东西。他只是用他的主观信念和它运行。或者什么。”

B:“这是常见的解释。但也可以通过首选的评估来定义贝叶斯主义。然后我们可以使用这样的想法,即我们都不关心黑匣子里的东西,我们只关心不同的评估方式。”

B继续说:“经典示例:医学测试。血液测试的结果是阳性或阴性。常客会感兴趣的是,在健康的人中,有多少比例会得到阴性结果。同样,有多少比例的病人会得阳性。常客将为正在考虑的每种血液测试方法计算这些,然后建议我们使用获得最佳分数的测试。

F:“没错。你还想要什么?”

B:“那些检测结果呈阳性的人呢?他们会想知道‘那些检测结果呈阳性的人中,有多少人会生病?’ 和“在那些得到阴性结果的人中,有多少人是健康的?” "

ML:“啊,是的,这似乎是一对更好的问题。”

F:“异端!”

B:“我们又来了。他不喜欢这里。”

ML:“这是关于‘先验’的,不是吗?”

F:“邪恶”。

B:“无论如何,是的,你是对的 ML。为了计算阳性结果的人患病的比例,你必须做两件事之一。一种选择是对很多人进行测试,然后观察相关比例。例如,这些人中有多少人继续死于这种疾病。

ML:“这听起来像我所做的。使用训练和测试。”

B:“但是你可以提前计算这些数字,如果你愿意对人口中的疾病率做出假设的话。常客也提前进行了计算,但没有使用这个人口水平的疾病率。”

F:“更多没有根据的假设。”

B:“哦,闭嘴。早些时候,你被发现了。ML 发现你和任何人一样喜欢毫无根据的假设。除非你所有的假设都成立,否则你的“已证明”覆盖概率在现实世界中不会叠加。为什么我之前的假设如此不同?你说我疯了,但你却假装你的假设是保守的、可靠的、无假设的分析的结果。”

B(继续):“无论如何,ML,正如我所说。贝叶斯主义者喜欢不同类型的评估。我们更感兴趣的是调整观察到的数据,并相应地计算我们估计器的准确性。如果不使用我们就无法执行此评估但是有趣的是,一旦我们决定了这种评估形式,并且一旦我们选择了我们的先验,我们就有一个自动“配方”来创建一个合适的估计量。常客没有这样的配方。如果他想要一个复杂模型的无偏估计器,他没有任何自动化方法来构建合适的估计器。”

ML:“你做到了吗?你可以自动建立一个估算器?”

B:“是的。我没有自动创建无偏估计量的方法,因为我认为有偏是评估估计量的不好方法。但是考虑到我喜欢的基于数据的条件估计,以及先验,我可以将先验和可能性联系起来,给我估计量。”

ML:“无论如何,让我们回顾一下。我们都有不同的方法来评估我们的方法,而且我们可能永远不会就哪种方法最好达成一致。”

B:“嗯,这不公平。我们可以混合和匹配它们。如果我们中的任何一个有良好的标记训练数据,我们可能应该针对它进行测试。通常我们都应该尽可能多地测试假设。还有一些“常客” ' 证明也可能很有趣,在一些假定的数据生成模型下预测性能。”

F:“是的,伙计们。让我们在评估方面务实一点。实际上,我将不再痴迷于无限样本的特性。我一直在要求科学家给我一个无限样本,但他们仍然没有这样做。这是是时候让我再次关注有限样本了。”

ML:“所以,我们只有最后一个问题。我们已经争论了很多关于如何评估我们的方法,但我们如何创建我们的方法。”

B:“啊。正如我之前所说的,我们贝叶斯学派有更强大的通用方法。它可能很复杂,但我们总是可以编写某种算法(可能是 MCMC 的朴素形式),从我们的后验中采样。 "

F(插话):“但它可能有偏见。”

B:“你的方法也是如此。需要我提醒你,MLE 经常有偏见吗?有时,你很难找到无偏见的估计器,即使你有一个愚蠢的估计器(对于一些非常复杂的模型),它会说方差是负的。你称之为无偏见。无偏见,是的。但有用,不!

ML:“好吧,伙计们。你又在咆哮了。让我问你一个问题,F。当你们都解决同一个问题时,你有没有比较过你方法的偏差和 B 方法的偏差?”

F:“是的。事实上,我不想承认,但 B 的方法有时比我的估计器具有更低的偏差和MSE!”

ML:“这里的教训是,虽然我们在评估上存在一些分歧,但我们都没有垄断如何创建具有我们想要的属性的估计器。”

B:“是的,我们应该多阅读一下彼此的工作。我们可以互相启发评估员。我们可能会发现其他评估员在我们自己的问题上工作得很好,开箱即用。”

F:“而且我应该停止对偏见的痴迷。一个无偏见的估计器可能有荒谬的方差。我想我们所有人都必须为我们在评估方式和我们希望在估计器中看到的属性所做出的选择“承担责任”。我们不能落后于哲学。尽你所能尝试所有的评估。我会继续偷偷看一下贝叶斯文献,为估计者找到新的想法!”

B:“事实上,很多人并不真正知道他们自己的哲学是什么。我自己也不确定。如果我使用贝叶斯配方,然后证明一些不错的理论结果,那不就意味着我'是常客?常客关心上述关于性能的证明,他不关心食谱。如果我改为(或同时)进行一些训练和测试,这是否意味着我是机器学习者? "

ML:“看起来我们都很相似。”

在这样的讨论中,我总是想起著名的肯汤普森名言

如有疑问,请使用蛮力。

在这种情况下,当假设难以理解时,机器学习是一种拯救。或者至少比猜错要好得多。