What-if工具:无需编码即可分析模型

全文共2910字,预计学习时长10分钟

What-if工具:无需编码即可分析模型

图片来源:Pexels网站

好的机器学习专家犹如侦探,会通过不断探索去更好地理解模型。

在这个可解释解读的机器学习时代,仅训练模型并从中获得预测是不够的。为了能够真正产生影响并获得好的结果,还要探索并分析模型。除此之外,继续使用模型前还要清楚地记住算法公平性的限制和偏差。

研究模型需要提出很多的问题,还需要具备侦探般的敏锐以探索并寻找模型中的问题与矛盾。此外,这样的任务通常很复杂,需要编写很多自定义代码。幸运地是,What-if工具的出现解决了这个问题,它的出现帮助大量工作人员更容易且准确地检查、评估并排除机器学习系统中的故障。

What-if工具:无需编码即可分析模型

What-if工具(WIT)

What-if工具:无需编码即可分析模型

What-if是一款旨在研究机器学习模型的交互式可视化工具,其缩写为WIT。通过人们对机器学习模型的的检查、分析和对比,这款工具会对分类模型或回归模型的理解有所帮助。由于其用户友好界面以及无需依赖复杂编码,从开发者到产品经理、研究者或学生,每一个人都可以使用这款工具达到自己的目的。

WIT是谷歌在PAIR(People+AIResearch)计划指导下发布的一款开源可视化工具。PAIR计划聚集了谷歌的研究人员,学习并重新设计人类与人工智能系统的交互方式。

该工具可以通过TensorBoard网页使用,也可以通过Jupyter或Colab笔记本扩展工具访问。

优点

该工具旨在为人们提供一种简单、直观且功能强大的方式,仅通过一个可视化界面在一组数据上使用一款训练有素的机器学习模型。以下是WIT的主要优点。

1. 在同一工作流程中比较多种模型

2. 可视化推断结果

3. 依据相似度排列数据点

4. 编辑一个数据点并观察模型的执行过程

5. 将反事实与数据点对比

6. 使用特征值探测模型性能

7. 使用混淆矩阵和ROC曲线进行试验

8. 检测算法公平性限制

What-if工具:无需编码即可分析模型

你能用What-if 工具做什么?

使用该工具的示例演示中将涵盖以上所有优点。

演示案例

为说明What-if工具的功能,PAIR团队使用预先训练好的模型发布了一组演示案例。这些演示案例可以在笔记本中或直接访问网页运行。

用What-if工具试一遍吧!

What-if工具:无需编码即可分析模型

用法

WIT可以在Jupyter或Colab笔记本中使用,也可以在TensorBoard网页应用中使用。文档中已经很好地清晰解释了这一点,强烈推荐仔细阅读文档,因为仅凭这篇简短的文章是不可能解释清楚整个过程的。下面我们将通过这个过程来阐述:首先训练一个模型,然后使用What-if工具可视化已训练的分类器中测试数据的结果。

通过TensorBoard网页使用WIT

若要在TensorBoard网页中使用WIT,需要TensorFlow模型服务器提供模型,要分析的数据必须在磁盘中以TFRecords文件保存。更多细节请参阅TensorBoard网页中有关WIT使用的文档。

通过笔记本使用WIT

若要在笔记本中使用WIT,需要一个WitConfigBuilder对象指定要分析的数据和模型。下面的文档提供了在笔记本中使用WIT的逐步概述。

What-if工具:无需编码即可分析模型

也可以使用demo笔记本编辑代码以包含数据集,然后开始操作。

What-if工具:无需编码即可分析模型

演示

现在用一个例子探测一下WIT工具的能力。这个例子来源于网站提供的演示案例,叫做收入分类。基于人口普查信息,预测一个人的年收入是否超过5万美元。数据集属于UCI人口普查数据集,其中包含大量特征如年龄、婚姻状况以及教育程度。

概览

先从探索数据集开始吧。

What-if工具包含两个主要界面。右侧界面包含已加载数据集中每个数据点的可视化结果。

What-if工具:无需编码即可分析模型

在这个例子中,蓝点表示模型推断年收入低于5万美元的人,红点表示模型推断年收入高于5万美元的人。默认情况下,WIT的正分类阈值为0.5。这意味着如果推断结果大于或等于0.5,这个数据点就被认为属于正分类中,比如高收入。

在此,很有意思的是数据集在FacetsDive中被可视化。FacetsDive是PAIR团队开发的Facets’工具的一部分,它帮助用户理解数据的各种特征并进行探索。

你还可以通过在下拉菜单中进行字段选择,以多种不同方式组织数据点,比如混淆矩阵、散点图、柱状图以及小倍数绘图。下图展示了几个例子。

What-if工具:无需编码即可分析模型

What-if工具:无需编码即可分析模型

左侧界面包含三个选项卡,分别是Datapoint Editor(数据点编辑器)、Performance & Fairness(模型性能与机器学习公平)和Features(特征)。

1. DatapointEditor(数据点编辑器)选项卡

数据点编辑器选项卡通过如下方式帮助执行数据分析:

· 观察并编辑数据点详细信息

它允许用户研究右侧界面上以黄色高亮显示的一个选定的数据点。试着将年龄从53改为58,然后点击“运行推断”按钮以观察它对模型性能的影响。

What-if工具:无需编码即可分析模型

仅以改变这个人的年龄,该模型现在预测此人属于高收入类别。对此数据点,早期正(高收入)分类推断值为0.473,负(低收入)分类得分为0.529。然而,改变年龄后,正分类值变为0.503。

· 寻找最接近的反事实

理解模型行为的另一种方式是查看哪些微小变化会导致模型颠倒其决策,这被称为反事实。只需单击一下,就可以看到与所选数据点最相似的反事实,且以绿色高亮显示。在数据点编辑器选项卡中,还能看到原始数据点特征值旁边的反事实特征值。绿色文本代表两个数据点特征上的不同之处。WIT使用L1和L2距离计算数据点之间的相似性。

What-if工具:无需编码即可分析模型

在这种情况下,最接近的反事实稍大,而且有着不同的工作和资本收益,但其它方面都相同。

还可以使用“显示与所选数据点的相似性”按钮来查看所选点与其它点之间的相似性。WIT测量从选定点到每个其它数据点的距离。可改变X轴以显示到所选数据点的L1距离。

What-if工具:无需编码即可分析模型

· 分析部分依赖图

部分依赖图(短PDP或PD图)显示了一或两个特征对机器学习模型预测结果的边际效应(J.H. Friedman 2001)。

以年龄和教育为数据点的部分依赖图如下:

What-if工具:无需编码即可分析模型

上图显示:

· 该模型已得知年龄与收入之间的正相关关系。

· 学历越高,模型对高收入越有信心。

· 高资本收益是高收入的一项重要指标,远超其他任何一项特征。

2. Performance & Fairness(模型性能与机器学习公平)选项卡

此选项卡允许用户使用混淆矩阵和ROC曲线查看整体的模型性能。

· 模型性能分析

为检测模型性能,需要告诉工具什么是基础事实特征,比如,模型试图预测此例中哪个是“Over-50K(超过5万美元)”这一特征。

What-if工具:无需编码即可分析模型

由上图可看到,默认阈值为0.5时,约15%的时候模型是不正确的,约5%的时候是假正分类,10%的时候是假负分类。改变阈值看看对模型准确性的影响。

还有“成本比”设置和“优化阈值”按钮,二者都可以进行微调。

· 机器学习公平

机器学习的公平性与模型构建和预测结果同样重要。训练数据中的任何偏差都会反映在训练的模型中,如果配置了这样的模型,最终结果输出也会有偏差。WIT能以不同方式帮助研究公平问题。其中一个方法就是设置一个输入特征(或一组输入特征)用以切片数据。举个例子,一起看看性别对模型性能的影响。

What-if工具:无需编码即可分析模型

性别对模型性能的影响

通过上图可以看到该模型对女性的准确性高于男性。而且,该模型预测女性的高收入远低于男性(女性占9.3%,男性占28.6%)。一个可能的原因可能是数据集中女性代表性不足。

此外,该工具可以最优设置两个子集的决策阈值,同时考虑与算法公平性相关的诸多限制中的任何一个,如人口统计或机会均等。

3. Features(特征)选项卡

特征选项卡提供数据集中每个特征的摘要统计信息,包括柱状图、分位数图、条形图等。此选项卡还可以查看数据集中每个特征下值的分布情况。举个例子,探索一下性别、资本收益和种族特征。

What-if工具:无需编码即可分析模型

推测出capital gain资本收益非常不均匀,大多数数据点都被设置为0。

What-if工具:无需编码即可分析模型

原籍国分布 性别分布

同样地,大多数数据点属于美国,而女性信息在数据集中没有很好地被表示出来。由于数据存在偏差,因此只针对一组数据进行预测是很不正常的。毕竟模型从提供的数据中学习,如果数据源有误差,结果也会出现误差。机器学习已在诸多应用和领域中得到了证明。然而,机器学习模型在工业上的应用所面临的主要障碍之一是决定用于训练模型的原始输入数据是否包含歧视性误差。

What-if工具:无需编码即可分析模型

留言 点赞 关注

我们一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

相关推荐