เมตริกการอธิบายผลได้

Explainable AI ด้วย Python

Fouad Trad

Machine Learning Engineer

ความสอดคล้อง

  • ประเมินความเสถียรของคำอธิบายเมื่อฝึกโมเดลด้วยชุดข้อมูลย่อยต่างกัน
  • ความสอดคล้องต่ำ → ไม่มีคำอธิบายที่แข็งแกร่ง

ภาพแสดงชุดข้อมูลที่แบ่งออกเป็นสองชุดย่อย: ชุดย่อย 1 และชุดย่อย 2

Explainable AI ด้วย Python

ความสอดคล้อง

  • ประเมินความเสถียรของคำอธิบายเมื่อฝึกโมเดลด้วยชุดข้อมูลย่อยต่างกัน
  • ความสอดคล้องต่ำ → ไม่มีคำอธิบายที่แข็งแกร่ง

โมเดลถูกฝึกด้วยชุดข้อมูลย่อยแต่ละชุด

Explainable AI ด้วย Python

ความสอดคล้อง

  • ประเมินความเสถียรของคำอธิบายเมื่อฝึกโมเดลด้วยชุดข้อมูลย่อยต่างกัน
  • ความสอดคล้องต่ำ → ไม่มีคำอธิบายที่แข็งแกร่ง

ทุกครั้งที่โมเดลถูกฝึกด้วยชุดข้อมูลย่อย จะนำ feature importances ออกมาและคำนวณ cosine similarity

Explainable AI ด้วย Python

Cosine similarity สำหรับวัดความสอดคล้อง

 

 

 

ภาพแสดงค่าสำคัญของความสอดคล้องและความหมาย: ค่า 1 หมายถึงคำอธิบายมีความสอดคล้องสูง

Explainable AI ด้วย Python

Cosine similarity สำหรับวัดความสอดคล้อง

 

 

 

ภาพแสดงค่าสำคัญของความสอดคล้องและความหมาย: ค่า 1 หมายถึงคำอธิบายสอดคล้องสูง ค่า 0 หมายถึงไม่มีความสอดคล้อง

Explainable AI ด้วย Python

Cosine similarity สำหรับวัดความสอดคล้อง

 

 

 

ภาพแสดงค่าสำคัญของความสอดคล้องและความหมาย: ค่า 1 หมายถึงคำอธิบายสอดคล้องสูง ค่า 0 หมายถึงไม่มีความสอดคล้อง และค่า -1 หมายถึงคำอธิบายขัดแย้งกัน

Explainable AI ด้วย Python

ชุดข้อมูลการรับเข้าเรียน

GRE Score TOEFL Score University Rating SOP LOR CGPA Chance of Admit
337 118 4 4.5 4.5 9.65 0.92
324 107 4 4 4.5 8.87 0.76
316 104 3 3 3.5 8 0.72
322 110 3 3.5 2.5 8.67 0.8
314 103 2 2 3 8.21 0.45

 

  • X1, y1: ชุดข้อมูลส่วนแรก
  • X2, y2: ชุดข้อมูลส่วนที่สอง
  • model1, model2: random forest regressors
Explainable AI ด้วย Python

การคำนวณความสอดคล้อง

from sklearn.metrics.pairwise import cosine_similarity

explainer1 = shap.TreeExplainer(model1) explainer2 = shap.TreeExplainer(model2)
shap_values1 = explainer1.shap_values(X1) shap_values2 = explainer2.shap_values(X2)
feature_importance1 = np.mean(np.abs(shap_values1), axis=0) feature_importance2 = np.mean(np.abs(shap_values2), axis=0)
consistency = cosine_similarity([feature_importance1], [feature_importance2]) print("Consistency between SHAP values:", consistency)
Consistency between SHAP values: [[0.99706516]]
Explainable AI ด้วย Python

ความน่าเชื่อถือ

  • ประเมินว่า feature สำคัญมีผลต่อการพยากรณ์ของโมเดลจริงหรือไม่
  • ความน่าเชื่อถือต่ำ → ทำให้เข้าใจผิดเกี่ยวกับการใช้เหตุผลของโมเดล
  • มีประโยชน์ในการใช้งานที่ละเอียดอ่อน

ภาพแสดงโมเดลที่สร้างการพยากรณ์ดั้งเดิมจากตัวอย่างข้อมูลนำเข้า

Explainable AI ด้วย Python

ความน่าเชื่อถือ

  • ประเมินว่า feature สำคัญมีผลต่อการพยากรณ์ของโมเดลจริงหรือไม่
  • ความน่าเชื่อถือต่ำ → ทำให้เข้าใจผิดเกี่ยวกับการใช้เหตุผลของโมเดล
  • มีประโยชน์ในการใช้งานที่ละเอียดอ่อน

SHAP หรือ LIME ถูกใช้เพื่ออธิบายการพยากรณ์ดั้งเดิมในระดับท้องถิ่น

Explainable AI ด้วย Python

ความน่าเชื่อถือ

  • ประเมินว่า feature สำคัญมีผลต่อการพยากรณ์ของโมเดลจริงหรือไม่
  • ความน่าเชื่อถือต่ำ → ทำให้เข้าใจผิดเกี่ยวกับการใช้เหตุผลของโมเดล
  • มีประโยชน์ในการใช้งานที่ละเอียดอ่อน

ตัวอย่างข้อมูลที่ถูกปรับเปลี่ยนถูกส่งเข้าโมเดลเพื่อสร้างการพยากรณ์ใหม่

Explainable AI ด้วย Python

ความน่าเชื่อถือ

  • ประเมินว่า feature สำคัญมีผลต่อการพยากรณ์ของโมเดลจริงหรือไม่
  • ความน่าเชื่อถือต่ำ → ทำให้เข้าใจผิดเกี่ยวกับการใช้เหตุผลของโมเดล
  • มีประโยชน์ในการใช้งานที่ละเอียดอ่อน

ภาพแสดงสูตรการคำนวณความน่าเชื่อถือในรูปแบบค่าสัมบูรณ์ของผลต่างระหว่างการพยากรณ์ใหม่และการพยากรณ์ดั้งเดิม

Explainable AI ด้วย Python

การคำนวณความน่าเชื่อถือ

X_instance = X_test.iloc[[0]]

original_prediction = model.predict_proba(X_instance)[0, 1] print(f"Original prediction: {original_prediction}")
Original prediction: 0.43

ภาพแสดงคำอธิบาย feature importance ของ LIME สำหรับตัวอย่างที่เลือก

Explainable AI ด้วย Python

การคำนวณความน่าเชื่อถือ

X_instance['GRE Score'] = 310  


new_prediction = model.predict_proba(X_instance)[0, 1] print(f"Prediction after perturbing {important_feature}: {new_prediction}")
faithfulness_score = np.abs(original_prediction - new_prediction) print(f"Local Faithfulness Score: {faithfulness_score}")
Prediction after perturbing GRE Score: 0.77

Local Faithfulness Score: 0.34
Explainable AI ด้วย Python

มาฝึกกันเถอะ!

Explainable AI ด้วย Python

Preparing Video For Download...