3. SHAP核心原理:加性特征归因、SHAP一致性、局部保真性、缺失性
SHAP(SHapley Additive exPlanations)之所以成为模型可解释性领域的事实标准,是因为它将博弈论中的Shapley值引入机器学习,并严格定义了四个核心原理。理解这些原理,是掌握SHAP与SQL结合应用的理论基石。
3.1 加性特征归因(Additive Feature Attribution)
加性特征归因是SHAP最根本的建模假设。它认为:对于一个模型的预测输出,可以表示为所有输入特征贡献值的线性求和,再加上一个基线值(通常是所有样本的平均预测值)。
数学表达:
g(z') = φ₀ + Σᵢ₌₁ᴹ φᵢ · z'ᵢ
- g(z'):解释模型对简化输入 z' 的预测
- φ₀:基线值(所有样本的平均预测值)
- φᵢ:第 i 个特征的Shapley值(贡献度)
- z'ᵢ:简化输入,表示特征 i 是否存在(1或0)
- M:特征总数
关键理解: 加性特征归因将复杂的非线性模型输出,拆解为每个特征的独立贡献之和。这使得我们可以用“特征贡献 = 预测值 - 基线值”的直观方式理解模型行为。
3.2 SHAP一致性(Consistency)
一致性是SHAP区别于其他特征归因方法的核心优势。它保证:如果一个特征对模型输出的影响增加(或保持不变),那么该特征的Shapley值不会减少。
形式化定义:
对于任意两个模型 f 和 f',如果对于所有特征子集 S ⊆ {1,…,M},满足:
f'_x(S) - f'_x(S\{i}) ≥ f_x(S) - f_x(S\{i})
则特征 i 在模型 f' 中的Shapley值 φᵢ(f') ≥ φᵢ(f)。
| 属性 | 说明 | 重要性 |
|---|---|---|
| 单调性保证 | 特征重要性随模型依赖度单调变化 | 防止反直觉的归因反转 |
| 模型对比 | 可在不同版本模型间公平比较特征贡献 | 支持模型迭代验证 |
| 鲁棒性 | 对特征交互不敏感,归因结果稳定 | 提升解释可信度 |
实践提示: 一致性是SHAP在SQL生产环境中进行特征重要性监控的理论基础。当模型更新后,如果某个特征的SHAP值下降,可以确信该特征对模型的实际影响力确实减弱了,而非归因方法的波动。
3.3 局部保真性(Local Accuracy)
局部保真性要求:对于单个样本,所有特征的Shapley值之和加上基线值,必须精确等于该样本的模型预测值。这是加性特征归因在局部层面的具体体现。
数学约束:
f(x) = φ₀ + Σᵢ₌₁ᴹ φᵢ
其中 f(x) 是原始模型对样本 x 的预测值,φ₀ 是基线值,φᵢ 是各特征的Shapley值。
注意: 局部保真性确保了SHAP解释在单个样本层面是“精确”的,而非近似。这与LIME等方法的局部近似有本质区别。在SQL实现中,这意味着我们可以通过聚合SHAP值来精确还原任意粒度的预测均值。
3.4 缺失性(Missingness)
缺失性原理规定:如果一个特征在简化输入中不存在(即 z'ᵢ = 0),那么该特征的Shapley值必须为0。这保证了未被观察到的特征不会对解释产生贡献。
形式化定义:
如果 z'ᵢ = 0,则 φᵢ = 0
缺失性在SHAP中通过“特征屏蔽”机制实现:当计算某个特征的贡献时,SHAP会模拟该特征缺失时的模型输出,通过对比“有”和“无”该特征的预测差异来归因。
| 原理 | 核心要求 | SQL应用场景 |
|---|---|---|
| 加性特征归因 | 预测 = 基线 + 各特征贡献之和 | 构建特征贡献宽表,支持OLAP聚合 |
| 一致性 | 特征影响力不随模型更新而反向变化 | 模型版本对比、特征漂移监控 |
| 局部保真性 | 单样本解释精确还原预测值 | SQL校验:SUM(SHAP值) + 基线 = 预测值 |
| 缺失性 | 缺失特征贡献为0 | 处理NULL值、特征子集分析 |
3.5 原理间的逻辑关系
四个原理并非独立存在,而是构成了一个完整的理论体系:
- 加性特征归因是SHAP的结构基础,定义了解释的形式。
- 局部保真性是加性归因在局部样本上的精确约束。
- 缺失性是加性归因在特征存在性上的补充规则。
- 一致性是确保归因结果跨模型可比的稳定性保障。
SQL实现启示: 在后续章节中,我们将看到这四个原理如何指导我们设计SHAP值的SQL计算逻辑。例如,局部保真性要求我们在SQL中验证:
SUM(shap_value) OVER (PARTITION BY sample_id) + baseline = prediction。缺失性则指导我们如何处理特征为NULL时的归因策略。