机器学习与统计学的本质差异

争论

与流行的看法相反,机器学习实际上已经存在了几十年。由于其庞大的计算要求和当时存在的计算能力的限制,最初被避开了。然而,由于信息爆炸引起的数据占优势,机器学习近年来出现了崛起。

那么,如果机器学习和统计是彼此的同义词,为什么我们没有看到每所大学的每个统计部门都关闭或转变为"机器学习"部门?因为他们不一样!

我经常听到关于这个主题的几个含糊的陈述,最常见的是这些话:

"机器学习和统计学之间的主要区别在于它们的目的。机器学习模型旨在使最准确的预测成为可能。统计模型被设计用于推断变量之间的关系。"

虽然这在技术上是正确的,但它没有给出特别明确或令人满意的答案。机器学习和统计之间的主要区别确实是它们的目的。然而,说机器学习是关于准确的预测,而统计模型设计用于推理几乎是无意义的陈述,除非你精通这些概念。

首先,我们必须了解统计数据和统计模型是不一样的。统计学是数据的数学研究。除非您有数据,否则无法进行统计。统计模型是数据的模型,用于推断数据中的关系或创建能够预测未来值的模型。通常,这两者是相辅相成的。

因此,实际上我们需要讨论两件事:首先,统计数据与机器学习有何不同,其次,统计模型与机器学习有何不同。

为了使其更加明确,有许多统计模型可以进行预测,但预测准确性并不是它们的优势。

同样,机器学习模型提供了不同程度的可解释性,从高度可解释的到不可穿透的黑箱,但它们通常牺牲了对预测能力的可解释性。

从高层来看,这是一个很好的答案。对大多数人来说足够好。但是,有些情况下,这种解释使我们对机器学习和统计建模之间的差异产生了误解。让我们看一下线性回归的例子。

统计模型与机器学习 - 线性回归实例


在我看来,统计建模和机器学习中使用的方法的相似性使人们认为它们是同一个东西。这是可以理解的,但根本不是这样。

最明显的例子是线性回归的情况,这可能是造成这种误解的主要原因。线性回归是一种统计方法,我们可以训练线性回归量并获得与统计回归模型相同的结果,旨在最小化数据点之间的平方误差。

我们看到,在一个案例中,我们做了一个名为"训练"模型的事情,其中​​涉及使用我们数据的一个子集,我们不知道模型将如何执行,直到我们"测试"此数据不存在的其他数据在训练期间,称为测试集。在这种情况下,机器学习的目的是在测试集上获得最佳性能。

对于统计模型,我们发现一条线可以最小化所有数据的均方误差,假设数据是一个线性回归量,加上一些随机噪声,本质上通常是高斯噪声。无需训练,也无需测试。

对于许多情况,特别是在研究中(例如下面的传感器示例),我们模型的要点是表征数据与结果变量之间的关系,而不是对未来数据进行预测。我们将此过程称为统计推断,而不是预测。但是,我们仍然可以使用此模型进行预测,这可能是您的主要目的,但评估模型的方式不涉及测试集,而是涉及评估模型参数的重要性和稳健性。

机器学习的目的是获得可以进行可重复预测的模型。我们通常不关心模型是否可解释,尽管我个人建议始终进行测试以确保模型预测确实有意义。然而,统计建模更多的是发现变量之间的关系和这些关系的重要性,尽管也适合预测。

为了给出这两个程序之间差异的具体例子,我将举一个个人的例子。白天,我是一名环境科学家,主要研究传感器数据。如果我试图证明传感器能够响应某种刺激(例如气体浓度),那么我将使用统计模型来确定信号响应是否具有统计显着性。我会尝试理解这种关系并测试其可重复性,以便我能够准确地表征传感器响应并根据这些数据做出推断。我可能测试的一些事情是响应是否实际上是线性的,响应是否可以归因于气体浓度而不是传感器中的随机噪声等。

相比之下,我还可以获得20个不同传感器的阵列,我可以用它来尝试预测我新近表征的传感器的响应。一个预测传感器结果的20个不同变量的模型显然都是关于预测的,我不认为它是特别可解释的。由于化学动力学和物理变量与气体浓度之间的关系引起的非线性,这个模型可能会像神经网络一样更深奥。我希望这个模型有意义,但只要我能做出准确的预测,我就会非常高兴。

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


应该清楚的是,这两种方法的目标不同,尽管使用类似的方法实现目标。机器学习算法的评估使用测试集来验证其准确性。然而,对于统计模型,可以使用置信区间,显着性检验和其他检验对回归参数进行分析,以评估模型的合法性。由于这些方法产生相同的结果,因此很容易理解为什么人们可能认为它们是相同的。

统计与机器学习 - 线性回归举例

我认为这种误解很好地包含在比较统计数据和机器学习这个表面上非常诙谐的10年挑战中。


然而,仅基于它们都利用相同的基本概率概念这一事实来混淆这两个术语是不合理的。例如,如果我们根据这个事实做出机器学习只是美化统计的陈述,我们也可以做出以下陈述。

  • 物理学只是美化数学。
  • 动物学只是美化邮票收藏。
  • 建筑只是美化沙城堡建筑。

这些陈述(尤其是最后一个陈述)非常荒谬,所有这些陈述都基于这种混淆基于类似想法的术语的想法。

在我们继续讨论之前,我将很快清除另外两个与机器学习和统计相关的常见误解。这些是AI与机器学习不同,数据科学与统计学不同。这些是相当无争议的问题所以它会很快。

数据科学本质上是应用于数据的计算和统计方法,这些方法可以是小型或大型数据集。这还可以包括探索性数据分析,其中数据被检查和可视化,以帮助科学家更好地理解数据并从中做出推论。数据科学还包括数据争用和预处理等内容,因此涉及某种程度的计算机科学,因为它涉及编码,在数据库,Web服务器等之间建立连接和管道。

您不一定需要使用计算机来进行统计,但如果没有计算机,您就无法真正进行数据科学。你可以再次看到虽然数据科学使用统计数据,但它们显然不一样。

同样,机器学习与人工智能不同。事实上,机器学习是AI的一个子集。这是非常明显的,因为我们正在教授("训练")一台机器,根据以前的数据对某些类型的数据做出可推广的推断。

机器学习基于统计学

在我们讨论统计和机器学习的不同之前,让我们首先讨论相似之处。

机器学习建立在统计框架之上。这应该是显而易见的,因为机器学习涉及数据,并且必须使用统计框架来描述数据。然而,统计力学也扩展到大量粒子的热力学,也建立在统计框架之上。压力的概念实际上是一个统计量,温度也是一个统计量。尽管你觉得这听起来很荒谬可笑,但事实上确实如此。这就是为什么你无法描述分子的温度或压力,这是荒谬的。温度是分子碰撞产生的平均能量的表现。对于足够大量的分子,我们可以描述像房子或户外的温度。

你会承认热力学和统计学是一样的吗?不,热力学使用统计数据来帮助我们以运输现象的形式理解工作和热量的相互作用。

实际上,热力学是建立在除了统计之外的更多项目之上的。同样,机器学习也利用了大量其他数学和计算机科学领域,例如:

  • 来自数学和统计学等领域的ML理论
  • ML算法来自优化,矩阵代数,微积分等领域
  • 来自计算机科学与工程概念的ML实现(例如内核技巧,特征散列)

当一个人开始使用Python进行编码并剔除sklearn库并开始使用这些算法时,很多这些概念都被抽象出来,因此很难看出这些差异。在这种情况下,这种抽象导致了对机器学习实际涉及的一种无知形式。

统计学习理论 - 机器学习的统计基础

统计学与机器学习之间的主要区别在于统计学仅基于概率空间。可以从集合论中推导出整个统计数据,它讨论了我们如何将数字组合成类别,称为集合,然后对此集合强加一个度量,以确保所有这些的总和值为1,我们称之为概率空间。

除了这些集合和度量的概念之外,统计数据不对宇宙做任何其他假设。这就是为什么当我们用非常严格的数学术语指定概率空间时,我们指定了3个东西。

概率空间,我们这样表示,(Ω,F,P)由三部分组成:

1. Ω,这是一组所有可能的结果的。

2. ˚F,其中每个事件是含有零个或多个的一组。

3. 为事件分配,P ; 也就是说,从事件到概率的函数。

机器学习基于统计学习理论,它仍然基于概率空间的这种公理概念。该理论是在20世纪60年代发展起来的,并扩展到传统统计学。

有几种类型的机器学习,因此我只关注这里的监督学习,因为它是最容易解释的。

监督学习的统计学习理论告诉我们,我们有一组数据,我们将其表示为S = {(xᵢ,yᵢ)}。这基本上说我们是一个n个数据点的数据集,每个数据点由我们称之为功能的其他一些值描述,这些值由x提供,并且这些特征由某个函数映射以给出值y。

它说我们知道我们有这些数据,我们的目标是找到将x值映射到y值的函数。我们将可以描述此映射的所有可能函数的集合称为假设空间。

要找到这个函数,我们必须给算法一些"学习"什么是解决问题的最佳方法。这是由称为损失函数的东西提供的。因此,对于我们所拥有的每个假设,我们需要通过查看其对所有数据的预期风险值来评估该函数的执行情况。

预期风险基本上是损失函数乘以数据概率分布的总和。如果我们知道映射的联合概率分布,就很容易找到最佳函数。然而,这通常是未知的,因此我们最好的选择是猜测最佳函数,然后凭经验确定损失函数是否更好。我们称之为经验风险。

然后,我们可以比较不同的函数,并寻找给出最小预期风险的假设,即假设给出数据上所有假设的最小值(称为下限)。

然而,该算法具有作弊的倾向,以便通过过拟合数据来最小化其损失函数。这就是为什么在学习基于训练集数据的函数之后,该函数要在测试数据集上验证。

我们刚刚定义的机器学习的本质引入了过拟合的问题,并且证明了在执行机器学习时需要训练和测试集。这不是统计学的固有特征,因为我们并不是试图最小化我们的经验风险。

例子

以线性回归的简单情况为例。在传统意义上,我们尝试最小化某些数据之间的错误,以便找到可用于描述数据的函数。在这种情况下,我们通常使用均方误差。我们将它调整为正负误差不会相互抵消。然后我们可以以封闭形式的方式求解回归系数。

恰好如此,如果我们将损失函数作为均方误差并执行统计学习理论所支持的经验风险最小化,我们最终得到与传统线性回归分析相同的结果。

这只是因为这两种情况是等价的,就像在同一数据上执行最大似然性也会给你相同的结果一样。最大似然性有一种不同的方式来实现同一目标,但没有人会争论并说最大似然与线性回归相同。最简单的情况显然无助于区分这些方法。

这里要做的另一个重点是,在传统的统计方法中,没有训练集和测试集的概念,但我们确实使用度量来帮助我们检查模型的执行方式。因此评估程序不同,但两种方法都能够给我们统计上稳健的结果。

另一点是,传统的统计方法为我们提供了最优解,因为解决方案具有封闭形式。它没有测试任何其他假设并收敛到解决方案。然而,机器学习方法尝试了一堆不同的模型并收敛到最终假设,这与回归算法的结果一致。

如果我们使用了不同的损失函数,结果可能就不会收敛。例如,如果我们使用铰链损耗(使用标准梯度下降不可微分,那么将需要其他技术,如梯度下降),那么结果将不相同。

可以通过考虑模型的偏差来进行最终比较。可以要求机器学习算法测试线性模型,以及多项式模型,指数模型等,以查看这些假设是否更适合我们的先验损失函数。这类似于增加相关的假设空间。在传统的统计意义上,我们选择一个模型并可以评估其准确性,但不能自动选择100个不同模型中的最佳模型。显然,模型中总有一些偏差源于最初的算法选择。这是必要的,因为找到对数据集最佳的任意函数是NP难问题。

哪个更好?

这实际上是一个愚蠢的问题。在统计与机器学习方面,没有统计学就不会存在机器学习,但机器学习在现代时代非常有用,因为自信息爆炸以来人类可以获得大量数据。

比较机器学习和统计模型有点困难。您使用哪种方法在很大程度上取决于您的目的。如果您只是想创建一种能够高精度地预测住房价格的算法,或者使用数据来确定某人是否可能感染某些类型的疾病,那么机器学习可能是更好的方法。如果您试图证明变量之间的关系或从数据推断,统计模型可能是更好的方法。


如果你没有强大的统计学背景,你仍然可以学习机器学习并利用它,机器学习库提供的抽象使得它们非常容易被用作非专家,但你仍然需要一些理解基本的统计思想,以防止模型过拟合和给出似是而非的推论。

本文转自:今日头条 - AI火箭营,转载此文目的在于传递更多信息,版权归原作者所有。
原文链接:https://www.toutiao.com/i6672718631698170380/

推荐阅读