导读:模型可解释性技术可以向您展示您的模型正在学习什么,并且我们可以看到模型内部比大多数人期望的更有用。
在过去的10年里,我采访了许多数据科学家,模型可解释性技术是我喜欢的主题,可以将的数据科学家与普通科学家区分开来。
有些人认为机器学习模型是黑盒子,有助于做出预测,但在其他方面却无法理解;但好的数据科学家知道从任何模型中提取真实世界见解的技术。对于任何给定的模型,这些数据科学家都可以轻松回答以下问题。
模型中认为哪些特征重要?
对于来自模型的任何单个预测,数据中的每个特征如何影响该特定预测
特征之间的哪些相互作用对模型的预测产生影响大
回答这些问题比许多人意识到的更为广泛。这激发了我创建Kaggle模型可解释性微课程的灵感。无论您是从Kaggle学习技术还是从像统计学习元素这样的综合资源中学习,这些技术都将彻底改变您构建、验证和部署机器学习模型的方式。
提高可解释性有什么用?
关于模型的可解释性技术,以下是五个重要的应用方式:
调试
为模型特征构建提供信息
指导未来的数据收集
为人类决策提供建议
在人与模型之间建立信任
调试
世界上有很多不可靠、杂乱无章且数据众多的数据。在编写预处理代码时,这些数据可能成为潜在的错误源,增加目标泄漏的可能性,在实际数据科学项目中的某些时候出现错误是常态,而非例外。
鉴于错误的频率和潜在的灾难性后果,调试是数据科学中有价值的技能之一。了解模型发现的模式将帮助您确定,何时模型对现实世界的理解与您自己对现实世界的观点了解出现了不一致,这通常是追踪错误的步。
为模型特征构建提供信息
特征工程通常是提高模型精度的有效方法。特征工程通常涉及使用原始数据或先前创建的特征的转换重复创建新特征。
有时你可以只使用关于底层主题的直觉就完成这个过程。但是,当您拥有100个原始特征或缺乏有关您正在处理的主题的背景知识时,您将需要更多方向。
Kaggle竞赛中预测贷款违约的就是一个极端的例子。本次比赛有100多个原始特征。出于隐私原因,这些特征的名称类似于f1、f2、f3,而不是常见的英文名称。这模拟了一个对原始数据没有直觉的场景。
一位竞争对手发现了两个特征之间的差异,特别是在f527 - f528之间,然后创造了一个新功能。包含差异作为特征的模型远比没有包含的模型好。但是当你开始仅使用数百个变量时,你怎么能想到创建这个变量呢?
您将在本课程中学到的技巧使f527和f528成为重要特征,并且它们的角色紧密纠缠在一起。这将指导您考虑这两个变量的转换,并可能发现f527 - f528的“黄金特征”。
随着越来越多的数据集以100或1000个原始特征开始,这种方法变得越来越重要。
指导未来数据收集
对于在线下载的数据集,您并没有控制能力。但是,许多使用数据科学的企业和组织其实都有机会去扩展他们收集的数据类型。通常情况下,收集新类型的数据可能既昂贵又不方便收集,因此,只有知道确实某数据集会是有用的,他们才会去收集。
如果模型是可解释的,就可以很好地理解当前特征的价值,进而更有可能推断出哪些新型数据是有用的,从而指导未来数据的收集方向。
为人类决策提供建议
某些决策是由模型自动完成的。在亚马逊网站上不可能会有人类在你浏览网站的时候匆忙推荐给你一些东西去看,但确实很多的决定都是由人类做出的。对于这些决策,洞察力可能比预测结果更有价值。
在人与模型之间建立信任
在不验证一些基本事实的情况下,大多数人不会直接相信您的模型可以代替人类进行重要的决策。如果考虑下数据错误的频率,这会是一个明智的预防措施。在实践中,显示符合他们对问题的一般理解的见解,将有助于建立信任,即使在对数据科学知之甚少的人中也是如此。
本文改编自Kaggle Learn的模型可解释性微课程。