SHAP (SHapley Additive exPlanations) (SHAP Değerleri)

Oyun teorisindeki Shapley değerlerini kullanarak makine öğrenmesi modellerinin her bireysel tahminini özellik katkıları üzerinden açıklayan yorumlanabilirlik çerçevesi.

SHAP (SHapley Additive exPlanations), oyun teorisinden ilham alan bir model yorumlanabilirlik çerçevesidir. 2017'de Lundberg ve Lee tarafından önerilen yöntem, herhangi bir makine öğrenmesi modelinin bireysel tahminlerini, her özelliğin (feature) katkısını sayısal olarak göstererek açıklar. Temel soru şudur: "Bu model bu tahmin için neden bu değeri verdi?" Shapley değerleri, kooperatif oyun teorisinde adil ödül paylaşımı için geliştirilmiş matematiksel bir kavramdır. SHAP bu kavramı ML özelliklerine uygular: her özellik, modelin tahmin sonucuna katkısına göre bir değer alır. Katkı hesaplaması, özelliğin tüm olası alt kümelere dahil edilip dışarıda bırakıldığındaki etki ortalamasını alır; bu, tarafsız ve teorik olarak sağlam bir yaklaşım sunar. Pratikte tam Shapley hesaplaması 2^n kombinasyon gerektirir (n: özellik sayısı) ve yüksek boyutlu veri için hesaplama açısından ağırdır. Lundberg ve Lee bu sorunu çözmek için modele özgü hızlı yaklaşımlar geliştirdi: TreeSHAP, karar ağacı ve gradient boosting modellerinde (XGBoost, LightGBM, RandomForest) Shapley değerlerini polinom zamanda hesaplar; LinearSHAP doğrusal modeller için analitik çözüm sunar. SHAP çıktıları üç düzeyde yorumlanabilir. Yerel açıklama (local explanation) bireysel tahminler için hangi özelliklerin ne kadar katkı yaptığını gösterir; örneğin bir kredi risk modelinde müşterinin yaşı tahminini +0.3 puan artırırken gelir seviyesi -0.15 puan düşürdüğünü ortaya koyar. Küresel açıklama (global explanation), tüm veri kümesi üzerinde ortalama mutlak SHAP değerlerini hesaplayarak hangi özelliklerin model kararlarında genel olarak belirleyici olduğunu gösterir. Beeswarm ve summary plotlar bu küresel bakışı görselleştirir. SHAP waterfall plot, dependence plot ve force plot gibi yerleşik görselleştirmeler veri bilimcilerin modeli hem müşterilere hem de düzenleyicilere (regülatörlere) açıklamasını kolaylaştırır. Finansal hizmetler (kredi kararları), sağlık (teşhis destek), insan kaynakları ve adli analitik gibi yüksek riskli alanlarda SHAP, model kararlarının şeffaflığını ve denetlenebilirliğini artırmak için fiili standart hâline gelmiştir.

SHAP Nedir ve Nasıl Çalışır?

SHAP (SHapley Additive exPlanations), 2017'de Lundberg ve Lee tarafından önerilen, oyun teorisi tabanlı bir model yorumlanabilirlik yöntemidir. Herhangi bir ML modelinin bireysel tahminlerini, her özelliğin katkısını göstererek açıklar. Shapley değerleri kooperatif oyun teorisinden gelir: bir tahmin sonucunun her özelliğe paylaştırılan katkısını, o özelliğin tüm olası alt kümelere dahil edilip çıkarıldığındaki etki ortalamasını alarak hesaplar. Bu yaklaşım teorik tutarlılık, yerel doğruluk ve simetri gibi axiomlara uyduğundan özellik önemi yöntemleri arasında en sağlam matematiksel temele sahip olanlardandır.

Üç SHAP Görselleştirme Türü

📊 Beeswarm / Summary Plot

Tüm örnekler üzerindeki SHAP değerlerini özellik başına nokta bulutu olarak gösterir. Her nokta bir örneğe karşılık gelir; renk özellik değerinin yüksek/düşük olduğunu, yatay konum ise SHAP katkısını gösterir. Küresel özellik önemi ve dağılımını aynı anda kavramak için en pratik görseldir.

💧 Waterfall Plot

Tek bir tahmin için temel değerden başlayarak her özelliğin katkısını adım adım gösterir. Artı katkılar sağa, eksi katkılar sola uzayan çubuklar olarak çizilir. Nihai tahmine nasıl ulaşıldığını adım adım izlemek için bireysel açıklama senaryolarında kullanılır.

🔗 Dependence Plot

Belirli bir özelliğin değeri ile SHAP katkısı arasındaki ilişkiyi gösterir; renk kodlamasıyla en çok etkileşime giren ikinci özelliği ortaya koyar. Modelin o özelliği nasıl yorumladığını — doğrusal mı, eşik değeri var mı — anlamak için kullanılır.

TreeSHAP: Hızlı Hesaplama

Tam Shapley hesaplaması 2^n kombinasyon gerektirdiğinden yüksek boyutlu veri için doğrudan uygulanamaz. TreeSHAP, karar ağacı tabanlı modellerde (XGBoost, LightGBM, RandomForest, CatBoost) Shapley değerlerini polinom zamanda — O(TL²) karmaşıklığıyla — hesaplar; T ağaç sayısı, L yaprak sayısıdır. Bu hız, onlarca değişkenli ve milyonlarca satır içeren gerçek dünya veri setlerinde SHAP'ı pratik kılar. LinearSHAP ise doğrusal modeller için analitik çözüm sunar; birden fazla SHAP değerini topladığınızda tam modelin tahminini elde edersiniz.

Yerel ve Küresel Açıklama

SHAP iki düzeyde içgörü sunar. Yerel açıklama (local explanation), tek bir tahmin için hangi özelliklerin ne kadar katkı yaptığını gösterir: kredi risk modelinde müşterinin gelir seviyesi tahmini -0.15 puan düşürürken geçmiş ödeme sicili +0.4 puan artırabilir. Bu bireysel açıklama, hem müşteriye şeffaf geri bildirim sağlar hem de regülatör gerekliliklerini karşılar. Küresel açıklama (global explanation), tüm veri kümesi üzerindeki ortalama mutlak SHAP değerleri aracılığıyla hangi özelliklerin model kararlarında genel olarak belirleyici olduğunu ortaya koyar — klasik özellik önemi değerlerinin aksine hem yön hem de büyüklük bilgisi içerir.

Kullanım Alanları ve Endüstri Uygulamaları

SHAP, yüksek riskli karar sistemlerinde model şeffaflığı için fiili standart hâline gelmiştir. Finansal hizmetlerde (kredi onayı, dolandırıcılık tespiti) GDPR ve yerel düzenlemeler otomatik kararların açıklanabilir olmasını zorunlu kılar; SHAP bu açıklamayı denetlenebilir ve tutarlı biçimde üretir. Sağlıkta teşhis destek sistemleri hangi biyobelirteçlerin tahmine katkıda bulunduğunu klinisyenlere göstermek için SHAP raporları kullanır. İnsan kaynakları modellerinde (işten ayrılma tahmini, işe alım) özellik katkılarının ayrımcılık denetimi için incelenmesi giderek yaygınlaşmaktadır. Python'da `shap` kütüphanesi scikit-learn, XGBoost, LightGBM ve PyTorch modellerini birkaç satır kodla açıklayabilir.

Sık Sorulan Sorular

  • check_circle SHAP ile özellik önemi (feature importance) arasındaki fark nedir?: Geleneksel özellik önemi (örn. RandomForest'ın Gini önemi) yalnızca küresel bir skor verir ve negatif katkıları gizler. SHAP her tahmin için ayrı değer üretir, katkının yönünü (artı/eksi) gösterir ve küresel önemin yanı sıra bireysel açıklama da sunar. Ayrıca SHAP'ın Shapley axiomları tutarlılığı teorik olarak garanti eder.
  • check_circle SHAP yalnızca ağaç modelleriyle mi çalışır?: Hayır. TreeSHAP ağaç modellerinde hızlı çalışır; LinearSHAP doğrusal modeller için analitik çözüm sunar. DeepSHAP ve KernelSHAP ise sinir ağları ve kara kutu modeller için genel yaklaşımlar olarak geliştirilmiştir. KernelSHAP model bağımsızdır ama hesaplama maliyeti yüksektir.
  • check_circle SHAP değeri negatif olabilir mi?: Evet. Negatif SHAP değeri, o özelliğin modelin tahminini temel değerin (ortalama tahmin) altına çektiğini gösterir. Örneğin kredi risk modelinde düşük gelir özelliği SHAP değerini negatif yaparken yüksek öz sermaye oranı pozitif katkı verir.
  • check_circle LIME ile SHAP arasındaki fark nedir?: LIME (Local Interpretable Model-agnostic Explanations) her açıklama için lokal basit bir model (doğrusal) eğitir; bu yaklaşım tutarsız sonuçlar üretebilir ve Shapley axiomlara uymaz. SHAP ise matematiksel olarak daha sağlam, tutarlı ve yeniden üretilebilirdir. SHAP genellikle tercih edilir; LIME'in avantajı metin ve görüntü gibi yapılandırılmamış veri için uyarlanabilmesidir.
  • check_circle SHAP büyük veri setlerinde yavaş mıdır?: TreeSHAP, XGBoost veya LightGBM gibi gradient boosting modellerinde milyonlarca örnek için saniyeler içinde hesaplanabilir. Genel KernelSHAP çok sayıda permütasyon gerektirdiğinden büyük veri setinde yavaşlar; bu durumda örneklem alt kümesi (subsample) veya background veri azaltma uygulanır. GPU destekli SHAP kütüphaneleri de geliştirilmektedir.