第 10 章. 使用 XGBoost测试和纠正偏差
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
本章介绍结构化数据的偏差测试和修复技术。第 4 章从不同角度讨论了有关偏差的问题,而本章则侧重于偏差测试和修复方法的技术实现。首先,我们将在信用卡数据的变体上训练 XGBoost。然后,我们将通过检查不同人口群体的性能和结果差异来测试是否存在偏差。我们还将尝试在单个观察结果层面识别任何偏差问题。一旦我们确认模型预测中存在可测量的偏差水平,我们就会开始尝试修复或纠正这种偏差。我们将采用前处理、中处理和后处理补救方法,分别尝试修复训练数据、模型和结果。在本章的最后,我们将进行具有偏见感知能力的模型选择,从而得到一个性能比原始模型更好、更公平的模型。
虽然我们已经清楚,技术测试和偏差修复并不能解决机器学习偏差问题,但它们在有效的整体偏差缓解或 ML 治理计划中仍然发挥着重要作用。虽然模型中的公平分数并不能直接转化为已部署的 ML 系统中的公平结果--原因有很多--但有公平分数总比没有好。我们还认为,测试对人进行操作的模型是否存在偏差,是从业数据科学家的一项基本而明显的道德义务。我们之前提到的另一个主题是,未知风险比已知风险更难管理。当我们知道一个系统可能存在偏差风险和危害时,我们可以尝试补救这种偏差,监控系统是否存在偏差,并应用多种不同的社会技术风险控制措施(如漏洞悬赏或用户访谈)来减轻任何潜在的偏差。
备注
本章重点讨论相当传统的分类器的偏差测试和补救,因为这是最容易理解这些主题的地方,而且许多复杂的人工智能结果往往归结为最终的二进制决策,可以用与二进制分类器相同的方式来处理。我们还将在本章中重点介绍回归模型的技术。关于如何管理多项式、无监督或生成系统中的偏差,请参见第 4 章。
在本章结束时,读者应该了解如何测试模型是否存在偏差,然后选择一个偏差较小但性能良好的模型。虽然我们承认没有解决 ML 偏差的灵丹妙药,但对于高风险应用来说,一个更公平、性能更好的模型比一个未经偏差测试或补救的模型更好。本章的代码示例可在线获取。
概念复习:管理 ML 偏差
在深入学习本章的案例研究之前,让我们先快速复习一下第 4 章中的相关主题。第 4 章中最需要强调的一点是,所有的 ML 系统都是社会技术性的,我们在本章中关注的那种纯技术性测试无法捕捉到 ML 系统可能产生的所有不同偏差问题。一个简单的事实是,在一两个数据集上测得的模型 "公平 "分数完全不能反映系统的偏差。其他问题可能来自于未代表的用户、可访问性问题、物理设计错误、系统的下游误用、对结果的曲解等等。
警告
偏差测试和缓解的技术方法必须与社会技术方法相结合,才能充分解决潜在的偏差危害。我们不能忽视自己团队的人口统计背景、用户或培训和测试数据中的用户的人口统计、数据科学文化问题(如 "摇滚明星 "的称谓)以及高度发达的法律标准,同时还期望解决 ML 模型中的偏见问题。本章主要侧重于技术方法。第 4 章试图描述一种更广泛的社会技术方法来管理ML 中的偏差。
我们必须加强技术偏差测试和补救工作,全面致力于让不同的利益相关者参与到 ML 项目中来,并坚持采用系统化的方法来开发模型。我们还需要与用户沟通,并遵守模型管理,让人类对我们实施和部署的计算机系统的决策负责。直截了当地说,这类社会技术风险控制可能比本章讨论的技术控制更重要、更有效。
尽管如此,我们还是不希望部署明显带有偏见的系统,如果我们能让技术变得更好,我们就应该这样做。减少偏差的 ML ...