不重视模型偏差?你就是给ML模型戴上有色眼镜的“元凶”
点击上方关注,All in AI中国
作者——Will Badr
在本文,我们将介绍一些工具,以方便评估和审核机器学习模型的公平和偏差。
评估机器学习模型的偏差正成为不同行业和数据研究人员共同关注的焦点。模型公平性是机器学习中一个相对较新的子领域。过去,对偏差的研究是通过分析人为驱动决策以及这些决策背后的理由/原理而产生的。因为当初我们使用机器学习预测模型是为了帮助不同行业的人做出决策,比如保险业和银行业。我们需要实施策略来确保这些模型的公平性,并检测/预测过程中可能出现的偏差(带有歧视性的)行为。
随着机器学习模型变得越来越复杂,解释它们变得越来越困难。预测模型通常是一个黑盒函数,它通过一个确定的输入(x)输出一个预测(y)。在这里,我们举例说明,假设一家保险公司希望使用一个预测模型来衡量客户所能带来的回报/风险。输入(x)可以包括种族、年龄、性别、民族、教育程度和收入等特征或属性。他们可以根据模型的预测结果来决定是否要求客户支付更高的保险费(从而规避风险)。这样做对美国的银行和金融业而言,是违法的,因为它违反了《平等信贷机会法》(公平贷款),其原因在于怕承担风险而不批准那些符合信贷要求的申请人。
随着人们对预测模型的大量使用,我们发现了一些问题。尤其在银行贷款、信誉、就业等方面的问题甚至有些"尖锐",所以我们现在要做的是重修审核,并弄清楚这些模型为何会做出某种决策,并争取在设计初期就做好公平方面的建设。在本文中,我将讨论5个工具,它们可用于探索和审核预测模型的公平性。
1- FairML:
FairML是一个用python编写的工具箱,用于审核机器学习模型的公平性和偏差。这是一种相对简单的用来量化模型输入重要性的方法。它使用四种输入排序算法来量化模型中输入(x)和预测(y)的相对关系。
源自:https://github.com/adebayoj/fairml
对于安装和演示代码,你可以参考库Github repo:https://github.com/adebayoj/fairml。
2- Lime
Lime是一个开源项目,旨在解释机器学习模型是如何工作的。Lime的伟大之处在于它可以解释多种机器学习或深度学习模型。具体来说,它能解释文本分类、多类分类、图像分类和回归模型。
下面是一个通过Lime来理解和探索预测模型是如何做出决策的快速演示。在本例中,我训练了一个包括20类新闻数据集的文本分类器。下面的文本被分类为com .windows.xcategory。
现在,让我们使用 Lime 来探究这篇文章中哪些具体的词语让预测模型做出了这个决定。换言之,我们要找到哪些词语在预测模型"心中"更有"分量"。
正如你所看到的,客户端、应用程序这两个词具有极大的权重。 让我们来做个小实验。我打算从上面的文字中去掉这两个词,再加上另外一个词,然后再试着预测。
你可以看到,"space"这个词让预测产生了偏差,完全改变了之前的结果,尽管文本的其他处仍然是相同的。
要理解代码是如何工作的,你可以参考下面链接中的代码库和示例代码:https://github.com/marcotcr/lime。
3- IBM AI Fairness 360
AI Fairness 360是一个开源的库,它使用一组偏差缓解算法来检测并缩小机器学习模型中的偏差。这个库非常全面,有一套相对详细的偏差评估标准。
开发人员创造了一种较新互动的体验(http://aif360.mybluemix.net/data),通过AI Fairness 360你可以看到评估的标准并测试部分功能。
他们还创建了一个Guidance Material(http://aif360.mybluemix.net/resources#guidance),提醒你在一些特定案例中哪些指标是必不可少的(https://github.com/IBM/AIF360)。
这个库依赖的缓解偏差算法主要有三个:
1).Optimized Preprocessing (Calmon et al., 2017):提出了一种学习数据转换的优化方法。该方法主要有三方面:控制偏差、限制单个数据样本的失真、效用的保留(http://papers.nips.cc/paper/6988-optimized-pre-processing-for-discrimination-prevention)。
2).Disparate Impact Remover (Feldman et al., 2015)(https://doi.org/10.1145/2783258.2783311)
3).Equalized Odds Postprocessing (Hardt et al., 2016)
(https://papers.nips.cc/paper/6374-equality-of-opportunity-in-supervised-learning)
4- SHAP
Shap通过将博弈论与局部解释相结合,可以解释任何机器学习模型的输出。它使用了"漂亮的"JS可视化来解释模型。
有关详细说明及指引,请参阅以下链接:https://github.com/slundberg/shap
5- Google What-If Tool
微笑检测示例
谷歌的WIF是一个tensorboard插件,通过它你可以了解黑盒分类或回归机器学习模型。它支持多种演示、交互式体验等方式(https://github.com/tensorflow/tensorboard/tree/master/tensorboard/plugins/interactive_inference)。
总之,ML模型中的任何偏差都是由于注释数据人员存在某种错误认知,或者是科研人员对数据的调查不够详实,以及数据本身缺少某种必要特征让数据不够完美等多种情况造成的。
未能捕捉这些特征并概括数据来训练模型,可能会导致模型偏差。有偏差的机器学习模型可能会做出不公平/有偏见的决策,从而影响用户。因此,相关负责人应该集中精力检测他们开发的模型中是否存在偏差,这一点非常重要。
编译出品