机器学习的解读方法总结_Two Sigma_对冲基金文章翻译计划031


(xmnz) #1

原文章来自Two Sigma网站,本文为原文章的中文翻译。本文仅用于交流学习使用,不得用于商业用途。如对相关著作人造成侵害,请立即联系译者及时删除。

原文标题:Interpretability Methods in Machine Learning: A Brief Survey

原文时间:2019年6月25日

原文作者:Xiang Zhou

翻译:雷闻


Two Sigma人工智能工程师Xiang Zhou概述了几种方法来理解机器学习模型如何得出答案。

机器学习(ML)模型在预测方面有着惊人的优势,但它们通常不能用人类容易理解的术语来解读它们的预测。他们得出结论的特征是如此之多,计算也如此之复杂,以至于研究人员无法确定一种算法为什么产生这个答案。

然而,我们可以确定机器学习算法是如何得出结论的。

这种能力,也被称为“可解读性”,是学术界和工业界人工智能研究人员非常活跃的研究领域。它与“可解释性”(回答原因)稍有不同,因为它可以揭示模型中更改的原因和影响,即使模型的内部工作仍然不透明。

可解读性是至关重要的,有几个原因。例如,如果研究人员不理解一个模型是如何工作的,他们将很难将学习转移到更广泛的知识库中。同样,可解读性对于防止嵌入偏差或调试算法至关重要。它还帮助研究人员衡量模型中权衡的作用。更广泛地说,随着算法在社会中发挥越来越重要的作用,准确理解它们如何得出答案只会变得更加关键。

研究人员目前必须通过判断、经验、观察、监控和勤奋的风险管理来弥补不完全的可解读性,包括对他们使用的数据集的彻底理解。然而,有几种技术可以提高机器学习模型中的可解读性程度,无论其类型如何。本文总结了其中最常见的几种,包括它们的相对优缺点。

可解读的机器学习模型和“黑匣子”

有些机器学习模型可以自己解读。例如,对于线性模型,预测结果y是其特征x的加权和。你可以将绘图中的“y等于x加b”显示为直线:a,特征权重,是直线的斜率,b是Y轴的截距。

![](data:image/svg+xml;utf8,)

线性模型是用户友好的,因为它们简单易懂。然而,要实现大型现代数据集的最高精度,通常需要更复杂和更具表现力的模型,如神经网络。

下图显示了一个小的、完全连接的神经网络,这是最简单的神经结构之一。但是,即使对于这种最简单的神经结构,也没有办法让任何人理解哪个神经元在扮演什么角色,哪个输入特征实际上对模型输出有贡献。因此,这种模型有时被称为“黑匣子”。

![](data:image/svg+xml;utf8,)

现在想象一个拥有数百万个神经元和各种连接的模型。如果没有强大的可解读性技术,研究人员就很难理解它。

模型不可知论的解读方法

有几种重要的模型不可知论解读方法,虽然它们都不完美,但它们可以帮助研究人员解读甚至非常复杂的ML模型的结果。

为了演示的目的,让我们考虑一个小的时间序列数据集。时间序列只是按时间顺序索引的一系列数据点。它是金融行业最常见的数据类型。定量研究的一个常见目标是使用统计和机器学习方法识别金融时间序列数据中的趋势、季节变化和相关性。

![](data:image/svg+xml;utf8,)

方法1:部分依赖图(Partial Dependence Plot)

我们将研究的第一种方法是部分依赖图(PDP),它是几十年前发明的,它显示了一个或两个特征对机器学习模型预测结果的边际影响。

它有助于研究人员确定随着各种特征的调整,模型预测会发生什么。

![](data:image/svg+xml;utf8,)

在此图中,X轴表示特征f0的值,Y轴表示预测值。阴影区域的实线显示平均预测值随f0值的变化而变化。

PDP非常直观且易于实现,但由于它只显示平均边际效应,因此可能隐藏异质性。1例如,一个特征可能显示出与一半数据预测的正关系,而与另一半数据的负关系。PDP的绘图将只是一条水平线。

为了解决这个问题,开发了一种新的方法。

方法2:个体条件期望(Individual Conditional Expectation)

个体条件期望(ICE)与PDP非常相似,但ICE不会绘制平均值,而是每个实例显示一行。

每行代表在一个实例下,如果感兴趣的特征改变时的预测值。因此这种方法比PDP更直观。

像部分依赖性一样,ICE有助于解释模型的预测会因为一个特定的特征发生变化而发生什么变化。

ICE的每一行显示一个实例:

![](data:image/svg+xml;utf8,)

与PDP不同,ICE曲线可以揭示异质关系。然而,这种好处也伴随着一种成本:它可能不像PDP那样容易看到平均效果。

方法3:排列特征重要性(Permuted Feature Importance)

排列特征重要性是另一种传统的解读方法。

特征的重要性在于特征值无序化后模型预测误差的增加。换句话说,它有助于定义模型中的特征如何对预测做出贡献。

在下面的绘图中,X轴表示分数减少或模型误差,Y轴表示每个特征f0、f1、f2、f3。

![](data:image/svg+xml;utf8,)

如图所示,最上面的特征F2对模型误差的影响最大;而第二个特征F1对随机化后的误差没有影响。其余两个特征对模型有负面影响。

PDP vs. ICE vs. 特征重要性

![](data:image/svg+xml;utf8,)

以上三种方法都是直观且易于实现的。

PDP显示全局效果,同时隐藏异质效果。ICE可以揭示异质效果,但很难看到平均值。

特征重要性为理解模型的行为提供了一种简洁的方法。使用误差比(而不是误差)可以使测量值在不同的问题上具有可比性。它会自动考虑与其他特征的所有交互。

然而,这些相互作用不是可加的。特征重要性加总并不等于全部性能的下降。随机化特征会增加随机性,因此每次的结果都可能不同。此外,随机化需要获得真正的结果,这在许多情况下是不可能的。

此外,这三种方法都假定了特征的独立性,因此如果特征是相关的,则不太可能的数据点会被创建出来,并且这些不现实的数据点会使解读产生偏差。

方法4:全局代理

全局代理方法采用不同的方法。在这种情况下,一个可解读的模型被训练来逼近黑箱模型的预测。

这个过程很简单。首先,使用经过训练的黑盒模型在数据集上获取预测,然后在此数据集和预测上训练可解读的模型。经过训练的可解读模型现在变成了原始模型的代理,我们需要做的就是解读代理模型。注意,代理模型可以是任何可解读的模型:线性模型、决策树、人类定义的规则等。

![](data:image/svg+xml;utf8,)

用一个可解读的模型来近似黑箱模型会引入附加误差,但附加误差可以很容易地用r方来测量。

然而,由于代理模型仅限于黑箱模型的预测而不是实际结果,因此全局代理模型只能解读黑箱模型,而不能解读数据。

方法5:局部代理(LIME)

局部代理或LIME(局部的可解读的模型不可知论的解释, Local Interpretable Model-agnostic Explanations)不同于全局代理,因为它不试图解释整个模型。相反,它训练可解释模型来逼近单个预测。

LIME试图理解当我们干扰数据样本时预测是如何变化的。下面是一个LIME的例子,解释了为什么这个图片被模型归类为树蛙。

![](data:image/svg+xml;utf8,)

首先,左边的图像被分成可解读的部分。然后,Lime通过关闭一些可解读的组件(在本例中,将其变为灰色)来生成受干扰实例的数据集。

对于每一个受扰动的实例,可以使用训练后的模型得到树蛙在图像中的概率,然后在此数据集上学习局部加权线性模型。

最后,正权重最大的部分就是解释。

全局代理方法VS局部代理方法

全局和局部代理方法都有优缺点。

全局代理关心解释模型的整个逻辑,而局部代理只关心理解特定的预测。

使用全局代理方法,任何可解读模型都可以作为代理,并且可以很容易地测量代理模型与黑盒模型的接近程度。

然而,由于代理模型仅针对黑盒模型的预测而不是实际结果进行培训,因此它们只能解读模型,而不能解读数据。此外,在许多情况下,代理模型比黑盒模型简单,可能只能对部分数据(而不是整个数据集)给出很好的解释。

另一方面,局部代理方法不具有这些缺点。此外,局部代理方法是模型不可知论的:如果你需要为你的问题尝试不同的黑盒模型,你仍然可以使用相同的代理模型进行解读。与全局代理方法给出的解读相比,局部代理方法给出的解读往往简短、有对比和人性化。

然而,局部代理有其自身的问题。

首先,LIME使用一个核来定义一个区域,在这个区域内,数据点被考虑用于局部解释,但是很难为一个任务找到合适的核设置。在LIME中取样的方式会导致不现实的数据点,并且局部解读会偏向这些数据点。

另一个问题是解释的不稳定性。两个非常接近的点可能导致两个非常不同的解读。

方法6:沙普利值(SHAP)

沙普利值的基本概念来自博弈论。在这种方法中,可以通过假设实例的每个特征值都是游戏中的“玩家”来解释预测。每个玩家的贡献是通过从其他玩家的所有子集中添加和删除玩家来衡量的。一个玩家的沙普利值是其所有贡献的加权和。

沙普利值是可加的和局部精确的。如果将所有特征的shapley值加上基础值(即预测平均值),就可以得到准确的预测值。这是许多其他方法没有的功能。

下面是Github的一个例子。本实验尝试使用xgboost模型预测具有13个特征的房价。

![](data:image/svg+xml;utf8,)

图中显示了每个特征的沙普利值,代表了将模型结果从基值推到最终预测的贡献。红色表示正贡献,蓝色表示负贡献。

该图显示,在该数据集中,一个称为LSTAT的特征(根据教育程度和职业,低端人口的百分比)对预测的影响最大,较高的LSTAT会降低预测的房价。

沙普利值与LIME

数据科学家Christoph Molnar在《可解读机器学习》中指出,沙普利值可能是唯一能够提供完整解读的方法,它是理论基础最强的解释方法。

然而,也有一些利弊权衡。计算沙普利值的计算成本很高。最近发展的核SHAP方法对该问题进行了快速的核逼近,但对于大背景数据,计算量仍然很大。

与LIME不同,沙普利值不返回预测模型。最后,计算新数据实例的沙普利值需要访问实际数据,而不仅仅是预测函数。

如何选择“正确”的可解读性工具?

下表总结了本文所涵盖的方法,从最低到最高的复杂性排序。

![](data:image/svg+xml;utf8,)

研究人员应该如何决定哪种方法最适合给定的问题?请记住以下三个注意事项:

1. 您需要了解模型的整个逻辑,还是只关心特定决策的原因?这将帮助您决定是要全局方法还是局部方法。

2. 你的时限是多少?如果用户需要快速做出决定(例如,自然灾害可能迫在眉睫,政府官员必须评估可能的反应),最好给出一个简单易懂的解读。但是,如果决策时间不是一个限制(例如,在发放贷款的过程中),人们可能更喜欢更复杂和详尽的解读。

3. 用户的专业水平是什么?预测模型的用户可能在任务中具有不同的背景知识和经验。他们可以是决策者、科学家、工程师等。了解任务中的用户体验是对模型可解读性感知的一个关键方面。领域专家可能更喜欢更复杂的解读,而其他人可能想要一个易于理解和记忆的解读。

在决定了哪种方法最能满足一个人的需求之后,研究人员如何评价我们的数据或任务的解读呢?

可解读性评估方法

目前有三种主要的方法来评估可解读性方法:基于应用、基于人和基于功能。

  1. 基于应用的评估需要人在实际应用中执行实验。例如,要评估诊断某一疾病的解读,最好的方法是医生执行诊断。
  2. 基于人的评估是关于进行更简单的人的主观实验。例如,人会面临两个解释,必须选择他们认为质量更高的解释。
  3. 功能性评估不需要人工实验。相反,它使用代理来解释质量。这种方法比前两种方法的成本低得多。当然,挑战在于确定要使用的代理。例如,决策树在许多情况下都被认为是可解读的,但需要进行额外的研究。

总结

可解读性仍然是机器学习中一个非常活跃的研究领域,这是有充分理由的。本文中调查的主要模型不可知论方法都代表着朝着更全面地理解机器学习模型迈出了一步。随着机器学习变得越来越普遍,掌握这些模型如何找到答案对于提高它们的性能和可靠性至关重要。


推荐大家阅读以下相关文章:

雷闻:AI的过去和未来:西格尔和李开复_Two Sigma_对冲基金文章翻译计划028​zhuanlan.zhihu.com图标雷闻:统计学习寻找噪音中的秩序_慕本Milburn_对冲基金文章翻译计划029​zhuanlan.zhihu.com图标雷闻:机器学习金融,行不行?_AQR_对冲基金文章翻译计划026​zhuanlan.zhihu.com图标