zoukankan      html  css  js  c++  java
  • 李宏毅机器学习课程笔记-11.4模型无关的局部解释(LIME)

    模型无关的局部解释(Local Interpretable Model-Agnostic Explanations,LIME)指使用一个Interpretable Model拟合一个Uninterpretable Model的局部,比如使用Linear Model或者Decision Tree模拟Neural Network。

    具体来讲,对于局部范围内的相同输入,我们希望两个模型的输出尽可能接近。这里要重点强调局部范围的概念,因为实际上Linear Model并不能模拟整个Neural Network但却可以模拟其中的一个Local Region,这也是LIME可行的原因。

    案例:使用Linear Model拟合Neural Network

    1. 定位:确定需要解释的data point(下图5个蓝点中最中间的蓝点)

    2. 取样:在上一步确定的data point周围sample获得更多的data point(下图5个蓝点)

      sample的范围需要根据情况调整,一般范围小则拟合得更准确

      sample的方法不同,结果也会不同

    3. 拟合:使用Linear Model模拟上一步确定的data point及其对应的Neural Network输出

    4. 解释:对Linear Model进行解释,进而解释Neural Network的局部

    img

    案例:LIME For Image Classification

    如何将LIME应用到Image Classification呢?假设有一张图片被分类为frog,下面只讲一些关键点。

    • 如何进行sample?

      首先可以将图片分成多个segment:({s_1,s_2,dots,s_n}),随机去除其中的一些segment就可以得到该图片“周围”的一些图片

    • 将LIME应用于图片时,一般要进行Feature Extraction,那如何做呢?

      使用(x_i)表示图片中的每个segment是否被删除,其中(i=1,...,n),若(x_i)为1则表示该segment被删除,否则表示该segment未被删除

    • 如何解释Linear Model?

      设Linear Model为(y=w_1x_1+..+w_nx_n)(w_i)的值有以下3种情况

      • (w_iapprox 0)表示(s_i)对分类为frog没有影响;
      • (w_i> 0)表示(s_i)对分类为frog具有正面影响,即这个segment使得模型倾向于将图片分类为frog
      • (w_i<0)表示(s_i)对分类为frog具有负面影响,即这个segment使得模型倾向于认为该图片不是frog类别

    Tree Regularization

    理论上可以用无深度限制的Decision Tree拟合完整的Neural Network,但Decision Tree的深度不可能没有限制,因此在使用Decision Tree拟合Neural Network时需要对Decision Tree的复杂度进行约束。

    设Neural Network的参数为( heta)、Decision Tree的参数为(T_ heta),使用Decision Tree的平均深度表示其参数(T_ heta)的复杂度(O(T_ heta))。在使用Decision Tree拟合Neural Network时,不仅要使两者输出相近还要使(O(T_ heta))最小化,因此优化目标为( heta^*=arg { m min} L( heta) + lambda O(T_ heta))

    因此我们在训练神经网络时就可以使用Tree Regularization使得训练出的神经网络更具有可解释性(O(T_ heta))不能微分,解决方法详见《Beyond Sparsity: Tree Regularization of Deep Models for Interpretability》。


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    Jupyter notebook 读取文件的问题
    机器学习-数据清洗和特征选择
    机器学习-逻辑回归
    Java教程
    13.并发编程
    redis 实现
    CyclicBarrier介绍
    Future模式衍生出来的更高级的应用
    并发编程 futuretask
    整理POST请求方式
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14696385.html
Copyright © 2011-2022 走看看