BigQuery Explainable AI 概览
本文档介绍了 BigQuery ML 如何支持 Explainable 人工智能 (AI)(有时称为 XAI)。
Explainable AI 通过定义一行数据中的每个特征对预测结果的影响,帮助您了解预测机器学习模型为分类和回归任务生成的结果。这通常称为特征归因。您可以使用这些信息来验证模型的行为是否符合预期、识别模型中的偏差,以及提供改进模型和训练数据的方法。
BigQuery ML 和 Vertex AI 都有 Explainable AI 产品,可提供基于特征的解释。您可以在 BigQuery ML 中执行可解释性,也可以在 Vertex AI 中注册模型并在其中执行可解释性。
如需了解每种模型类型支持的 SQL 语句和函数,请参阅每个模型的端到端用户体验历程。
局部与全局可解释性
可解释性有两种类型:局部可解释性和全局可解释性。这些特征也称为局部特征重要性和全局特征重要性。
- 局部可解释性为每个解释样本返回特征归因值。这些值描述了特定特征相对于基线预测对预测的影响程度。
- 全局可解释性返回特征对模型的总体影响,并且通常通过将特征归因汇总到整个数据集而获得。绝对值越高,表示特征对模型的预测影响越大。
BigQuery ML 中的 Explainable AI 产品
BigQuery ML 中的 Explainable AI 支持各种机器学习模型,包括时间序列和非时间序列模型。每个模型都利用不同的可解释性方法。
模型类别 | 模型类型 | 可解释性方法 | 方法的基本说明 | 本地说明函数 | 全局说明函数 |
---|---|---|---|---|---|
监督式模型 | 线性回归和逻辑回归 | Shapley 值 | 线性模型的 Shapley 值等于 model weight * feature
value ,其中特征值是标准化的,模型权重使用标准化特征值进行训练。 |
ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
标准错误和 P 值 | 标准错误和 p 值用于根据模型权重进行重要性测试。 | 不适用 | ML.ADVANCED_WEIGHTS 4 |
||
提升树 随机森林 |
树 SHAP | 树 SHAP 是一种算法,用于为基于决策树的模型计算确切的 SHAP 值。 | ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
|
近似特征贡献 | 近似特征贡献值。与树 SHAP 相比,它更快、更简单。 | ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
||
基于 Gini 索引的特征重要性 | 全局特征重要性得分,表示每个特征在训练期间构建提升树或随机森林模型时的实用性或价值。 | 不适用 | ML.FEATURE_IMPORTANCE |
||
深度神经网络 (DNN) Wide & Deep |
积分梯度 | 一种基于梯度的方法,可以有效地计算具有与 Shapley 值相同的公理属性的特征属性。提供精确特征归因的采样近似值。其准确率由 integrated_gradients_num_steps 参数控制。 |
ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
|
AutoML Tables | 采样 Shapley | 采样 Shapley 会将模型结果的积分分配给每个特征,并考虑特征的不同排列。此方法可以提供精确 Shapley 值的近似采样值。 | 不适用 | ML.GLOBAL_EXPLAIN 2 |
|
时序模型 | ARIMA_PLUS | 时间序列分解 | 如果时间序列中存在这些组成部分,则将时间序列分解为多个组成部分。这些组成部分包括趋势、季节性、节假日、阶跃变化以及峰值和下降。如需了解详情,请参阅 ARIMA_PLUS 建模流水线。 | ML.EXPLAIN_FORECAST 3 |
不适用 |
ARIMA_PLUS_XREG | 时间序列分解 和 Shapley 值 |
将时间序列分解为多个组成部分,包括趋势、季节性、节假日、步骤变化以及高峰和低谷(类似于 ARIMA_PLUS)。每个外部回归器的归因均根据 Shapley 值计算,等于 model weight * feature value 。 |
ML.EXPLAIN_FORECAST 3 |
不适用 |
1ML_EXPLAIN_PREDICT
是 ML.PREDICT
的扩展版本。
2ML.GLOBAL_EXPLAIN
通过获取评估数据集内所有行的每个特征的平均绝对归因来返回全局可解释性。
3ML.EXPLAIN_FORECAST
是 ML.FORECAST
的扩展版本。
4ML.ADVANCED_WEIGHTS
是 ML.WEIGHTS
的扩展版本。
Vertex AI 中的 Explainable AI
Vertex AI 中提供了用于以下部分可导出监督式学习模型的 Explainable AI:
模型类型 | Explainable AI 方法 |
---|---|
dnn_classifier | 积分梯度 |
dnn_regressor | 积分梯度 |
dnn_linear_combined_classifier | 积分梯度 |
dnn_linear_combined_regressor | 积分梯度 |
boosted_tree_regressor | 采样 Shapley |
boosted_tree_classifier | 采样 Shapley |
random_forest_regressor | 采样 Shapley |
random_forest_classifier | 采样 Shapley |
如需详细了解这些方法,请参阅特征归因方法。
在 Model Registry 中启用 Explainable AI
当 BigQuery ML 模型已在 Model Registry 中注册并且是支持 Explainable AI 的模型类型时,您可以在部署到端点时在模型上启用 Explainable AI。当您注册 BigQuery ML 模型时,系统会为您填充所有关联的元数据。
- 将 BigQuery ML 模型注册到 Model Registry。
- 从 Google Cloud 控制台中的 BigQuery 部分转到模型注册表页面。
- 在 Model Registry 中,选择 BigQuery ML 模型,然后点击模型版本以重定向到模型详情页面。
- 在模型版本上选择更多操作。
- 点击部署到端点。
- 定义端点 - 创建端点名称,然后点击“继续”。
- 选择机器类型,例如
n1-standard-2
。 - 在模型设置下的日志记录部分中,选中相应复选框以启用可解释性选项。
- 点击完成,然后点击继续以部署到端点。
如需了解如何从 Model Registry 在您的模型中使用 XAI,请参阅使用已部署的模型获取在线解释。如需详细了解 Vertex AI 中的 XAI,请参阅获取解释。