如何确定我们是否可以从给定的数据中学习?

数据挖掘 机器学习 神经网络 深度学习 数据 学习
2021-10-10 08:31:33

我想知道给定一组数据和一个目标,我们如何确定我们是否可以从该数据中学习以做出任何推断?

4个回答

我们怎么能确定

我们不能。一个玩具示例来说明为什么即使是人类也不能肯定地做到这一点:

假设你得到数字2, 4, 8, 16, 32, ?? 并想推断下一个数字??. 该系列的自然扩展将是64,但我们不能认为这是理所当然的。下一个数字也可以是0你不能确定。

只有给定数据并且没有关于您期望看到的额外假设,您无法学习正确的模型本身。您必须始终对您的数据持批评态度。

关于给出的答案,我想添加一个额外的解释。基本上,ML 方法所做的是近似从输入到输出的映射。这个函数通常应该表现良好 1否则你应该有这么多的数据来让你的模型在当前的特征空间中学习它。更具体地说,您应该在当前特征空间中找到训练数据的分布。对于分类任务,它可以帮助您调查不同标签的分布重叠程度。通过这样做,您将能够找出您的最佳 ML 方法可以拥有的最佳性能。当前特征空间中的数据分布可以显示模型的贝叶斯错误

如果你发现当前的贝叶斯误差是一个很大的值,那么你可以确定你的数据在当前的特征空间中无法学习,你必须改变当前的特征。

目前的标准基本上是:

给定这些输入数据,任何其他系统或方法可以对其进行分类或估计感兴趣的数量吗?如果是这样,那么机器学习方法可能能够实现相同的目标。

这基本上就是如何将计算机感知中的机器学习挑战视为易处理的。我们将人类和其他动物作为工作模型,并假设该过程可以自动化。任何试图重建专家行为的机器学习系统都可以采用类似的方法——只要我们使用完全相同的输入数据,并且足够多的输入数据,ML 系统就可以通过统计近似来了解专家所做的事情。

“专家”可以是使用任何工具查看数据的统计学家/数据科学家。特征和相关性度量的探索性图是评估数据集是否适合训练 ML 模型进行预测的好方法。如果您可以使用某些特征组合在散点图上直观地分离类,那么合适的 ML 模型也可能能够分离这些类。

有一些困难的情况,表面上似乎没有模式。也许可以通过统计分析梳理出一种关系并证明其存在,但您可以避开这种关系,直接将一些非线性 ML 模型用于问题,希望它为您找到正确的超参数。当然,您事先并不知道这是否值得,这会带来一些风险。但是一旦你有了一些数据,做起来并不那么昂贵——只需在问题上抛出一个相当健壮的非线性模型,比如 XGBoost,然后看看会发生什么。

当然,ML 并不是魔法。如果什么都找不到,它往往什么也找不到。更糟糕的是,由于数据收集或标签中固有的偏见,它可以找到虚假的相关性或模式。无论理论上是否有可能取得结果,这些问题都是一个问题。然而,这种驱动“让我们在这方面投入一些神经网络”的想法导致一些已发表的作品在许多层面上都非常可怕和错误。这种系统的一个例子是一个神经网络,它根据一个人的面部照片将一个人分类为犯罪与否——幸运的是,在该系统的数据收集中指出了缺陷,但最初的故事在许多地方成为了头条新闻,尽管本质上是颅相学的现代重生。

无法使用确定性方法评估 ML 模型。ML 模型不会简单地遵循 if else 语句,可以验证模型是否正确预测结果。大多数 ML 算法都使用概率方法来预测最可能或最接近的类别。

除此之外,区分不同类之间的边界并不总是简单和线性的,在大多数情况下,分隔数据点的类边界遵循高阶微分函数。

很多时候,噪声数据会导致分离边界更加复杂,并导致模型性能恶化。偏差权衡是人们应该学习的重要概念,以使模型按预期工作。