可解释人工智能简介

Python 可解释性 AI

Fouad Trad

Machine Learning Engineer

关于我

fouadtrad.jpg

Fouad Trad
  • 机器学习工程师
  • 博士研究生
  • 专注于网络安全方向的AI
LinkedIn

mylinkedin.jpg

Python 可解释性 AI

人工智能

  • AI 使机器能执行类人任务

一名人类与机器下棋的图像。

Python 可解释性 AI

为何需要可解释性

 

一个封闭黑箱系统接收输入并生成输出的图像。

 

  • 黑箱AI: 无法理解其决策过程
Python 可解释性 AI

为何需要可解释性

 

一个开箱系统接收输入并生成输出的图像。

 

  • 黑箱AI: 无法理解其决策过程
  • 可解释AI: 理解模型内部机制
Python 可解释性 AI

可解释性 vs. 准确率

  • 基础模型:

    • 更可解释
    • 准确率较低
  • 复杂模型:

    • 准确率更高
    • 可解释性较差

图中展示从基础到复杂的AI模型(基于规则、线性模型、决策树、k-NN、SVM、神经网络),强调基础模型更易解释但精度较低,复杂模型精度高但难以解释。

Python 可解释性 AI

决策树 vs. 神经网络

决策树

基于条件展示决策路径

决策树示意图,展示如何基于多条条件进行预测

Python 可解释性 AI

决策树 vs. 神经网络

决策树

基于条件展示决策路径

录取示例的决策树:若学生无本科学位,则拒绝;否则仅当成绩高于8.5时接收

Python 可解释性 AI

决策树 vs. 神经网络

决策树

基于条件展示决策路径

录取示例的决策树:若学生无本科学位,则拒绝;否则仅当成绩高于8.5时接收

神经网络

本质上不透明

神经网络结构图:多层隐藏层,每层含多个神经元。

Python 可解释性 AI

决策树 vs. 神经网络

决策树

基于条件展示决策路径

录取示例的决策树:若学生无本科学位,则拒绝;否则仅当成绩高于8.5时接收

神经网络

本质上不透明

同一神经网络接收学生特征并预测是否录取。

Python 可解释性 AI

学生录取预测

GRE 分数 TOEFL 分数 学校评级 SOP LOR CGPA 录取
337 118 4 4.5 4.5 9.65 1
316 104 3 3 3.5 8.00 1
314 103 2 2 3 8.21 0

 

  • 测试分数:GRE 和 TOEFL
  • 学校评级
  • SOP:个人陈述
  • LOR:推荐信
  • CGPA:累计绩点
Python 可解释性 AI

学生录取预测

决策树
from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(max_depth=5)

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Decision Tree: {acc}")
Accuracy of Decision Tree: 0.82
神经网络
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(hidden_layer_sizes=(1000,1000))

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Neural Network: {acc}")
Accuracy of Neural Network: 0.9
Python 可解释性 AI

决策树规则

from sklearn.tree export_text

rules = export_text(model, feature_names=list(X_train.columns))

print(rules)
|--- CGPA <= 8.34
|   |--- GRE Score <= 320.50
|   |   |--- class: 0

| |--- GRE Score > 320.50 | | |--- class: 1
|--- CGPA > 8.34 | |--- GRE Score <= 319.50 | | |--- class: 1 ...
Python 可解释性 AI

特定于模型 vs. 与模型无关的技术

特定于模型

适用于特定模型

一把为特定锁设计的钥匙

Python 可解释性 AI

特定于模型 vs. 与模型无关的技术

特定于模型

适用于特定模型

一把为特定锁设计的钥匙

与模型无关

适用于任意模型

一把可开多把锁的万能钥匙

Python 可解释性 AI

下一步?

  • 特定于模型与与模型无关的技术
  • 局部方法与全局方法
  • 进阶主题:
    • 可解释性度量
    • 无监督可解释性
    • 生成式AI的可解释性

SHAP、LIME、Scikit-learn 等库的标志

Python 可解释性 AI

让我们来练习!

Python 可解释性 AI

Preparing Video For Download...