Page 65 - 2023年第54卷第10期
P. 65
图 2 IAO - XGBoost集成学习算法流程图
能得出特征的重要程度,难以解释该特征是如何影响预测结果的 [17] 。与 XGBoost算法的特征重要性分
析相比,SHAP不仅可以对样本特征的重要性进行排序,挖掘影响预测结果的关键特征,并定性分析
样本特征与预测结果的正负相关性,还可以显示出单个样本中各个特征对此样本的预测结果是如何起
作用的,显著提高预测结果的可信度 [20] 。
可解释机器学习框架 SHAP的核心在于诺贝尔奖得主 LloydShapley提出的 Shapley值 [33] ,该值主
要用于解决合作博弈论中的分配均衡问题,即解决如何分配多人合作所创造的总价值的公平分配问
题 [34] 。在机器学习中,可以把输入特征看作合作人员,把模型预测结果看作所创造的总价值,则 Sha
pley值可计算出各特征对模型预测结果的贡献。
假设第 i个渗流样本为 x,其第 j个特征值 x 的 Shapley值 的计算公式如下所示:
i i,j x i,j
S!(m - S -1)!
= ∑ [f(S ∪ {x })-f(S)] (13)
x i,j x i i,j x i
{
S ∈M\ x i,j } m!
式中:M是渗流数据集中所有特征的集合,其维度为 m;S是从 M中抽取出来的子集,其大小为 S;
f(S)是只使用特征集合 S时,模型对渗流样本x的预测值,当 S是空集时,f(S)的值称为基础值,
x i i x i
相当于模型的预测值在所有渗流样本上的平均值;f(S ∪{x })是在特征集合 S的基础之上,添加特
x i i,j
征值 x 时模型对渗流样本x的预测值在所有样本中的平均值;M\{x }表示 M中剔除第 j个特征之后
i
i,j
i,j
的全部特征子集。
基于 Shapley值,SHAP对渗流性态指标预测模型的解释可以用一个加性模型表达如下:
m
+
f(x) = x i,0 ∑ z (14)
i
x i,j j
j =1
式中: 为整个渗流性态指标预测模型输出的基线,即所有训练样本的预测均值; 为 Shapley值,
x i,0 x i,j
表示第 i个渗流样本的第 j个特征对预测模型输出 f(x)的贡献值;z为简化特征指示系数,取值为 0或
i j
1,z = 1 表示该特征存在于待解释样本x中;z = 0 则表示该特征不存在于x中。
j
j
i
i
对于上式中的 Shapley值 ,当 >0时,说明第 i个渗流样本的第 j个特征提升了预测值,对
x i,j x i,j
2
— 1 0 1 —