资讯详情

统计学和机器学习到底有什么区别?

Datawhale干货 来源:medium,编译:大数据文摘

统计学和机器学习之间的定义一直很模糊。

无论是行业还是学术界一直认为机器学习只是统计学的一层明亮的外衣。

支持机器学习的人工智能也被称为统计外延。

例如,诺贝尔奖得主托马斯·萨金特曾经说过,人工智能实际上是统计学,但它使用了一个非常华丽的修辞。

d5fc3d5101012314fe8146fabcb19f7b.jpeg

萨金特在世界科技创新论坛上说,人工智能实际上是统计学

当然,也有一些不同的声音。但这种观点的积极和消极的双方在争吵中充满了一堆看似深刻但模糊的讨论,这真的令人困惑。

一位名叫Matthew Stewart哈佛大学博士生不同于统计学和机器学习;统计模型和机器学习的差异证明了机器学习和统计学不是相互同义词。

与大多数人认为的相反,机器学习已经存在了几十年。一开始,它逐渐被抛弃,因为当时的计算能力不能满足它对大量计算的需求。然而,近年来,由于数据和计算能力的优势,机器学习正在迅速恢复。

归根结底,如果机器学习和统计学是相互的同义词,为什么我们没有看到每所大学的统计学系都关闭了,转向机器学习系呢?因为它们是不同的!

我经常听到一些关于这个话题的含糊讨论。最常见的说法是:

"。机器学习模型旨在使最准确的预测成为可能。统计模型是为了推断变量之间的关系而设计的。

虽然这在技术上是正确的,但这样的讨论并没有给出特别清晰和令人满意的答案。机器学习和统计学的主要区别确实是它们的目的。

然而,除非你真的精通这些概念,否则机器学习是关于准确的预测,统计模型是为推理而设计的。

首先,我们必须明白,。统计是对数据的数学研究。除非有数据,否则不能统计。统计模型是一种数据模型,主要用于推断数据中不同内容之间的关系,或创建能够预测未来值的模型。通常,两者相辅相成。

因此,我们实际上需要从两个方面来讨论:第一,统计学和机器学习有什么区别;第二,统计模型和机器学习有什么区别?

更直白地说,

机器学习通常牺牲可解释性来获得强大的预测能力。例如,从线性回归到神经网络,虽然解释性较差,但预测性显著提高。

从宏观的角度来看,这是一个很好的答案。至少对大多数人来说已经足够好了。然而,在某些情况下,这种说法很容易误解机器学习和统计建模之间的差异。让我们看看线性回归的例子。

也许是因为统计建模和机器学习中使用方法的相似性,人们认为它们是一样的。我能理解这一点,但事实并非如此。

最明显的例子是线性回归,这可能是造成这种误解的主要原因。线性回归是一种统计方法。通过这种方法,我们不仅可以训练线性回归器,还可以通过最小二乘法拟合统计回归模型。

可以看出,在这种情况下,前者所做的是"训练"模型,它只使用一个数据子集,训练模型的性能需要通过另一个数据子集测试来知道。在这个例子中,机器学习的最终目的是在测试集中获得最佳性能。

对于后者,我们提前假设数据是高斯噪声的线性回归,然后试图找到一条线,尽量减少所有数据的均方误差。在许多情况下,特别是在研究中(如以下传感器示例),建模的目的是描述数据与输出变量之间的关系, 而不是预测未来数据。这个过程被称为统计推断,而不是预测。虽然我们可以使用这个模型进行预测,能是你想的,但评估模型的方法不再是测试集,而是评估模型参数的显著性和强度。

机器学习(特别是监督学习)的目的是获得一个可重复预测的模型。我们通常不在乎模型是否可以解释。机器学习只关心结果。例如,对于公司来说,您的价值仅由您的性能来衡量。统计建模更多的是寻找变量之间的关系,确定关系的重要性,这恰好迎合了预测。

让我举一个我自己的例子来解释两者之间的区别。我是环境科学家。工作的主要内容是处理传感器数据。假如我试图证明传感器能对某种刺激(如气体浓度)做出反应, 然后我将使用统计模型来确定信号响应是否具有统计显著性。为了准确描述传感器的响应,并根据这些数据做出推断,我将尝试理解这种关系,并测试其可重复性。我也可以测试响应是否线性?传感器中的随机噪声是否归因于气体浓度而非随机噪声?等等。

同时,我也可以从20个不同的传感器中获得数据, 试着预测一个可以由他们表示的传感器的响应。如果你对传感器了解不多,这可能会很奇怪,但它确实是环境科学的一个重要研究领域。

用一个包含20个不同变量的模型来表示传感器的输出显然是一种预测,我不指望模型能够解释。你知道,由于化学动力学产生的非线性和物理变量与气体浓度之间的关系,这个模型可能会像神经网络一样深刻和难以解释。虽然我希望这个模型能被理解, 但事实上,只要它能做出准确的预测,我就

如果我试图证明数据变量之间的关系在一定程度上具有统计意义,这样我就可以在科学论文中发表,我将使用统计模型而不是机器学习。这是因为我更关心变量之间的关系,而不是预测。预测可能仍然很重要,但大多数机器学习算法缺乏解释性,这使得很难证明数据中的关系。

显然,尽管使用类似的方法来实现目标,但这两种方法在目标上是不同的。机器学习算法的评估使用测试集来验证其准确性。然而,对于统计模型,可以通过信心范围、显著性测试和其他测试来评估模型的合法性。因为这些方法产生相同的结果,很容易理解为什么人们假设它们是相同的。

有一个误解已经存在了10年仅基于他们都使用相同的基本概率概念来混淆这两个术语是不合理的。

然而,仅仅利用概率中相同的基本概念来混淆这两个术语是不合理的。例如,如果我们只是把机器学习当作一层明亮的外套,我们也可以说:

  • 物理只是数学中更好的说法。

  • 动物学只是邮票收藏的一种更好的说法。

  • 建筑只是沙堡建筑的一种更好的说法。

这些说法(尤其是最后一个)非常荒谬,完全混淆了两个类似想法的术语。

事实上,物理是基于数学的,理解现实中的物理现象是数学的应用。物理学还包括统计学的各个方面,现代统计学通常是基于Zermelo-Frankel在集合论与测量理论相结合的框架中,产生概率空间。它们有许多共同点,因为它们来自相似的起源,并用相似的想法得出逻辑结论。同样,建筑和沙堡建筑可能有很多共同点,但即使我不是建筑师,我也不能给出明确的解释,但我可以看到它们明显不同。

在我们进一步讨论之前,我们需要简要澄清另外两个与机器学习和统计相关的常见误解。这意味着人工智能不同于机器学习,数据科学不同于统计学。这些都没有争议题,所以很快就能说清楚。

数据科学本质上是应用于数据的计算和统计方法,包括小数据集或大数据集。它也包括诸如探索性数据分析之类的东西,例如对数据进行检查和可视化,以帮助科学家更好地理解数据,并从中做出推论。数据科学还包括诸如数据包装和预处理之类的东西,因此涉及到一定程度的计算机科学,因为它涉及编码和建立数据库、Web服务器之间的连接和流水线等等。

要进行统计,你并不一定得依靠电脑,但如果是数据科学缺了电脑就没法操作了。这就再次说明了虽然数据科学借助统计学,这两者不是一个概念。

同理,机器学习也并非人工智能;事实上,机器学习是人工智能的一个分支。这一点挺明显的,因为我们基于以往的数据“教”(训练)机器对特定类型的数据进行概括性的预测。

在我们讨论统计学和机器学习之间的区别前,我们先来说说其相似性,其实文章的前半段已经对此有过一些探讨了。

机器学习基于统计的框架,因为机器学习涉及数据,而数据必须基于统计学框架来进行描述,所以这点十分明显。然而,扩展至针对大量粒子的热力学的统计机制,同样也建立在统计学框架之下。

压力的概念其实是数据,温度也是一种数据。你可能觉得这听起来不合理,但这是真的。这就是为什么你不能描述一个分子的温度或压力,这不合理。温度是分子相撞产生的平均能量的显示。而例如房屋或室外这种拥有大量分子的,我们能用温度来描述也就合理了。

你会认为热力学和统计学是一个东西吗?当然不会,热力学借助统计学来帮助我们理解运动的相互作用以及转移现象中产生的热。

事实上,热力学基于多种学科而非仅仅统计学。类似地,机器学习基于许多其他领域的内容,比如数学和计算机科学。举例来说:

  • 机器学习的理论来源于数学和统计学;

  • 机器学习算法基于优化理论、矩阵代数和微积分;

  • 机器学习的实现来源于计算机科学和工程学概念,比如核映射、特征散列等。

当一个人开始用Python开始编程,突然从Sklearn程序库里找出并使用这些算法,许多上述的概念都比较抽象,因此很难看出其中的区别。这样的情况下,这种抽象定义也就致使了对机器学习真正包含的内容一定程度上的无知。

统计学和机器学习之间最主要的区别在于统计学完全基于概率空间。你可以从集合论中推导出全部的统计学内容,集合论讨论了我们如何将数据归类(这些类被称为“集”),然后对这个集进行某种测量保证其总和为1.我们将这种方法成为概率空间。

统计学除了对这些集合和测量有所定义之外没有其他假设。这就是为什么我们对概率空间的定义非常严谨的原因。一个概率空间,其数学符号写作(Ω,F,P),包含三部分:

  • 一个样本空间,Ω,也就是所有可能结果的集合。

  • 一个事件集合,F,每个事件都包含0或者其它值。

  • 对每个事件发生的可能性赋予概率,P,这是一个从事件到概率的函数。

机器学习基于统计学习理论,统计学习理论也依旧基于对概率空间的公理化语言。这个理论基于传统的统计学理论,并发展于19世纪60年代。

机器学习分为多个类别,这篇文章我仅着眼于监督学习理论,因为它最容易解释(虽然因其充斥数学概念依然显得晦涩难懂)。

统计学习理论中的监督学习,给了我们一个数据集,我们将其标为S= {(xᵢ,yᵢ)},也就是说我们有一个包含N个数据点的数据集,每个数据点由被称为“特征”的其它值描述,这些特征用x描述,这些特征通过特定函数来描绘以返回我们想要的y值。

已知这个数据集,问如何找到将x值映射到y值的函数。我们将所有可能的描述映射过程的函数集合称为假设空间。

为了找到这个函数,我们需要给算法一些方法来“学习”如何最好地着手处理这个问题,而这由一个被称为“损失函数”的概念来提供。因此,对我们所有的每个假设(也即提议的函数),我们要通过比较所有数据下其预期风险的值来衡量这个函数的表现。

预期风险本质上就是损失函数之和乘以数据的概率分布。如果我们知道这个映射的联合概率分布,找到最优函数就很简单了。但是这个联合概率分布通常是未知的,因此我们最好的方式就是猜测一个最优函数,再实证验证损失函数是否得到优化。我们将这种称为实证风险。

之后,我们就可以比较不同函数,找出最小预期风险的那个假设,也就是所有函数中得出最小下确界值的那个假设。

然而,为了最小化损失函数,算法有通过过度拟合来作弊的倾向。这也是为什么要通过训练集“学习”函数,之后在训练集之外的数据集,测试集里对函数进行验证。

我们如何定义机器学习的本质引出了过度拟合的问题,也对需要区分训练集和测试集作出了解释。而我们在统计学中无需试图最小化实证风险,过度拟合不是统计学的固有特征。最小化统计学中无需视图程向于一个从函数中选取最小化实证风险的学习算法被称为实证风险最小化。

以线性回归做一个简单例子。在传统概念中,我们试图最小化数据中的误差找到能够描述数据的函数,这种情况下,我们通常使用均值方差。使用平方数是为了不让正值和负值互相抵消。然后我们可以使用闭合表达式来求出回归系数。

如果我们将损失函数计为均值方差,并基于统计学习理论进行最小化实证风险,碰巧就能得到传统线性回归分析同样的结果。

这个巧合是因为两个情况是相同的,对同样的数据以相同的方式求解最大概率自然会得出相同的结果。最大化概率有不同的方法来实现同样的目标,但没人会去争论说最大化概率与线性回归是一个东西。这个最简单的例子显然没能区分开这些方法。

这里要指出的第二点在于,传统的统计方法中没有训练集和测试集的概念,但我们会使用不同的指标来帮助验证模型。验证过程虽然不同,但两种方法都能够给我们统计稳健的结果。

另外要指出的一点在于,传统统计方法给了我们一个闭合形式下的最优解,它没有对其它可能的函数进行测试来收敛出一个结果。相对的,机器学习方法尝试了一批不同的模型,最后结合回归算法的结果,收敛出一个最终的假设。

如果我们用一个不同的损失函数,结果可能并不收敛。例如,如果我们用了铰链损失(使用标准梯度下降时不太好区分,因此需要使用类似近梯度下降等其它方法),那么结果就不会相同了。

最后可以对模型偏差进行区分。你可以用机器学习算法来测试线性模型以及多项式模型,指数模型等,来检验这些假设是否相对我们的先验损失函数对数据集给出更好的拟合度。在传统统计学概念中,我们选择一个模型,评估其准确性,但无法自动从100个不同的模型中摘出最优的那个。显然,由于最开始选择的算法不同,找出的模型总会存在一些偏误。选择算法是非常必要的,因为为数据集找出最优的方程是一个NP-hard问题。

这个问题其实很蠢。没有统计学,机器学习根本没法存在,但由于当代信息爆炸,人类能接触到的大量数据,机器学习是非常有用的。

对比机器学习和统计模型还要更难一些,你需要视乎你的目标而定究竟选择哪种。如果你只是想要创建一个高度准确的预测房价的算法,或者从数据中找出哪类人更容易得某种疾病,机器学习可能是更好的选择。如果你希望找出变量之间的关系或从数据中得出推论,选择统计模型会更好。

图中文字:

这是你的机器学习系统?

对的,你从这头把数据都倒进这一大堆或者线性代数里,然后从那头里拿答案就好了。

答案错了咋整?

那就搅搅,搅到看起来对了为止。

如果你统计学基础不够扎实,你依然可以学习机器学习并使用它——机器学习程序库里的抽象概念能够让你以业余者的身份来轻松使用它们,但你还是得对统计概念有所了解,从而避免模型过度拟合或得出些貌似合理的推论。

相关报道:

https://towardsdatascience.com/the-actual-difference-between-statistics-and-machine-learning-64b49f07ea3?gi=412e8f93e22e

干货学习,

标签: 传感器引出连接线

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台