学习笔记——可解释性的机器学习

简介: 学习笔记——可解释性的机器学习

Why we need Explainable ML?

  • 用機器來協助判斷履歷

具體能力?還是性別?

  • 用機器來協助判斷犯人是否可以假釋

具體事證?還是膚色?

  • 金融相關的決策常常依法需要提供理由

為什麼拒絕了這個人的貸款?

  • 模型診斷:到底機器學到了甚麼


不能只看正確率嗎?想想神馬漢斯的故事

  • Goal of ML Explanation ≠you completely know how the ML model work
  • Human brain is also a Black Box!

People don’t trust network because it is Black Box, but you trust the decision of human!


一、Local Explanation:Explain the Decision


方法1:

image.png

基本的思想是:将一个对象切割成许多份,然后查看这每一个组成部分对决策的重要性。大致的做法是,删除或修改组件的值,观察决策的变化。如果发生比较大的数值改变,就说明当前的这个组件是比较重要的。


方法2:

遮挡图像的某个位置,然后得到不同的输出结果。如果结果变动较大,则说明遮挡的位置比较重要。折腾的大小,颜色是需要自己设定的。

image.png


1.Saliency Map

image.png

通过改变每一个像素点,得到输出的改变,求其梯度,如果数值比较大就说明当前的这个改动的像素点占比较重要的位置,梯度也会增大。利用以上的数学表达式,可以求解出其重要程度,然后再根据这个数据,对每个位置绘制出一个关注度图。

image.png

但是这种通过计算梯度的变化的方法来计算哪一个segment是重要还是不重要是有问题的,因为会出现Gradient Saturation梯度饱和的情况。

image.png

有两个方法可以解决梯度饱和的这个问题:


  • DeepLIFT(https://arxiv.org/abs/1704.02685)
  • Integrated gradient (https://arxiv.org/abs/1611.02639)

而且,这个中可解释性的方法是可能被攻击或者是误导的。

image.png

通过以上的方法可以得到图像中哪些地方是比较重要的,但是,如果对图像添加上一些噪声,机器可能就不是根据原有的卡车的位置的像素点去判断其为一辆卡车,而可能是根据一朵云判断其为一个卡车,这就是噪声对机器进行了误导判断,也可以说是一种误导的攻击。但是,分类的结果是没有改变的,而人也没有看出变化。


所以explanation这样的技术有可能是被恶意攻击的。


李宏毅老师实例验证了下Saliency Map的作用,想看他能否分辨数码宝贝与神奇宝贝,训练了3个epoch之后的正确率达到了98%+,但是结果却是因为两种数据集的图像格式不一样,一个是png没有背景,一个jpeg有背景,所以其实机器什么也没有学到,只是根据背景是不是黑色的,来判断出是哪一种数据集。


二、GLOBAL EXPLANATION:EXPLAIN THE WHOLE MODEL


如何知道机器以为的某一件样品是长什么样子的呢?


1.Activation Minimization

image.png

以手写数字为例,当我们想知道机器认为什么样的图片是一个数字5,那么此时就使得相对应的输出值最大便可。但是,这么操作会得出左图这样的噪声,为了使其看起来想一个数字,想要额外的做一些限制,比如不能出现这么多的白边等等。限制条件为R(x)


其他一些限制条件比较充足的例子:

image.png


2.Constraint from Generator

20210715155357497.png

现在换一个策略是:现在有一个已经train好的分类器,可以输出是狗的概率是多少,而现在想从一个分布中输入生成器,通过生成器来生成一张图片;再通过这个分类器。现在想要限制生成器,让其使得分类器输出狗的概率越高越好,从而便得到了机器认为的分布z是什么样子的。


三、USING A MODEL TO EXPLAIN ANOTHER


1.Local Interpretable Model-Agnostic Explanations (LIME)

思路:有些模型更容易解释。使用可解释的模型来模仿不可解释的模型


使用可解释模型来模仿不可解释模型的行为。Local Interpretable Model-Agnostic Explanations (LIME)

image.png

但是,线性模型的能力有限,不能模仿神经网络,但尽管如此,它可以模仿局部区域。

image.png

但对于第二步中在附近sample的区域不同,得到的结果也会不同。所以需要适当的调整。


对于图像来说,具体的流程算法如下所示:

image.png

将图片分割成对个小区域,然后随机删除一下来计算仍然是青蛙的概率

image.png

其中M是取决于图像被切割分成了几类

xm=0代表了该区域被删除,xm=1代表了该区域还存在

然后通过Extract辅助降维,再通过Linear拟合前述那个黑箱的结果,尝试解释。

也就是将图像变成一位向量,再去拟合原结果。

image.png

如此可以得到一些连的区域权值值。


  • If 𝑤-≈0:该区域对于判断这张图片是不是青蛙而已不太重要
  • If 𝑤-is positive :该区域对于判断这张图片是不是青蛙有正向的影响,存在某种映射关系
  • If 𝑤-is negative:该区域对于判断这张图片是不是青蛙有反向的影响,也就是认为不是青蛙


结论:


Lime这个技术,可以知道说对一个image的classifier而言,哪些区域是比较重要的,而哪些区域是对结果没有说明影响的。


2.Decision Tree

除了linear的model以外,还有其他的选择,决策树也可以。

image.png

同样的,使用决策树也存在一个问题,那就是不希望这个决策树的深度太深。

image.png

目录
相关文章
|
5月前
|
机器学习/深度学习 数据可视化 算法
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
597 1
|
5月前
|
机器学习/深度学习 算法 数据可视化
可解释性机器学习:基于随机森林和Ceteris-paribus的乳腺癌早期诊断研究
可解释性机器学习:基于随机森林和Ceteris-paribus的乳腺癌早期诊断研究
275 1
|
5月前
|
机器学习/深度学习 算法 数据可视化
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
1246 1
|
5月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
257 0
|
4月前
|
机器学习/深度学习 数据可视化 Python
机器学习模型的解释性与可信度问题
【6月更文挑战第5天】在数据驱动的时代,机器学习模型的解释性和可信度至关重要。当面对类似黑匣子的复杂模型时,如何解释预测结果成为挑战。科学家通过特征重要性和模型可视化技术来提升解释性。例如,使用"特征重要性"评估各特征对预测的贡献,结合"模型可视化"展示决策过程。提供的Python代码示例展示了如何计算特征重要性并用图形化方式理解模型行为,以增强模型的信任度。
48 1
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
模型可解释性在AI和机器学习中至关重要,尤其在金融、医疗和司法等领域。
**模型可解释性在AI和机器学习中至关重要,尤其在金融、医疗和司法等领域。它建立信任、揭示偏见、辅助错误排查和满足法规要求。方法包括使用直观模型、局部解释器(如LIME)、全局工具(如PDP、SHAP)及神经网络和注意力机制的可视化。可解释性结合领域知识和伦理,推动透明智能系统的构建。**
37 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
模型可解释性在AI和机器学习中至关重要,尤其在金融、医疗和司法等领域。
【6月更文挑战第28天】模型可解释性在AI和机器学习中至关重要,尤其在金融、医疗和司法等领域。它建立信任、揭示偏见、辅助错误排查和满足法规要求。方法包括使用简单模型、局部解释(如LIME)、全局解释(如PDP、SHAP)、模型可视化和注意力机制。通过跨学科研究,兼顾效率与透明度,打造可信的智能系统。
36 0
|
5月前
|
机器学习/深度学习 算法 数据可视化
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
145 0
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
下一篇
无影云桌面