AI/ML模型风险管理与解释性

在数学模型的基础上,AI/ML模型也需要对其固有风险和解决的业务问题进行验证。通常,模型会基于以下几个方面进行检查:

  • 预期性能
  • 是否符合其目标
  • 假设 - 是否有效和合理?
  • 服务模型的限制是什么?
  • 对KPI的潜在影响
  • 是否遵守监管和道德要求?(如有必要)

AI/ML评估和验证要点包括:

数据完整性

鉴于每天在数据管道中处理大量数据,数据文档至关重要。数据血统确保可追溯性,即维护数据完整性。模型训练期间的数据管道应与生产中使用的数据管道同步,因为多次模型重新训练可能会使维护这些动态变化变得具有挑战性。数据完整性涉及检查适当的缺失值插补、数据标准化技术、识别异常模式、合法标记的数据(错误标记的数据会使模型开发成为一个困难的学习过程)。

特征工程

特征工程是AI/ML模型管道的核心,对模式学习产生重大影响。话虽如此,不良的特征工程会造成同等的损害,例如数据泄露。

抽样偏差

模型应对抽样偏差具有鲁棒性,即应建立在适当代表总体的样本上。不平衡,即任何特定类别的代表性不足和过度,都会给模型带来系统性偏差。

超参数化

参数设置的变化直接影响模型输出,需要解决计算可行性问题。

解释性

AI/ML模型接收一组输入特征并输出预测,但如何理解这些输出预测是获得用户信任的关键。对于像线性回归这样的简单模型,可以轻松识别特征对输出变量的贡献或影响。但对于复杂模型,如集成模型或神经网络,没有明确的路径或轨迹可以解释某个输入向量如何被转换为某个输出。

当模型解释性不透明时,可能会导致许多其他问题,如抽样偏差、公平性、每个组的适当代表性等,这些问题可能未被识别。敏感性和压力测试是必要的,以回答以下问题,这些问题体现了模型解释性框架:每个预测的关键特征、实际预测的驱动因素、ML模型与线性模型之间的差异、ML模型的工作原理、模型在新世界状态下的性能。

特征重要性分为两个层次——全局(训练/历史数据)和局部(每个预测)。

模型解释性框架

有多个模型解释性框架:

  • 全局:基于树的、部分依赖图、置换测试基础的、全局敏感性分析
  • 局部:Shapley值、LIME、LRP即逐层相关传播

以下是使用sklearn库在泰坦尼克数据集上实现PDP的示例。图表显示,与三等舱乘客相比,一等舱乘客有更好的生存机会。图表显示,年轻乘客有更好的生存机会。图表描绘了作为男性会减少生存机会,反之亦然。

# 这里是PDP的Python代码实现 # 导入必要的库 from sklearn.inspection import plot_partial_dependence # 假设X_train, y_train, model是已经准备好的训练数据和模型 # 实现PDP plot_partial_dependence(model, X_train, features=['Pclass', 'Age', 'Sex'], target=0)

以下是在泰坦尼克数据集上实现Shap和Lime的示例。

# 这里是Shap的Python代码实现 # 导入必要的库 import shap # 假设model是已经训练好的模型 # 实现Shap值 shap_values = shap.TreeExplainer(model).shap_values(X_test) shap.summary_plot(shap_values, X_test, feature_names=['Embarked', 'Age', 'SibSp', 'Sex']) # 这里是Lime的Python代码实现 # 导入必要的库 from lime.lime_tabular import LimeTabularExplainer # 假设X_test是测试数据 # 实现Lime explainer = LimeTabularExplainer(X_train.values, feature_names=X_train.columns, class_names=['Not Survived', 'Survived'], mode='classification') exp = explainer.explain_instance(X_test[0].values, model.predict_proba) exp.save_to_file('lime_explanation.html')

在这个例子中,从测试集中挑选了4个样本来展示样本解释性。

结果:未生存

在这个例子中,Embarked_S=0, Age=21和SibSp=0按降序有正贡献,而Sex_male=1, Sex_female=0, Embarked_Q=1等按顺序有负贡献。

结果:生存

Lime特征贡献

结果:生存

SHAP力图:红色和蓝色分别表示正贡献和负贡献。-条的长度表示贡献的大小。

结果:生存

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485