为什么机器学习模型被称为黑盒?

数据挖掘 机器学习 术语
2021-09-26 20:56:22

我正在阅读这篇题为:金融世界想要打开 AI 的黑匣子的博文,其中作者反复将 ML 模型称为“黑匣子”。

在提到 ML 模型时,已在多个地方使用了类似的术语。为什么会这样?

ML 工程师并不是不知道神经网络内部发生了什么。每一层都由 ML 工程师选择,知道要使用什么激活函数、该层类型做什么、错误如何反向传播等。

4个回答

黑匣子事情与观众的专业水平无关(只要观众是人),而是与机器学习算法建模的函数的可解释性有关。

在逻辑回归中,输入和输出之间存在非常简单的关系。您有时可以理解为什么某个样本被错误地编目(例如,因为输入向量的某些分量的值太低)。

这同样适用于决策树:您可以遵循树应用的逻辑并理解为什么将某个元素分配给一个类或另一个类。

然而,深度神经网络是黑盒算法的典型例子。没有人,甚至世界上最专家的人都无法掌握实际上是通过训练神经网络来建模的功能。对抗性示例可以提供对此的见解:训练样本中的一些轻微(并且人类无法察觉)变化可能导致网络认为它属于完全不同的标签。有一些技术可以创建对抗样本,还有一些技术可以提高对抗样本的鲁棒性。但鉴于没有人真正了解网络建模的函数的所有相关属性,总是有可能找到一种新的方法来创建它们。

人类也是黑匣子,我们对对抗性例子也很敏感

虽然我在大多数方面都同意ncasas 的回答(+1),但我希望在一些方面有所不同:

  • 决策树也可以用作黑盒模型。事实上,我会说在大多数情况下它们被用作黑盒模型。如果您有 10,000 个特征和深度为 50 的树,那么您无法合理地期望人类能够理解它。
  • 可以理解神经网络。有许多分析技术(请参阅我的硕士论文的第 2.5 章,了解一些旨在改进模型的技术)。尤其是遮挡分析(图 2.10)、过滤器可视化(图 2.11)。还有我为什么要相信你?纸(我的笔记)。

通过花哨的遮挡分析解释黑盒模型的预测(来自“我为什么要相信你?”): 在此处输入图像描述

我想指出模型可解释性的神话它以简洁的方式阐述了一些关于可解释性的想法。

你的问题

为什么机器学习模型被称为黑盒?

人们如何使用它:因为他们没有以允许人类直接说出任何给定输入会发生什么的方式对问题进行建模。

个人想法

我认为这种“黑盒模型”的概念没有多大意义。例如,想想天气预报。如果只给他数据,你不能指望任何人说出会预测哪种天气。然而大多数人不会说物理天气模型是黑盒模型。那么区别在哪里呢?难道仅仅是一个模型是使用数据生成的,而另一个模型是使用对物理学的洞察力生成的吗?

当人们谈到黑盒模型时,他们通常会说它是一件坏事。但人类也是黑盒模型。我在这里看到的关键区别是人类犯的错误类别更容易为人类预测。因此,这是一个训练问题(NN 方面的对抗性示例)和一个教育问题(教人类如何 NN 工作)。

如何使用术语“黑盒模型”:对我来说更有意义的一种方法是将问题称为“黑盒问题”,类似于user144410 (+1) 所写的。因此,任何仅将问题视为黑盒的模型(因此您可以输入输入并输出输出的东西)都是黑盒模型。对问题有洞察力(不仅仅是假设!)的模型不是黑盒模型。洞察力部分很棘手。每个模型都对它可以建模的可能函数进行了限制(是的,我知道通用逼近问题。只要您使用固定大小的 NN,它就不适用)。我想说的是,如果您对输入和输出的关系有所了解,而无需戳穿问题(不查看数据),那么您就可以深入了解问题。

由此得出:

  • 神经网络可以是非黑盒(白盒?)
  • 逻辑回归可以是一个黑盒模型。
  • 它更多地是关于问题和你对它的见解,而不是关于模型。

它归结为模型的可解释性和可解释性。给定一个更简单模型的输出,可以准确地确定每个输入对模型输出的贡献,但随着模型变得越来越复杂,这变得越来越困难。例如,使用回归可以指向系数,使用决策树可以识别拆分。有了这些信息,您就可以推导出解释模型行为的规则。

然而,随着模型参数数量的增加,越来越难以准确解释哪些输入组合导致最终模型输出,或者从模型的行为中得出规则。在金融行业中,当首席运营官过来问“那么,为什么你的高频交易算法会破坏经济”时,他不想听到它是如何构建的,只是为什么它让他破产。可以说明模型是如何构建的,但可能无法解释模型作为输入接收的哪些因素组合导致了输出,这就是人们谈论黑匣子的原因。

黑盒模型是指任何数学模型,其方程被选择为尽可能通用和灵活,而不依赖于任何物理/科学定律。

灰盒模型是数学模型,其中部分方程(数学函数)来自物理已知定律,但其余部分假定为通用函数以补偿无法解释的部分。

白盒模型是完全建立在物理定律和对系统的理解之上的数学模型,例如机械运动定律(飞机模型等)

这里