我读了一篇名为:金融世界想要打开人工智能的黑匣子的博客文章,作者在文章中反复提到ML模型为“黑匣子”。
在引用ML模型时,几个地方都使用了类似的术语。为什么会这样呢?
这并不像ML工程师不知道神经网络内部发生了什么。每个层都是由ML工程师选择的,他们知道要使用什么激活函数、该层的类型做什么、错误是如何返回传播的等等。
发布于 2017-08-17 12:47:35
黑匣子的事情与观众的专业水平无关(只要观众是人),而是与机器学习算法建模的功能的可解释性有关。
在logistic回归中,输入与输出之间存在着非常简单的关系。有时,您可以理解为什么某个示例被错误地编目(例如,因为输入向量的某些组件的值太低)。
这同样适用于决策树:您可以遵循树应用的逻辑,并理解为什么某个元素被分配给一个类或另一个类。
然而,深层神经网络是黑匣子算法的范例。没有人,甚至是世界上最擅长的人,也没有掌握通过训练神经网络来建立模型的功能。对抗性例子可以提供关于这一点的洞察力:训练样本中的一些微小的变化(而不是人类所注意到的)可以使网络认为它属于一个完全不同的标签。有一些技术可以创建对抗性示例,也有一些技术可以提高对它们的鲁棒性。但是,考虑到没有人真正知道网络建模的函数的所有相关属性,所以总是有可能找到一种新的方法来创建它们。
人类也是黑匣子和我们对对抗性的例子也是明智的。。
发布于 2017-08-18 05:34:42
虽然我在大多数(+1)点上都同意ncasas回答,但在以下几点上,我不敢苟同:
通过想像力的遮挡分析解释黑匣子模型的预测(从“我为什么要相信你?”):

我想指出模型可理解性的神话。它以简洁的方式阐述了一些关于可解释性的观点。
为什么机器学习模型被称为黑匣子?
人们如何使用它:因为他们没有以一种允许人类直接说出对任何给定输入发生什么的方式来模拟问题。
我不认为这个“黑匣子模型”的概念有多大意义。例如,想想天气预报。如果只给出数据,你就不能指望任何人说天气会被预测。然而,大多数人不会说物理天气模型是黑匣子模型。那有什么区别呢?这仅仅是一个模型是利用数据生成的,而另一个模型是通过对物理的洞察力生成的吗?
当人们谈论黑匣子模型时,他们通常会说这是一件坏事。但人类也是黑匣子模型。我在这里看到的关键区别是,人类所犯的错误更容易预测。因此,它是一个训练问题( NN方面的副词示例)和一个教育问题(教人类如何使用NNs )。
如何使用‘黑匣子模型’这个术语:对我来说更有意义的一种方法是将这个问题称为“黑箱问题”,类似于user144410 (+1)所写的。因此,任何只将问题作为黑匣子来处理的模型--因此,您可以输入并输出的东西--都是黑匣子模型。有洞察力的模型(不仅仅是假设!)关于这个问题不是黑匣子模型。洞察力部分是很棘手的。每个模型都对它可以建模的可能函数进行了限制(是的,我知道普遍逼近问题。)只要你使用一个固定大小的神经网络,它就不适用)。我想说的是,如果您了解一些关于输入和输出之间的关系,而不戳出问题(而不查看数据),那么就可以理解这个问题。
由此得出的结论如下:
发布于 2017-08-17 12:48:35
这取决于模型的可解释性和可解释性。给定一个简单模型的输出,可以准确地确定每个输入对模型输出的贡献,但随着模型变得更加复杂,这变得更加困难。例如,使用回归,您可以指向系数,通过决策树,您可以识别分裂。有了这些信息,你就可以得到解释模型行为的规则。
然而,随着模型参数的增加,很难确切地解释输入的组合会导致最终的模型输出,或者从模型的行为中导出规则。在金融业,当首席运营官过来问他:“那么,为什么你的高频交易会破坏经济”,他不想知道它是如何建成的,只是为什么它让他破产了。可以说明模型是如何构建的,但可能无法解释模型作为输入所接收的因素组合导致了输出,这也是人们谈论黑匣子的原因。
https://datascience.stackexchange.com/questions/22335
复制相似问题