讲座笔记 如何解释模型

这周讲座的内容是一篇2016年KDD的文章 “why should I trust you?” Explaining the Predictions of Any Classifier,作者是华盛顿大学的Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin。

最近欧盟出了一项法案:
“In the regulation of algorithms, particularly artificial intelligence and its subfield of machine learning, a right to explanation (or right to an explanation) is a right to be given an explanation for an output of the algorithm. ”
如果DNN仍然是无法解释的,那么很可能无法用于推荐等算法,因为无法向顾客解释其中的原理。

文章分为两个部分,第一个部分是如何解释一个模型的局部,第二个部分是用次模优化去解释整个模型。

一个合适的模型解释应该这样的:可以清楚地指出是哪些features对结果做出了贡献,每个features的贡献是多少,从而得出为何模型是这样预测的。
这里写图片描述

作者将他们的方法称之为LIME,Local Interpretable Model-Agnostic Explanations,先考虑局部的情况,用一个可以解释的分类器,比如说lasso或者svm等去局部逼近这个模型。原理很简单,先选定某一个的样本,附近的样本以一定权重来考虑,权重反比于其到选定样本的距离。根据这些权重样本来训练一个简单模型。可以认为这个简单模型在这个局部逼近复杂模型。
这里写图片描述
为了检验这个理论的效果,作者用这个理论去解释Inception NN。实验是对狗和狼的图片进行分类:
这里写图片描述
可以看到仅有一个错误,效果相当好,那么再看看用LIME去解释会有什么结果:
这里写图片描述
发现实际上是根据有没有雪来进行分类的,大多数人这个时候都认为这个模型是不可信的。

第二个部分是用次模优化去挑选出包含最多特征的k个预测来表现整个复杂模型的行为。

次模优化,即submodular optimization,原理很简单,每次选能够代表当前最多特征的数据加入到集合,直至包含所有特征,本质就是一个greedy的过程。

这里的例子数据集为文档,包含5个特征,john,Christ,Host,NNTP和Mary。每个特征存在于越多的文档中则它的权重越高,比如说Christ在四篇文档中出现,则它的权重为4。每个文档权重为包含特征权重之和,比如说第一个文档包含john和Christ,权重为1+4=5。那么submodular selection就是在每一步选择剩余文档中权重最大那个,第一次选文档2,第二次选文档4,依次类推。

这里写图片描述

次模优化的算法如下图所示:

这里写图片描述

作为实验,作者用次模优化挑选三十个最具代表性的样本,再讲预测的过程解释给完全没有机器学习知识的小白,让他们来判断两个模型哪个好。作为对比组,用随机挑选的三十幅图和作者自己随意猜测的三十幅图进行解释。发现随意猜测的结果最差,仅50%测试者辨别出哪个更可信,而随机挑选有接近75%,次模优化达到89%。这说明了submodular selection的确能选出最具有代表性的样本。

之后,如果测试者认为哪些样本不能很好重新解释整个模型,则去掉这些样本,重新选择新的,直至测试者认为最优。得到的新模型在另一个测试者不知道数据集上进行检测。
这里写图片描述

结果相当好,这些完全没学习过机器学习的测试者最后挑选出来的样本比作者自己人工挑选的样本要更具代表性。

这里写图片描述

潜在的问题:
这种方法仅限于在可解释的领域使用,比如说vision或bioinformatics。
这些可解释的模型是否是可信的?像Sparse linear model, decision tree等往往本身也是很不稳定的。

youtube有一个demo:
https://www.youtube.com/watch?v=hUnRCxnydCc

猜你喜欢

转载自blog.csdn.net/thormas1996/article/details/81096607
今日推荐