Explainable

探讨了可解释性在机器学习中的重要性,区分了局部解释与全局解释的概念,以及如何通过不同技术实现模型的可解释性,包括特征重要性分析、激活最小化、决策树和模型解释器等。

Explainable/Interpretable ML

两种类型

  • Local Explanation
    Why do you think this image is a cat?
  • Global Explanation
    What do you think a “cat” looks like?

Point of Explainable ML

  • 解释Ml的目的并不是完全的知道Ml model 的工作原理
    • 人类的大脑同样是一个黑盒子
    • 不相信训练网络因为它是黑盒子, 但是人们相信人类的判断
  • ML Explanation的目标是让你觉得理解, 对不同的人有不同的解释

Interpretable v.s. Powerful

  • 一些模型是容易被解释的,
    • 例如,linear model 从权重可以知道feature的重要性
  • 深度学习不容易被解释
    • 黑盒子
    • 但是比linear model 更加powerful
  • desision tree
    • 可以被解释, 同时powerful?
    • 然而很多时候,tree是很复杂的, 我们用的是forest, 无法完全解释它。

Local Explanation

components 拿掉或者改动, 这个coponents 对结果的改变影响很大, 这就是重要的component
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
移动灰色方块, 灰色放在蓝色部分辨识狗狗几率变小, 红色部分, 机器辨识度高。这方法要小心方块的大小。方块颜色也要选择。画saliency map,通过, 改变x向量,计算gradient, 看哪些grdient 比较大, 计算哪些pixcel 比较重要,每个点的亮度表示,yk对xn的偏微分绝对值
在这里插入图片描述在这里插入图片描述
其他方法gradient 有时会遇到瓶颈, 可以使用右边2种方法。

interpretation 同样可以会被attack, 一些杂讯会使saliency变化很大。

Global Explanation

Activation Minimization

手写数字分类的例子

在这里插入图片描述在这里插入图片描述
取出模型对应数字的output, 使他yi几率最大, 显示理想的数字图片长什么样子。yi 越大越好, 同时图片看起来像数字。 R(x)表示图片看起来多像一个数字。因为多数区域没有数值, 这里R(x)把所有有数值的pixel 加起来。计算通过pixel的强度。

在这里插入图片描述画出心里理想部件的时候, 需要增加很多限制,然后暴调参数

在这里插入图片描述在这里插入图片描述
找到一个最好的z, 通过image generator, 产生一个image,图片通过classifier以后,得到的y的一个class 越大越好。 很深的network。可以产生的结果, 心里的蚂蚁,心里的火山,心里的修道院

用一种模型解释另外的模型

一些模型很容易被解释, 用容易解释的模型去模仿不易解释的模型
在这里插入图片描述

lime
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

查看哪些segment,权重1, 表示对结果影响最大。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述min Los, decision tree的复杂程度也要越小越好—》 tree regularization。
怎么微分?train一个network , 给他一个networkb的参数, 可以计算出 networkb 转成decision tree 的深度。
<think> 嗯,用户这次专门询问可解释提升机(EBM),看来是对可解释机器学习模型有明确需求。之前讨论循证医学(EBM)时提到的“证据透明化”概念,与可解释机器学习追求模型透明度的理念有内在关联,用户可能是在医疗决策场景下需要兼顾精度和可解释性。 从用户提供的引用材料看,重点有三个方向:1)EBM作为高精度可解释模型的定位[^1];2)它在树集成可解释性领域的特殊性——不同于主流关注装袋法,EBM专注提升技术[^2];3)InterpretML工具的应用演示[^3]。需要将这些碎片整合成系统框架。 用户要求的具体维度很清晰:定义、原理、应用、工具。其中原理部分需要突出与传统GAM的进化关系——EBM通过三项技术创新解决精度瓶颈:1)双梯度提升的交互项建模(引用[1]提到的“装袋和助推”具体是指bagging和boosting技术对传统GAM的增强);2)有序学习策略(参考材料未提及,需补充);3)循环特征优化(通过迭代轮替特征训练避免偏向)。 应用场景方面,用户引用的医疗背景暗示可能关注生物医学领域。除示例中的糖尿病预测,还应补充基因表达分析(如通过EBM发现某SNP位点对药物代谢的非线性影响)、临床试验优化(识别亚组疗效预测因子)等场景。金融风控案例则展示跨领域通用性。 注意到用户特别截取InterpretML的代码片段[^3],说明需要实操指导。在教程部分保留全局解释可视化代码是必要的,但要强调特征贡献图的临床解读逻辑——比如如何依据$f_j(x_j)$曲线的拐点制定干预阈值。 最后生成问题需引导深入:1)医疗场景的因果推断需求与EBM相关性限制的矛盾点;2)实时部署的性能考量;3)与SHAP等事后解释工具的协同方案。这三个方向既能延续当前主题,又覆盖用户潜在的技术瓶颈。 </think> ### 可解释提升机(Explainable Boosting Machine, EBM)详解 #### 1. **定义与核心原理** EBM 是一种基于**广义可加模型(GAM)** 的高精度可解释机器学习算法,由 Microsoft Research 提出。其核心公式为: $$ g(E[y]) = \beta_0 + \sum f_j(x_j) + \sum f_{ij}(x_i,x_j) $$ 其中: - $g(\cdot)$ 为连结函数(如对数几率函数); - $f_j(x_j)$ 为单特征贡献函数; - $f_{ij}(x_i,x_j)$ 为成对特征交互项[^1]。 **技术革新点**: - **双重精度保障**: 通过**梯度提升(Boosting)** 优化单特征函数 $f_j$,结合**装袋(Bagging)** 降低方差,使其精度与随机森林、XGBoost 相当[^1]; - **可解释性设计**: 函数 $f_j(x_j)$ 以图表形式直观展示特征与预测的非线性关系(如 U 型曲线),交互项 $f_{ij}$ 需显式声明[^3]。 #### 2. **关键特性对比** | **特性** | EBM | 传统黑盒模型(如神经网络) | |----------------|-------------------------|--------------------------| | **精度** | ⭐⭐⭐⭐ (媲美SOTA) | ⭐⭐⭐⭐⭐ | | **可解释性** | ⭐⭐⭐⭐⭐ (函数可视化) | ⭐ (依赖事后解释工具) | | **训练速度** | ⭐⭐ (慢于树模型) | ⭐⭐⭐⭐ | | **特征工程** | 自动学习非线性关系 | 需手动设计复杂特征 | #### 3. **应用场景** - **医疗诊断**:预测疾病风险时展示关键生物标志物的贡献曲线(如血糖水平与糖尿病风险呈 J 型关系)[^1]; - **金融风控**:可视化收入与负债的交互效应,满足监管透明性要求; - **工业质检**:定位影响产品缺陷的关键参数阈值(如 $f_{\text{温度}}(x)>0.8$ 时不良率骤升)。 #### 4. **实战工具链(InterpretML)** ```python from interpret.glassbox import ExplainableBoostingClassifier from interpret import show # 训练EBM模型 ebm = ExplainableBoostingClassifier() ebm.fit(X_train, y_train) # 全局解释:特征重要性 global_explanation = ebm.explain_global() show(global_explanation) # 输出各特征的贡献曲线[^3] # 局部解释:单个样本预测依据 local_explanation = ebm.explain_local(X_test[0]) show(local_explanation) # 展示特征值的具体影响分数 ``` **输出示例**: - 特征 `年龄` 的贡献曲线显示:年龄 $>60$ 时风险评分显著上升; - 交互项 `年龄×血压` 揭示:高龄合并高血压时风险呈指数增长。 --- ### 常见问题解答 **Q1: EBM如何处理高维特征?** 通过**循环特征训练(Cyclic Boosting)**:每次迭代仅更新一个特征的函数 $f_j$,避免特征间梯度干扰,提升稳定性。 **Q2: 为何EBM比传统GAM更强大?** 传统GAM使用样条函数,而EBM采用**自适应分箱+梯度提升**: 1. 将连续特征离散化为分箱; 2. 用提升树学习每个分箱的权重; 3. 通过正则化控制复杂度[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值