Introductie tot explainable AI

Explainable AI in Python

Fouad Trad

Machine Learning Engineer

Over mij

fouadtrad.jpg

Fouad Trad
  • Machine learning engineer
  • PhD-kandidaat
  • Gespecialiseerd in AI voor cybersecurity
LinkedIn

mylinkedin.jpg

Explainable AI in Python

Kunstmatige intelligentie

  • AI laat machines mensachtige taken uitvoeren

Afbeelding van een mens die schaakt met een machine.

Explainable AI in Python

De noodzaak van uitlegbaarheid

 

Afbeelding van een gesloten blackbox‑systeem dat input ontvangt en output genereert.

 

  • Blackbox‑AI: geen inzicht in besluitvorming
Explainable AI in Python

De noodzaak van uitlegbaarheid

 

Afbeelding van een open box‑systeem dat input ontvangt en output genereert.

 

  • Blackbox‑AI: geen inzicht in besluitvorming
  • Explainable AI: inzicht in de werking van het model
Explainable AI in Python

Uitlegbaarheid vs. nauwkeurigheid

  • Basis­modellen zijn:

    • Meer uitlegbaar
    • Minder nauwkeurig
  • Complexe modellen zijn:

    • Nauwkeuriger
    • Minder uitlegbaar

Afbeelding met AI‑modellen op een grafiek van basismodellen tot complexe (regelgebaseerd, lineair, beslisbomen, k-NN, SVM's en neurale netwerken), met de nadruk dat basismodellen vaker uitlegbaar maar minder nauwkeurig zijn, terwijl complexe modellen nauwkeuriger maar lastiger te interpreteren zijn.

Explainable AI in Python

Beslisbomen vs. neurale netwerken

Beslisbomen

Toon beslispad op basis van voorwaarden

Weergave van een beslisboom die laat zien hoe voorspellingen worden gedaan op basis van meerdere voorwaarden

Explainable AI in Python

Beslisbomen vs. neurale netwerken

Beslisbomen

Toon beslispad op basis van voorwaarden

Beslisboom voor het toelatingsvoorbeeld: als een student geen bachelor­diploma heeft, wordt die afgewezen. Anders: alleen geaccepteerd bij cijfer > 8,5

Explainable AI in Python

Beslisbomen vs. neurale netwerken

Beslisbomen

Toon beslispad op basis van voorwaarden

Beslisboom voor het toelatingsvoorbeeld: als een student geen bachelor­diploma heeft, wordt die afgewezen. Anders: alleen geaccepteerd bij cijfer > 8,5

Neurale netwerken

Niet van nature transparant

Afbeelding van de structuur van een neuraal netwerk: meerdere verborgen lagen met neuronen.

Explainable AI in Python

Beslisbomen vs. neurale netwerken

Beslisbomen

Toon beslispad op basis van voorwaarden

Beslisboom voor het toelatingsvoorbeeld: als een student geen bachelor­diploma heeft, wordt die afgewezen. Anders: alleen geaccepteerd bij cijfer > 8,5

Neurale netwerken

Niet van nature transparant

Afbeelding van hetzelfde neuraal netwerk dat studentenkenmerken ontvangt en voorspelt of ze geaccepteerd of afgewezen worden.

Explainable AI in Python

Voorspellen van studenttoelating

GRE Score TOEFL Score University Rating SOP LOR CGPA Accept
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

 

  • Testscores: GRE en TOEFL
  • Universiteitsrating
  • SOP: statement of purpose
  • LOR: aanbevelingsbrief
  • CGPA: cumulatief gemiddelde cijfer
Explainable AI in Python

Voorspellen van studenttoelating

Beslisboom
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
Neuraal netwerk
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

Beslisboomregels

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

Modelspecifieke vs. model-agnostische technieken

Modelspecificiek

Toepasbaar op een specifiek model

Afbeelding van een sleutel die voor een specifiek slot is ontworpen

Explainable AI in Python

Modelspecifieke vs. model-agnostische technieken

Modelspecificiek

Toepasbaar op een specifiek model

Afbeelding van een sleutel die voor een specifiek slot is ontworpen

Model-agnostisch

Toepasbaar op elk model

Afbeelding van een moedersleutel die meerdere sloten kan openen

Explainable AI in Python

Wat komt hierna?

  • Modelspecifieke en model-agnostische technieken
  • Lokale en globale methoden
  • Verdere onderwerpen:
    • Uitlegbaarheids­metrics
    • Ongecontroleerde uitlegbaarheid
    • Uitlegbaarheid voor generatieve AI

Logo's van de bibliotheken: SHAP, LIME en scikit-learn

Explainable AI in Python

Laten we oefenen!

Explainable AI in Python

Preparing Video For Download...