我们知道Responsible AI 主要分为两个方面,Interpretability 和 Fairness 。Interpretabiliy指的是算法具有一定的可解释性,Fairness指的是算法具有一定的公平性。这两个问题在笔者刚工作的时候还是比较热门的,虽然这两年它们已经渐渐不流行了,很少用了,但是笔者还是记录下之前的使用经验和心得吧。
我们知道算法中有一个准确率和可解性之间的trade off, 准确率越高的算法,解释性越差;准确率越低的算法,解释性越好。但是随着很多黑箱解释方法的诞生,这个trade off几乎被打破了。在现实业务中,可以做到算法准确率高的同时对其解释性也好。
首先介绍下白箱和黑箱,白箱和黑箱类似于软件测试领域里的白盒测试和黑盒测试。白盒测试即知道每一行的code含义,对其精确测试;黑盒测试将code当一个黑盒子,不知道里面的精确含义,使用案例对其测试。算法中的白箱是指自带可解性的算法,该类算法自身的输出过程就能让人理解,例如回归算法;而黑箱就是指不自带可解释性的算法,该类算法的输出过程复杂抽象,不能让人理解,例如神经网络算法。而其中黑箱算法的可解释性又可以分为两种,一种是全局的可解释性,针对的是黑箱算法整体的可解释性;另一种是局部的可解释性,针对每一个局部样本的可解释性。本文主要介绍下黑箱算法中的局部可解释性的一些方法。
1. Lime
Lime应该是第一个见到的方法,它的基本思想是说:在一个样本的邻域内,使用一个白盒算法去逼近黑盒算法,使得在该邻域范围内,使用该白盒算法可以解释该黑盒算法。如果非要用数学表达式表示的话(虽然被公司教