Yapay Zeka Kararlarının Aydınlatılması: Açıklanabilir Yapay Zeka (XAI)’da LIME ve SHAP Tekniklerinin İncelenmesi

Oğuzhan Kalkar
Huawei Developers - Türkiye
3 min readJan 4, 2024
Explainable AI

Giriş

Yapay Zeka (AI) ilerlemeleri, önemli yenilikler getirmesine rağmen, AI modellerinin opak olması, karar alma süreçleri hakkında endişelere neden olmaktadır. Açıklanabilir Yapay Zeka (XAI), karmaşık modellerde şeffaflığı ve anlaşılırlığı artırmayı amaçlayan kritik bir disiplin olarak ortaya çıkmaktadır. Bu kapsamlı makalede, XAI’nın önemine, şeffaflığın önemine, etik etkilerine ve düzenleyici düşüncelere odaklanacağız. Ayrıca, XAI’nin temel bileşenleri olan LIME ve SHAP tekniklerinin kullanımını gösteren detaylı, adım adım kod örnekleri sunacağız, bu tekniklerin AI kararlarını açıklamadaki kritik rolünü göstereceğiz.

AI’da Şeffaflık ve Anlaşılabilirliğin Önemi:

AI modellerinde şeffaflık ve anlaşılabilirlik, güveni artırmak ve hesap verebilirliği sağlamak için temeldir. ‘Black-box’ modellerin anlaşılabilirliği eksikliği karar alma süreçlerini anlamayı zorlaştırır. XAI, bu sorunu çözmeyi amaçlayarak AI modellerinin kararları için açıklamalar yapabilmesini sağlar ve böylece güveni artırır.

XAI’da Etik ve Düzenleyici Düşünceler:

XAI’nın gelişimi, özellikle önyargılı modeller ve ‘açıklama hakkı’ ile ilgili etik soruları gündeme getirir. Dürüstlüğü sağlamak, önyargıları azaltmak ve kullanıcıların AI sistemlerinin kararlarını anlama yeteneğini güçlendirmek için sağlam düzenleyici çerçeveler oluşturmak son derece önemlidir, özellikle bireylerin yaşamlarını etkileyen alanlarda.

LIME ve SHAP Tekniklerinin Detaylı Açıklanması:

LIME — Yerel Yorumlanabilir Model-bağımsız Açıklamalar:

LIME, bireysel AI model tahminleri için kolay anlaşılır açıklamalar oluşturmaya odaklanır. Kod parçası, LIME’in tablo veri setlerindeki bir tahmini açıklamadaki kullanımını göstermektedir:

from lime.lime_tabular import LimeTabularExplainer

# LIME açıklayıcı nesnesini başlatır
explainer = LimeTabularExplainer(training_data, mode="regression", feature_names=feature_names,
class_names=class_names, discretize_continuous=True)

# Yorumlanabilirlik için LIME kullanarak bir tahmini açıklar
explanation = explainer.explain_instance(test_sample, model.predict, num_features=num_features)

# Açıklamayı bir notebook'ta gösterir
explanation.show_in_notebook()

Açıklama:

  • LimeTabularExplainer: Tablo verileri için özelleştirilmiş bir LIME açıklayıcı nesnesi oluşturur, yorumlamayı yapacak şekilde hazırlar.
  • training_data: Makine öğrenimi modeli için kullanılan veri setini temsil eder.
  • feature_names: Veri setindeki özelliklerin isimlerini içerir.
  • class_names: Sınıflandırma problemleri için farklı sınıfların isimlerini içerir.
  • discretize_continuous: Açıklamayı basitleştirmek için sürekli özellikleri ayrık aralıklara dönüştürür.
  • explain_instance: Eğitilmiş modelin tahmin işlevini kullanarak belirli bir test örneği için bir açıklama oluşturur.
  • num_features: Açıklamada dikkate alınacak özellik sayısını belirtir.

Bu kod parçası, LIME’in bir tablo veri setindeki bir tahmin için yerel bir açıklama sağlayarak karmaşık bir AI modelinin belirli bir tahmini için neden bir karar verdiğini anlamak için nasıl kullanılabileceğini gösterir.

SHAP — Shapley Additive Explanations:

SHAP (Shapley Additive Explanations), kooperatif oyun teorisine dayanan bir teknik olup, her bir özelliğin AI modelinin tahminiyle katkısını belirlemeyi amaçlar. Aşağıdaki kod, SHAP’ın uygulanmasını göstermektedir:

import shap

# SHAP açıklayıcı nesnesi oluşturur
explainer = shap.Explainer(model, X_train)

# Test seti için SHAP değerlerini hesaplar
shap_values = explainer.shap_values(X_test)

# Özellik önemini göstermek için SHAP özet grafiğini oluşturur
shap.summary_plot(shap_values, X_test)

Açıklama:

  • shap.Explainer: Eğitilmiş model ve eğitim veri seti ile bir SHAP açıklayıcı nesnesi oluşturur.
  • model: Veri üzerinde eğitilen makine öğrenimi modelini temsil eder.
  • X_train: Modelin eğitiminde kullanılan özellikleri içerir.
  • shap_values: Test veri seti için her bir özelliğin SHAP değerlerini hesaplar.
  • shap.summary_plot: Model çıktısına her bir özelliğin etkisini gösteren özet bir grafik oluşturur.

Bu kod parçası, SHAP’ın karmaşık AI modellerinin kararlarına her bir özelliğin katkısını anlamada nasıl yardımcı olduğunu gösterir.

Sonuç

Açıklanabilir Yapay Zeka (XAI), AI modellerinin şeffaflığını ve anlaşılabilirliğini artırmada kilit bir role sahiptir. LIME ve SHAP gibi teknikler, AI kararlarını açıklamak için kritik öneme sahiptir, güveni ve anlayışı artırır. Etik ve düzenleyici çerçeveler, sorumlu AI dağıtımını sağlamak için önemlidir. XAI ilerledikçe, AI sistemlerinin sadece zeki olmakla kalmayıp aynı zamanda şeffaf ve sorumlu olacağı bir gelecek sunar, çeşitli sektörlerde sorumlu AI entegrasyonunu teşvik eder.

--

--