Makine öğrenmesi modellerinin karmaşıklığı arttıkça, tahminlerin neden yapıldığını anlamak kritik hale gelir. SHAP (SHapley Additive exPlanations) ve LIME (Local Interpretable Model-agnostic Explanations), bu ihtiyacı karşılayan iki yaygın yöntemdir. Peki aralarındaki temel farklar nelerdir ve hangi durumda hangisini kullanmalısınız?
SHAP Nedir ve Nasıl Çalışır?
SHAP, oyun teorisindeki Shapley değerlerini kullanarak her bir özelliğin tahmine katkısını hesaplar. Model-agnostik bir yöntemdir, yani herhangi bir makine öğrenmesi modeliyle çalışır. SHAP değerleri, her özelliğin tahmin üzerindeki marjinal katkısını adil bir şekilde dağıtır. Bu sayede hem yerel (tek bir tahmin için) hem de genel (tüm veri seti için) yorumlamalar yapılabilir.
LIME Nedir ve Nasıl Çalışır?
LIME, belirli bir tahmini açıklamak için o tahmin etrafında yeni sentetik veri noktaları oluşturur ve bu noktalar üzerinde basit, yorumlanabilir bir model (örneğin doğrusal regresyon) eğitir. Yerel bir açıklama sunar, yani her bir gözlem için farklı bir açıklama elde edilir. Model-agnostik olması sayesinde herhangi bir sınıflandırıcı veya regresörle kullanılabilir.
SHAP ve LIME Arasındaki Temel Farklar
İki yöntem arasındaki farkları daha iyi anlamak için aşağıdaki tabloyu inceleyelim:
| Özellik | SHAP | LIME |
|---|---|---|
| Temel Teori | Shapley değerleri (oyun teorisi) | Yerel model yaklaşımı (sentetik veri + basit model) |
| Hesaplama Maliyeti | Yüksek (özellik sayısıyla üstel) | Orta (sentetik örnek sayısına bağlı) |
| Yorumlama Türü | Yerel ve global | Sadece yerel |
| Tutarlılık | Yüksek (matematiksel olarak tutarlı) | Düşük (farklı çalıştırmalarda değişebilir) |
| Özellik Etkileşimleri | Doğal olarak yakalar (SHAP etkileşim değerleri) | Yakalamaz (basit model varsayımı) |
| Kullanım Kolaylığı | Orta (shap kütüphanesi başlangıçta karmaşık gelebilir) | Kolay (lime kütüphanesi basit arayüz) |
Hangi Durumda Hangi Yöntem Kullanılmalı?
Seçim, ihtiyaçlarınıza ve kaynaklarınıza bağlıdır:
- Global yorumlama ihtiyacı varsa: SHAP tercih edilir. SHAP değerleri ile tüm veri seti üzerinde özellik önem sıralaması yapabilirsiniz.
- Hızlı ve basit bir yerel açıklama gerekiyorsa: LIME yeterlidir. Özellikle prototipleme aşamasında veya seyrek kullanılan modellerde pratiktir.
- Yüksek doğruluk ve tutarlılık aranıyorsa: SHAP daha güvenilirdir. LIME’ın farklı çalıştırmalarda farklı sonuçlar verebileceğini unutmayın.
- Özellik etkileşimlerini anlamak önemliyse: SHAP etkileşim değerleri ile çapraz etkileri görebilirsiniz.
- Büyük veri setleri ve çok sayıda özellik varsa: SHAP’ın hesaplama maliyeti artar. KernelSHAP gibi yaklaşımlar kullanılabilir ancak LIME daha hızlı olabilir.
Sık Yapılan Hatalar ve Dikkat Edilmesi Gerekenler
- SHAP’ı yanlış yorumlamak: SHAP değerleri görecelidir; mutlak bir katkı değil, ortalamaya göre farktır. Özellikle kategorik değişkenlerde dikkatli olun.
- LIME sonuçlarının kararsızlığı: LIME’ın sentetik örneklemeye bağlı olarak her çalıştırmada farklı sonuçlar vermesi normaldir. Aynı tahmin için birden fazla çalıştırarak ortalama alabilirsiniz.
- Model-agnostik varsayımı: Her iki yöntem de model-agnostiktir ancak SHAP ağaç modelleri için optimize edilmiş TreeSHAP versiyonuna sahiptir. Gradient boosting modellerinde SHAP daha hızlı çalışır. Bu bağlamda Gradient Boosting Modellerinde Erken Durdurma (Early Stopping) Kılavuzu yazımıza da göz atabilirsiniz.
- Interpretasyon yanılgısı: Açıklanabilirlik, nedensellik değildir. SHAP ve LIME korelasyonu gösterir, nedensel bir bağlantı kurmaz.
Örnek Kullanım Senaryoları
Bir kredi risk modeli düşünelim. Müşterinin kredi başvurusu reddedildiğinde nedenini açıklamak için SHAP veya LIME kullanılabilir. SHAP, başvurunun neden reddedildiğini (örneğin gelir düşük, borç oranı yüksek) global bir perspektiften de gösterirken, LIME sadece bu başvuruya odaklanır. Regülasyon gereksinimleri varsa SHAP’ın tutarlılığı avantaj sağlar. Benzer şekilde, tıbbi teşhis modellerinde SHAP’ın özellik etkileşimlerini yakalaması önemlidir; örneğin yaş ve tansiyonun birlikte etkisi.
Hangi Yöntem Daha İyi?
Kesin bir “daha iyi” yoktur. Genel kural: Projenizde global açıklama, tutarlılık ve özellik etkileşimleri kritikse SHAP; hız ve basitlik ön plandaysa LIME tercih edilmelidir. Ayrıca her iki yöntemi birlikte kullanmak da mümkündür – SHAP ile global önem sıralaması, LIME ile belirli örneklerin detaylı yorumu yapılabilir.
Model yorumlamaya başlamadan önce veri setinizi iyi tanıyın. Dengesiz veri kümelerinde sınıflandırma yapıyorsanız, Dengesiz Veri Kümelerinde Sınıflandırma: SMOTE ve Örnekleme Stratejileriyle Adım Adım Rehber yazımız size yardımcı olabilir. Ayrıca boyut indirgeme teknikleriyle model anlaşılırlığını artırmak için PCA, t-SNE ve UMAP Karşılaştırması yazımızı okuyabilirsiniz.
Unutmayın: Model ne kadar doğru olursa olsun, eğer açıklanamıyorsa güvenilirliği tartışmalıdır. SHAP ve LIME, bu güveni inşa etmenin iki önemli aracıdır.
Sık Sorulan Sorular
SHAP ve LIME arasındaki en büyük fark nedir?
En büyük fark, SHAP'ın oyun teorisine dayalı tutarlı ve global yorumlama sunması, LIME'ın ise yerel basit modellerle hızlı fakat kararsız açıklamalar üretmesidir.
SHAP mı yoksa LIME mı daha hızlı çalışır?
Genellikle LIME daha hızlıdır çünkü sadece belirli bir tahmin etrafında sentetik veri oluşturur. SHAP, özellikle çok sayıda özellik varsa daha yavaş olabilir, ancak TreeSHAP gibi optimizasyonlar performansı artırır.
SHAP ve LIME aynı sonuçları verir mi?
Hayır, nadiren aynı sonuçları verir. SHAP teorik olarak daha tutarlıyken, LIME rastgele örnekleme nedeniyle farklılık gösterebilir. Her ikisini birlikte kullanarak daha sağlam yorumlar elde edilebilir.
Hangi durumda SHAP kesinlikle tercih edilmeli?
Regülasyon gereksinimleri, denetlenebilirlik veya modelin genel davranışını anlama ihtiyacı varsa SHAP tercih edilmelidir. Ayrıca özellik etkileşimlerini incelemek için SHAP etkileşim değerleri kullanışlıdır.
LIME hangi durumlarda yeterlidir?
Hızlı prototipleme, tek bir tahminin nedenini anlama veya kaynak kısıtı olduğunda LIME yeterli olabilir. Ancak açıklamaların kararsız olabileceği akılda tutulmalıdır.






