一、可解释性的分类:全局解释 vs 局部解释,模型内在解释 vs 事后解释,模型特定解释 vs 模型无关解释
说实话,我刚入行那会儿,对「可解释性」的理解特别简单——不就是看看模型为什么这么预测嘛。后来做项目做多了才发现,这里面门道很深。你想想看,一个线性回归和一个深度神经网络,解释起来能一样吗?
所以这一章,我想带你系统地梳理一下可解释性的分类体系。搞懂了这些分类,你以后选解释方法时就不会抓瞎了。
1.1 全局解释 vs 局部解释
这是最基础的一个分类维度。我个人的习惯是,先问自己一个问题:我想理解整个模型的行为,还是只想理解某一条预测的原因?
答案不同,选的方法就完全不同。
全局解释(Global Interpretation)
全局解释回答的是:「模型整体是怎么工作的?」
举个例子,你训练了一个信用评分模型。全局解释会告诉你:收入水平对评分影响最大,其次是负债率,年龄的影响相对较小。这种解释能帮你理解模型的整体逻辑。
- 模型上线前的合规审查
- 向业务方解释模型整体逻辑
- 发现模型是否存在偏见(比如性别歧视)
我在做银行风控项目时,监管要求我们必须提供模型的全局解释。当时我们用了特征重要性排序和部分依赖图,才勉强过了合规这一关。
局部解释(Local Interpretation)
局部解释回答的是:「为什么这条样本被预测为这个结果?」
还是那个信用评分模型。某用户张三被拒贷了,他问「为什么?」。局部解释会告诉你:因为张三的负债率高达80%,而模型认为负债率超过60%就是高风险。
- 用户申诉或投诉处理
- 模型调试(看异常预测的原因)
- 个性化推荐的解释
1.2 模型内在解释 vs 事后解释
这个分类维度,说白了就是看你的解释方法是「天生的」还是「后加的」。
模型内在解释(Intrinsically Interpretable Models)
有些模型,它的结构本身就自带可解释性。你不需要额外做什么,看一眼参数就知道它怎么决策的。
| 模型类型 | 可解释性来源 | 典型例子 |
|---|---|---|
| 线性模型 | 权重系数直接表示特征影响 | 线性回归、逻辑回归 |
| 决策树 | 树结构可视化,路径清晰 | CART、C4.5 |
| 规则模型 | if-then 规则,人类可读 | RuleFit、BRCG |
| 广义加性模型 | 每个特征的影响可单独展示 | GAM、EBM |
嗯,这里要注意:内在可解释不等于简单模型。比如 GAM 虽然可解释,但它的表达能力并不弱,能拟合非线性关系。
事后解释(Post-hoc Interpretation)
事后解释是针对那些「黑箱模型」的。模型本身不透明,但我们通过一些技术手段,去窥探它的决策逻辑。
常见的黑箱模型包括:
- 深度神经网络(DNN、CNN、RNN)
- 集成模型(随机森林、XGBoost、LightGBM)
- 支持向量机(特别是非线性核)
事后解释的方法有很多,比如:
- 特征重要性:Permutation Importance、Gain Importance
- 局部解释:LIME、SHAP
- 可视化:部分依赖图(PDP)、个体条件期望(ICE)
- 代理模型:用可解释模型去近似黑箱模型的局部行为
1.3 模型特定解释 vs 模型无关解释
这个分类维度,看的是解释方法是否依赖于模型内部结构。
模型特定解释(Model-specific Interpretation)
这类方法只能用于特定类型的模型。比如:
- 决策树的可视化:只能用于树模型
- 线性模型的系数:只能用于线性模型
- CNN 的激活图:只能用于卷积神经网络
- Transformer 的注意力权重:只能用于注意力机制模型
模型特定解释的好处是:解释结果往往更精确、更深入。因为它利用了模型内部的结构信息。
举个例子,我在做图像分类项目时,用 Grad-CAM 生成热力图,能精确看到模型关注了图像的哪些区域。这种解释方法只适用于 CNN,但效果非常好。
模型无关解释(Model-agnostic Interpretation)
模型无关解释不关心模型内部结构,只关心模型的输入和输出。它的通用性很强,任何模型都能用。
常见的模型无关方法:
- Permutation Feature Importance:通过打乱特征值观察预测误差变化
- Partial Dependence Plot (PDP):观察某个特征变化时预测值的变化
- LIME:在局部用线性模型近似黑箱模型
- SHAP:基于博弈论的 Shapley 值分配特征贡献
| 维度 | 模型特定解释 | 模型无关解释 |
|---|---|---|
| 通用性 | 低(只适用于特定模型) | 高(适用于任何模型) |
| 解释精度 | 高(利用内部结构) | 中等(仅基于输入输出) |
| 计算成本 | 低(通常直接提取) | 高(需要多次模型调用) |
| 实现难度 | 依赖模型框架 | 通用库即可(如 shap、lime) |
1.4 三种分类维度的交叉组合
这三种分类维度不是孤立的,它们可以交叉组合。我画了一张图来展示它们的关系:
你看,这三个维度就像三个坐标轴,每个解释方法都可以在这个三维空间中找到自己的位置。比如:
- 线性回归的系数:全局 + 内在 + 模型特定
- SHAP 值:局部 + 事后 + 模型无关
- 决策树的可视化路径:局部 + 内在 + 模型特定
- Permutation Importance:全局 + 事后 + 模型无关
- 先用 全局 + 事后 + 模型无关 的方法(如 Permutation Importance)快速了解模型整体
- 再用 局部 + 事后 + 模型无关 的方法(如 SHAP)深挖异常案例
- 如果模型有内部结构可用(比如树模型),再用 模型特定 的方法做精确解释
1.5 小结
这一章我们聊了可解释性的三种分类维度。说白了就是:
- 全局 vs 局部:看整体还是看个体
- 内在 vs 事后:天生可解释还是后加解释
- 特定 vs 无关:依赖模型结构还是通用方法
搞懂这些分类,你就能根据项目需求快速定位合适的解释方法。比如监管要求全局解释,你就别拿 LIME 去糊弄;用户投诉个案,你就别拿特征重要性去搪塞。
下一章,我们会深入讲解最常用的模型无关解释方法——Permutation Feature Importance 和 Partial Dependence Plot。到时候我会拿一个真实的信贷评分模型来演示,敬请期待。