Pengantar explainable AI

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Tentang saya

fouadtrad.jpg

Fouad Trad
  • Machine Learning Engineer
  • Kandidat PhD
  • Spesialis AI untuk Keamanan Siber
LinkedIn

mylinkedin.jpg

Explainable AI in Python

Kecerdasan buatan

  • AI memungkinkan mesin melakukan tugas seperti manusia

Gambar menunjukkan manusia bermain catur dengan mesin.

Explainable AI in Python

Kebutuhan akan keterjelasan

 

Gambar menunjukkan sistem kotak hitam tertutup yang menerima input dan menghasilkan output.

 

  • AI kotak hitam: tidak memahami pengambilan keputusan
Explainable AI in Python

Kebutuhan akan keterjelasan

 

Gambar menunjukkan sistem kotak terbuka yang menerima input dan menghasilkan output.

 

  • AI kotak hitam: tidak memahami pengambilan keputusan
  • Explainable AI: memahami cara kerja internal model
Explainable AI in Python

Keterjelasan vs. akurasi

  • Model dasar:

    • Lebih mudah dijelaskan
    • Kurang presisi
  • Model kompleks:

    • Lebih presisi
    • Kurang dapat dijelaskan

Gambar menampilkan model AI pada grafik dari model dasar hingga kompleks (berbasis aturan, model linear, pohon keputusan, k-NN, SVM, dan jaringan saraf), menyoroti bahwa model dasar lebih mudah dijelaskan namun kurang presisi, sedangkan model kompleks sangat presisi namun sulit diinterpretasi.

Explainable AI in Python

Decision tree vs. neural network

Decision tree

Menampilkan jalur keputusan berbasis kondisi

Representasi decision tree yang menunjukkan prediksi dibuat dari beberapa kondisi

Explainable AI in Python

Decision tree vs. neural network

Decision tree

Menampilkan jalur keputusan berbasis kondisi

Decision tree untuk contoh penerimaan yang menunjukkan jika mahasiswa tidak punya gelar S1, ditolak. Jika punya, diterima hanya jika nilainya > 8,5

Explainable AI in Python

Decision tree vs. neural network

Decision tree

Menampilkan jalur keputusan berbasis kondisi

Decision tree untuk contoh penerimaan yang menunjukkan jika mahasiswa tidak punya gelar S1, ditolak. Jika punya, diterima hanya jika nilainya > 8,5

Neural network

Tidak transparan secara bawaan

Gambar menampilkan struktur neural network: beberapa hidden layer dengan banyak neuron.

Explainable AI in Python

Decision tree vs. neural network

Decision tree

Menampilkan jalur keputusan berbasis kondisi

Decision tree untuk contoh penerimaan yang menunjukkan jika mahasiswa tidak punya gelar S1, ditolak. Jika punya, diterima hanya jika nilainya > 8,5

Neural network

Tidak transparan secara bawaan

Gambar menampilkan neural network yang menerima fitur mahasiswa dan memprediksi diterima atau ditolak.

Explainable AI in Python

Prediksi penerimaan mahasiswa

Skor GRE Skor TOEFL Peringkat Universitas SOP LOR IPK Diterima
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

 

  • Nilai tes: GRE dan TOEFL
  • Peringkat universitas
  • SOP: statement of purpose
  • LOR: letter of recommendation
  • CGPA: cumulative grade point average
Explainable AI in Python

Prediksi penerimaan mahasiswa

Decision tree
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
Neural network
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
Explainable AI in Python

Aturan decision tree

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 ...
Explainable AI in Python

Teknik khusus model vs. agnostik model

Khusus model

Berlaku untuk model tertentu

Gambar menampilkan kunci yang dirancang untuk gembok tertentu

Explainable AI in Python

Teknik khusus model vs. agnostik model

Khusus model

Berlaku untuk model tertentu

Gambar menampilkan kunci yang dirancang untuk gembok tertentu

Agnostik model

Berlaku untuk semua model

Gambar menampilkan kunci master yang bisa membuka banyak gembok

Explainable AI in Python

Selanjutnya apa?

  • Teknik khusus model dan agnostik model
  • Metode lokal dan global
  • Topik lanjutan:
    • Metrik keterjelasan
    • Keterjelasan tak terawasi
    • Keterjelasan AI generatif

Logo untuk pustaka: SHAP, LIME, dan Scikit-learn

Explainable AI in Python

Ayo berlatih!

Explainable AI in Python

Preparing Video For Download...