Giải thích cục bộ với LIME

Explainable AI trong Python

Fouad Trad

Machine Learning Engineer

  • LIME → Local Interpretable Model-Agnostic Explanations
  • Giải thích dự đoán của mô hình phức tạp
  • Hoạt động trên từng điểm dữ liệu
  • Không phụ thuộc loại mô hình

Logo LIME.

Explainable AI trong Python

Bộ giải thích LIME

  • Phù hợp với các kiểu dữ liệu khác nhau

Sơ đồ hiển thị các bộ giải thích LIME có sẵn. Bộ đầu tiên là LIME tabular explainers.

Explainable AI trong Python

Bộ giải thích LIME

  • Phù hợp với các kiểu dữ liệu khác nhau

Sơ đồ tương tự, hiển thị thêm Text Explainer.

Explainable AI trong Python

Bộ giải thích LIME

  • Phù hợp với các kiểu dữ liệu khác nhau
  • Tạo nhiễu quanh một mẫu
  • Quan sát ảnh hưởng lên đầu ra mô hình
  • Dựng mô hình đơn giản hơn để giải thích

Sơ đồ tương tự, hiển thị thêm Image Explainer.

Explainable AI trong Python

Bộ giải thích LIME

  • Phù hợp với các kiểu dữ liệu khác nhau
  • Tạo nhiễu quanh một mẫu
  • Quan sát ảnh hưởng lên đầu ra mô hình
  • Dựng mô hình đơn giản hơn để giải thích

Sơ đồ tương tự với Tabular explainer được tô sáng.

Explainable AI trong Python

Bộ dữ liệu tuyển sinh

Điểm GRE Điểm TOEFL Xếp hạng trường SOP LOR CGPA Xác suất trúng tuyển Chấp nhận
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0

 

  • regressor: dự đoán xác suất trúng tuyển
  • classifier: dự đoán chấp nhận
  • Đặc trưng trong X
Explainable AI trong Python

Tạo bộ giải thích dạng bảng

Hồi quy
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_reg = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='regression'
)
explanation_reg = explainer_reg.explain_instance(
instance.values,
regressor.predict
)
Phân loại
from lime.lime_tabular import LimeTabularExplainer

instance = X.iloc[1,:]
explainer_class = LimeTabularExplainer( X.values,
feature_names=X.columns,
mode='classification'
)
explanation_class = explainer_class.explain_instance(
instance.values,
classifier.predict_proba
)
Explainable AI trong Python

Trực quan hóa lời giải thích

Hồi quy
explanation_reg.as_pyplot_figure()

Biểu đồ cột cho thấy ảnh hưởng của từng đặc trưng lên mô hình hồi quy. Đặc trưng được đặt trên một thang để dễ diễn giải.

Phân loại
explanation_class.as_pyplot_figure()

Biểu đồ cột cho thấy ảnh hưởng của từng đặc trưng lên mô hình phân loại. Đặc trưng được đặt trên một thang để dễ diễn giải.

Explainable AI trong Python

SHAP vs. LIME

SHAP
shap.waterfall_plot(...)

Biểu đồ thác nước SHAP cho thấy mỗi đặc trưng đẩy dự đoán theo chiều dương hoặc âm.

LIME
explanation_class.as_pyplot_figure()

Biểu đồ cột cho thấy ảnh hưởng của từng đặc trưng lên mô hình phân loại. Đặc trưng được đặt trên một thang để dễ diễn giải.

Explainable AI trong Python

Ayo berlatih!

Explainable AI trong Python

Preparing Video For Download...