机器学习可解释性(一)
机器学习可解释性(二) 之 可解释模型
机器学习可解释性(三) 之模型无关方法
机器学习可解释性(四) 之 shap

文章目录

  • what: 什么是可解释性(interpretability)
  • why: 为什么需要可解释性
  • how:如何进行可解释性分析
  • self-thinking:个人理解

Kaggle Notebook GM 排名第二的 Dan Becker 在他的推送 What 70% of Data Science Learners Do Wrong 中特意提到了一点:

Learn how to interpret model output. For example, you need to understand measures of model accuracy to know if you can trust a model. Learn machine learning explainability techniques, like permutation importance.

这位大佬目前在kaggle上开源了180+个专家级别的notebook。那么受到这么重量级人物推荐的 模型可解释性 到底是何方神圣,我们就来一探究竟。

what: 什么是可解释性(interpretability)

可解释性是以一种人类可理解的方式将特征值与模型预测联系起来,使人们能够认可模型预测结果。通俗一点说,就是把原本黑盒的模型变得透明化,使有经验水平的用户都可以明白模型的含义。

机器学习模型的可解释性越高,人就越容易理解为什么做出某些决策或预测。如果一个模型 的决策比另一个模型的决策能让人更容易理解,那么它就比另一个模型有更高的解释性。

但这里要注意一点,假设有一个包含成千上万neuron的神经网络,对其进行可解释性分析需要细致地探究到每一个neuron如何传播吗?其实不然。可解释性不需要知道网络里面的每一个数字,每一个矩阵,每一个激活函数。这里又要引出第二个问题,那就是我们为了什么需要可解释性。

why: 为什么需要可解释性

对于一个运行良好的机器学习模型,除了知道模型的预测是什么(例如,客户流失的概率或某种药物对病人的疗效),还会涉及到模型为什么做出这样的预测。

考虑一个哈士奇与狼分类器的例子,分类器将一些哈士奇误分类为狼。使用可解释的机器学习方法,你会发现错误分类是由于图像上的雪造成的。分类器学会了使用雪作为一个特征来将 图像分类为狼,这对于在训练数据集中分离狼和哈士奇可能是有道理的,但在实际使用中则不然。

对于模型的可解释性分析可以在一定程度上帮助人们更好的理解模型行为,有时候为了解释预测结果甚至可以牺牲预测性能。

进行可解释性分析,在建模阶段,可以辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,可以向业务方解释模型的内部机制,对模型结果进行解释。比如银行信用评分模型,需要向未通过的申请者解释为何拒绝他们的申请。

对于可解释性的需求,可以大致归结于如下两个方面:

  • 渴望获取知识(学习能力):如果模型仅给出预测而没有解释,那么我们无法捕获到模型从数据中获取的知识。

  • 渴望找到事物不一致的原因(好奇心):如果机器学习模型拒绝了贷款申请,对于申请者来说,他们需要知道为什么结果与预期不一致。

当然,并非所有情况下模型都需要可解释性:

  • 在低风险的环境中使用的模型不需要,因为即使结果错误也不会造成严重后果(如电影推荐系统)
  • 已经被广泛研究和评估的方法 (例如,光学字符识别 OCR) 也不需要

how:如何进行可解释性分析

在介绍如何进行可解释性分析之前,需要了解一个很有干扰性的概念:算法透明度

  • 算法透明度:指算法如何从数据中学习模型,以及它可以学习到什么样的关系 —> 是对算法如何工作的理解。
    如线性模型的最小二乘法等算法已被深入地研究和理解,它们的特点是透明度高。 深度学习方法 (通过具有数百万权重的网络推动梯度) 不太容易理解,对其内部工作机制的探究是当前的研究重点,它们被认为是低透明度的。
  • 模型可解释性:是对最终学习的特定模型的理解 —> 是对数据和学习模型的理解。

了解了两者的区别后,进行可解释性分析时,需要着重关注如下两点:

  • 全局层面:对于训练好的模型,哪些特征是最重要的或者是不重要的 —> 特征重要性。
    全局的模型可解释性有助于基于特征理解目标结果的分布
  • 模块层面:特征是如何影响该模型的预测过程。
    对于线性模型,可以通过特征的权重来定量的衡量每个特征对最终预测结果的影响程度,对于树来说,可以借助分裂节点和叶节点预测。

该部分的介绍会穿插在下面的两类方法中。

关注上述两点时,根据可解释性方法的作用阶段,可以分为:

  • 本质 (intrinsic): 通过限制机器学习模型的复杂性 (训练阶段) —> 采用结构简单的具有可解释性的机器学习模型,如单颗决策树模型、线性模型。

  • 事后 (post-hoc): 在训练后通过分析特征输入和输出解释模型 (预测阶段)—>采用与模型无关的解释方法,如置换特征重要性、特征依赖图。

关于 可解释的模型模型无关方法,后续会分别介绍。

在关注 特征是如何影响模型预测 时,根据可解释性方法的使用范围,可以分为:

  • 局部:解释特征对于单个实例预测结果的影响。
  • 全局:解释特征对于整个模型预测结果的影响。

对于一组实例预测的解释,可以将其视为一个完整的数据集,使用全局方法分析;也可以对每个实例使用单独的局部解释方法,然后为整个组列出其结果或对结果进行聚合。所以在上面不单独列出。

该部分的介绍会穿插在基于模块层面的介绍中。

self-thinking:个人理解

对于模型可解释性的需求在深度学习领域格外突出。试想某天无人驾驶车真的可以上路了,你真的会放开方向盘在车里刷手机吗?只有当人们可以去解释其背后的算法,才能建立起人们与模型之间的信任。否则就只能靠漫长的实践去证明。就像第一次使用支付宝时,大家都曾有过质疑:转进去的钱安全吗?最后阿里用时间证明了一切。

最后,想要成为一个高级算法研究人员或者开发人员,理解模型的行为一定是绕不开的一环。希望我们都早日成为自己崇拜的那个人。

机器学习可解释性(一)相关推荐

  1. 机器学习可解释性工具箱XAI

    http://blog.itpub.net/29829936/viewspace-2600454/ XAI是Github上的一个机器学习可解释性工具箱.XAI包含多种分析和评价数据和模型的工具.XAI ...

  2. 博弈论夏普利值!提高机器学习可解释性的新方法!

    全文共7141字,预计学习时长21分钟 图源:Unsplash 从"约翰•纳什"到"板球世界杯" 还记得<美丽心灵>的男主(也是现实生活中传奇的一代 ...

  3. ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测?

    ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测? 目录 机器学习可解释性之部分依赖图之每个特征如何影响您的预测? Partia ...

  4. 归因分析笔记5:机器学习可解释性

    目录 可解释的机器学习 从宏观业务流程看可解释机器学习 使机器学习可解释两种方法 可解释性的范围 模型不可知的全局方法 排列特征重要性(模型依赖) 模型不可知的局部方法 Shapley 值 Shapl ...

  5. 机器学习可解释性(二) —— 类激活映射(CAM)

    # 机器学习可解释性(二)--类激活映射(CAM) 文章目录 1.序言 2.方法介绍 2.1 CAM 2.2 GradCAM 2.3 GradAM++ 2.4 LayerCAM 3.算法实现 3.1 ...

  6. 机器学习可解释性(一) —— 累积局部效应图(ALE)

    一.序言 深度学习的"黑盒"特性如今越来越让计算机工作者困扰,因此模型的可解释性问题在近些年越来越受到人们的关注.作为该领域的萌新,我开始一点点学习相关领域的内容,参考的书籍是:& ...

  7. XAI/ML:机器学习可解释性之模型洞察之为什么以及什么时候你需要洞察力?

    XAI/ML:机器学习可解释性之模型洞察之为什么以及什么时候你需要洞察力? 目录 Why and when do you need insights? 1.What Types of Insights ...

  8. 1200+标星,3千多人点赞,这本书让你系统了解机器学习可解释性丨开源免费阅读...

    郭一璞 发自 凹非寺  量子位 报道 | 公众号 QbitAI 机器学习的黑箱性一直让很多人感到头大. 对许多技术人员来说,机器学习在出现问题的时候,总会让人一头雾水,搞不清楚具体是哪里出了问题. 而 ...

  9. 【文献翻译】综述:机器学习可解释性

    原文链接:Review Study of Interpretation Methods for Future Interpretable Machine Learning Abstract 近年来,黑 ...

最新文章

  1. 黄家懿:河北高校邀请赛 -- 二手车交易价格预测决赛答辩
  2. inline-block各浏览器兼容以及水平间隙问题解决方案
  3. TokuDB介绍——本质是分形树(一个叶子4MB)+缓存减少写操作
  4. 深圳学校积分计算机,深圳小学入学积分多少才够
  5. 天联高级版客户端_金万维天联高级版服务器安装配置全流程以及客户端登录流程...
  6. 【渝粤教育】国家开放大学2018年春季 7218-22T医学伦理学(本) 参考试题
  7. 用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历
  8. 浅谈NB-IoT应用场景及方案
  9. 中文编程对中文编程是否是一枚银弹
  10. 国科大学习资料--操作系统(杨力祥)--2015年思考题(含解答)
  11. 被公司解雇怎么维护自己的权益看看这几部法《劳动法》《劳动合同法》及《劳动合同法实施条例》
  12. c语言编写的车道线检测程序,opencv车道线检测的实现方法
  13. 笔记本设置WiFi热点命令操作
  14. qt 批量裁剪图片_照片变素描,不用下载App,好用的在线图片处理及图库
  15. C++ GUI Programming with Qt4 Second Edition 之 附录A.2 Windows系统Qt的安装
  16. 记一次wordpress博客搬家方法(无损快速搬家)
  17. BeyondCompare使用
  18. t420i升级固态硬盘提升_给自己的办公设备大升级:购入雷克沙固态移动硬盘,享受高速...
  19. 产品用户手册难写在哪里?
  20. 微信小程序运营怎么做?技巧盘点

热门文章

  1. Android开发真等于废人?全网独家首发!
  2. 宝塔面板 存储型xss 弹弹弹
  3. 阿里云服务器镜像是什么?镜像系统怎么选择?
  4. 保证计算机网络的稳定运行,[计算机如何连接网络]浅谈如何提高计算机网络的可靠性...
  5. WORD中的自动编号实例详解(多图)
  6. 阿里钉钉数亿元战略投资蓝凌 加速智慧办公落地
  7. 戴尔 成铭3980台式计算机,高性能商务办公体验 戴尔成铭3980台式机评测
  8. MindSpore图片分类之LeNet网络池化和全连接
  9. 网络协议基础01-七层网络协议
  10. 使用pinyin4j获取汉字拼音首字母或全拼