- 原文地址:Using What-If Tool to investigate Machine Learning models.
- 原文做者:Parul Pandey
- 译文出自:掘金翻译计划
- 本文永久连接:github.com/xitu/gold-m…
- 译者:Starrier
- 校对者:lsvih,TrWestdoor
使用 What-If 工具来研究机器学习模型html
Google 开源了一个在无需编码的状况下,便可轻松分析 ML 模型的工具。前端
好的试验能够帮助咱们更好地理解它们的模型¹android
在这个可解释机器学习的时代,人们不能仅仅知足于简单地训练模型并从中得到预测。为了可以真正产生影响和取得良好的效果,咱们还应该可以探索和研究咱们的模型。除此以外,在进行该模型以前,还应该清楚地记住算法的公平性约束和误差。ios
研究一个模型须要探索不少问题,当事者须要有侦探般的智慧去探索和寻找模型中的问题和不一致性。并且,这样的任务一般都很复杂,须要编写大量的自定义代码。幸运的是,What-If Tool 为咱们解决了这个问题,它使用户更容易、更准确地检查、评估和调试机器学习系统。git
What-If 工具 是一种用于研究机器学习模型的交互式视觉工具。缩写为 WIT,它令人们可以经过检查、评估和比较机器学习模型来理解分类或回归模型。因为它的用户友好界面和对复杂编码的依赖程度较低,开发者、产品经理、研究人员或者学生均可以经过使用它来达到目的。github
WIT 是由 Google 的 PAIR(人 + AI 搜索) 团队发布的一个开源可视化工具 。PAIR 经过 Google 将研究人员聚齐,研究并从新设计了人与 AI 系统的交互方式。web
能够经过 TensorBoard 使用该工具,也能够将其做为 Jupyter 或 Colab notebook 的拓展使用。算法
该工具的目的是为人们提供一种简单、直观和强大的方法,仅经过可视化界面就能够在一组数据上使用通过训练的机器学习模型。如下是 WIT 的主要优点。后端
在使用该工具的示例中,咱们会涵盖上述的全部要点。服务器
为了说明 What-If 工具的功能,PAIR 团队已经使用预先训练过的模型发布了一组示例。你能够在 notebook 中运行演示程序或者直接在网页运行它。
WIT 能够在 Jupyter 或 Colab notebook 中使用,也能够在 TensorBoard 网站应用程序中使用。在文档中已经对此进行了细致了的说明,我强烈建议你经过这篇短文来解释整个过程。
核心思想是,先训练一个模型,而后在测试集上使用 what-if 工具对训练的分类器的结果可视化。
你须要经过 TensorFlow 模型服务器 部署你的模型,才能在 TensorBoard 中使用 WIT,而要分析的数据必须做为 TFRecords 文件。在 TensorBoard 使用 WIT 的更多细节,能够参阅文档。
为了能在 notebook 中访问 WIT,你须要一个 WitConfigBuilder 对象,该对象指定要分析的数据和模型。这个文档为在 notebook 中使用 WIT,提供了一个慢慢学习的教程。
为了确保工做的进行,你可使用 notbook 示例,来编辑代码以此来容纳数据集。
咱们用一个示例来讨论 WIT 的功能。这个示例样原本自名为 Income Classification 的网站,咱们须要根据一我的的人口普查来预测他一年的收入是否超过 5 万美圆。数据集来源于 UCI Census dataset,由年龄、婚姻情况、教育程度等属性组成。
咱们首先对数据集进行研究。这里有一个用于后续演示的连接。
What-if 工具备两个主面板。右面板包含你加载的数据集中各个数据点的可视化内容。
在这种状况下,蓝点是模型推断收入小于 50k 的人,红点是模型推断出收入超过 50k 的人。默认状况下,WIT 使用值为 0.5 的正分类阀值。这意味着,若是模型推断分数为 0.5 或以上,该数据点就会被视为在正类(即高收入)中。
这里值得注意的是,数据集是在 Facets Dive 中进行可视化的。Facets Dive 是 PAIR 团队从新开发的 FACETS 工具的一部分,它帮助咱们理解数据的各类特性并探索它们。若是不熟悉该工具,你能够参考这篇关于 FACETS 功能的文章,它是我不就以前编写的。
人们还能够经过从下拉菜单中选择字段,以各类不一样的方式来组织数据点,包括混淆矩阵、散点图、直方图和小倍数。如下是列举的几个例子。
左面板包含三个选项卡 数据点编辑
、性能和公平性
和 特征
。
数据点编辑经过如下方式来完成数据分析:
它容许进入在右侧面板中以黄色高亮的数据点。咱们能够尝试将年龄从 53 改成 58,点击“运行”来观察它对模型性能的影响。
经过简单改变年龄,模型如今将预测这我的属于高收入类别。对于此数据点来讲,早期的正类得分为 0.473,负类得分为 0.529。然而经过改变年龄,正得分达到了 0.503。
理解模型的另外一种方式是,看看什么样的小范围更改会致使模型翻转其决策,即所谓的反事实。只要点击一下,咱们就能够看到与咱们所选定的数据点最类似的反事实(用绿色高亮)。在数据点编辑器选项卡中,咱们还看到了与原始数据点的特征值相反的特征值。绿色文本表示两个数据点不一样的特征。WIT 使用 L1 和 L2 距离来计算数据点之间的类似。
在这种状况下,最近的反事实是年龄稍大,有一个不一样的职业和资本收益,但在其它方面是相同的数据点。
咱们还可使用显示与所选数据点类似的按钮来查看所选点与其它点之间的类似性。WIT 测量从选定的点到其余每个数据点的距离。让咱们改变咱们的 X 轴跨度,来显示到选定数据点的 L1 距离。
部分依赖图(简写为 PDP 或 PD 图)显示了一个或两个特征对机器学习模型预测结果的边缘效应(J. H. Friedman 2001)。
有关年龄和教育程度的数据点的 PDP 以下:
上图代表:
这个选项卡容许咱们使用混淆矩阵和 ROC 曲线来查看整个模型的性能。
为了衡量模型的性能,咱们须要告诉工具什么是真实特征,即模型视图预测的特征在这种状况下是“超过 —— 50k”。
咱们能够看到,在默认的阀值水平 0.5 时,大约有 15% 的状况,咱们的模型是不正确的,大约 5% 的状况是假阳性,大约有 10% 的状况是假阴性。更改阀值来查看其对模型精度的影响。
能够进行调整的还有设置“成本比率”和“优化阀值”的按钮。
机器学习中的公平性与建模和预测结果同样重要。训练数据中的任何误差都会反映在训练出来的模型中,若是部署了这样的模型,那获得的结果也会有误差。WIT 能够经过考虑各类不一样的方式来帮助调查公平问题。咱们能够设置一个输入特征(或一组特征)来对数据进行切片。例如,让咱们看看性别对模型性能的影响。
能够看到该模型对女性的预测比对男性更准确。此外,该模型预测,女性的高收入远低于男性(女性为 9.3%,男性为 28.6%)。一个可能的缘由是因为女性在数据集中的表明性不足,咱们会在下一节中继续深究这个问题。
此外,此工具能够最优化两个子集间设置的决策阀值,同时考虑与算法公平性相关的诸多约束中的任何一个好比人口统计或机会均等。
特征选项卡,提供了数据集中每一个特征的汇总统计信息,包括直方图、分位数图、条形图等。该选项卡还容许查看数据集中每一个特征的值分布。例如,它能够帮助咱们探讨性别、资本收益和种族特征
咱们推断 资本收益
是极不一致的,大多数数据点都被设置为 0。
一样,大部分数据点来源于美国,而女性在数据集中没有很好的表现。由于数据有误差,其预测只针对一个群体是很天然的。毕竟,模型从所提供的数据中学习,若是数据源存在误差,那么结果必定也会有一样的误差。机器学习已经在许多应用和领域证实了它的价值。然而,机器学习模型工业应用的一个关键障碍是肯定用于训练模型的原始输入数据是否含有歧视性的误差。
这只是对一些 what-if 工具特性的简单预览。WIT 是一个很是方便的工具,它为决策者提供了探索模型的能力。简单的建立和训练模型并非机器学习的目的,理解为什么以及如何建立一个模型才是真正意义上的“机器学习”。
若是发现译文存在错误或其余须要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可得到相应奖励积分。文章开头的 本文永久连接 即为本文在 GitHub 上的 MarkDown 连接。
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。