SHAP Analizi ~ SHAP Değerleriyle Makine Öğrenimi Modelleri Nasıl Yorumlanır?

Tarık Kaan Koç
5 min readOct 30, 2022

--

Github Repo

Makine Öğrenimi Modelleri Nasıl Yorumlanır? ☕️! :)

Makine öğrenimi modelleri genellikle bir “kara kutu” olarak görülür. Bazı özellikleri (features) girdi olarak alır ve çıktı olarak bazı tahminler üretir. Model eğitiminden sonra sık sorulan sorular şunlardır:

  • Farklı özellikler (Features) tahmin sonuçlarını nasıl etkiler?
  • Tahmin sonuçlarını etkileyen en önemli özellikler nelerdir?
  • Model performans değerlendirme metriklerinin sonuçları harika görünüyor, ancak sonuçlara güvenmeli miyim?

Modelinizi tıpkı yukarıdaki görselde olduğu gibi bir kara kutu olduğunu düşünün. Highly-Trained olan bir modelinizin açıklanması, anlaşılması kolay mı? Örneğin: İçinde ne olduğunu söylemeden siyah bir hap yutmamı isterseniz kesinlikle onu yutmak istemem. Bir modelin yorumlanabilirliği, bir ilaç şişesi içerisindeki kağıt(ilacın ne olduğunu ve hangi şirket tarafından üretildiğini vs izah eden ilaç reçetesi:) işte tıpkı o kağıt gibidir. Kolayca benimsenmesi için etkili hapımızı şeffaf hale getirmemiz gerekiyor. AI/ML/DL modellerinin yorumlanabilirliği aktif bir araştırma alanıdır.

Google’da “SHAP Analysis” İle ilgili search yaptığınız takdirde, terimin Lundberg ve Lee’nin SHapley Additive ExPlanations (SHAP) Kavramını tanıtan “A Unified Approach to Interpreting Model Predictions” adlı 2017 tarihli bir makaleden geldiğini göreceksiniz. SHAP’ın amacı, her bir özniteliğin tahmine olan katkısını hesaplayarak bir makine öğrenimi modelinin tahminini açıklamaktır.

İnsanlar olarak Makine Öğrenimi Modellerinin yaptığı tahminleri nasıl yorumlayabiliriz? Modelin çıkarılacak verilere verdiği önemi nasıl ölçebiliriz? Bu tartışmalı konu hakkında konuşacağız: Makine Öğrenimi Modellerinin yorumlanabilirliği. SHAP’ın nasıl çalıştığını ve ana bileşeni olan Shapley Değerlerini göreceğiz.

Model Açıklanabilirliği Neden Önemli Ki?

Model açıklanabilirliği makine öğrenimi dünyasında önemli bir rol oynamaktadır. Yöneticiler ve paydaşlar için bir ML modelinin nihai çıktısını nasıl bulunduğu ile ilgili daha fazla bilgiye sahip olduklarında, AI tabanlı sistemlere güvenme olasılıkları daha yüksektir. Açıklanabilir AI araçları, modelin çıktısına yol açan gerekçeye ilişkin net ve anlaşılır açıklamalar sağlamak için kullanılabilir. Model öngörüleri aşağıdaki nedenlerle yararlıdır:

  • Hata Ayıklama
  • Feature Engineering — Özellik Mühendisliği
  • Gelecekteki Veri Toplamayı Sağlamak/Yönlendirmek
  • İnsan Karar Verme Sürecini Bilgilendirmek
  • Güven İnşa Etmek

— Shapely

SHAP Analizi Shapely oyun teorisindeki mantığı kullanarak, oyun teorisinden Shapley değerlerini hesaplayarak bizlere sonuç sunmaktadır. Basitçe söylemek gerekirse, Shapely değerleri, girdilerin göreceli etkisini ortalamayla karşılaştırarak, ölçtüğümüz her özelliğin (veya değişkenin) makine öğrenimi modelinin nihai çıktısı üzerindeki göreceli etkisini gösteren bir yöntemdir. Shapley değerleri, amacı her oyuncunun oyuna katkısını ölçmek olan işbirlikçi oyun teorisi alanının bir kavramıdır. Shapley değerlerini elde etme yöntemi 1953'te Lloyd Shapley tarafından önerilmiştir. Shapley değerleri, “n” oyuncunun toplu olarak katıldığı ve “n”nin her birinde adil bir şekilde dağıtılması amaçlanan bir “p” ödülü aldığı bağlamdan ortaya çıkıyor. Oyuncuların bireysel katkılarına göre böyle bir katkı Shapley değeridir.

Basit teknik bir ifadeyle, bir Shapley değeri, tüm olası koalisyonlar arasında bir özelliğin bir örneğinin ortalama marjinal katkısıdır. Ortalama marjinal katkı? tüm olası koalisyonlar? Hadi tüm bunların ne anlama geldiğini ayrıntılı olarak görelim.

Diyelim ki bir grup arkadaş (A , B , C , D ) birlikte çalışıyor ve P kârı elde ediyor. Karı adil bir şekilde dağıtmak için her üyenin katkısının yani her arkadaşın Shapley değerinin ölçülmesi amaçlanır. Belirli bir üyenin Shapley değerini hesaplamak için, üyenin mevcut olduğu zaman elde edilen kâr arasındaki fark, o üyenin yokluğunda elde edilen kâra göre hesaplanır (bu fark, belirli bir üyenin üyeye marjinal katkısıdır). mevcut koalisyon), bu, katkınızı hesaplamak istediğiniz üyenin bulunduğu yerde oluşturulabilecek tüm alt gruplar (veya koalisyonlar) için yapılır. Elde edilen farkların ortalaması (ortalama marjinal katkı) Shapley değeridir.
Aşağıdaki şekilde, arkadaş A’nın B, C ve D arkadaşlarından oluşan harmanlamaya marjinal katkısının hesaplanmasının bir temsilini görüyoruz.

“A” üyesinin B, C, D üyelerinin koalisyonuna Marjinal Katkısı

Örneğin, A’nın Shapley değerini hesaplamak için, A’nın göründüğü tüm özellikler ile homojen bir şekilde karıştırarak tüm durumlarını oluşturmamız gerekir, her karıştırma için marjinal katkı hesaplanacaktır (üye mevcut olduğunda elde edilen kâr ile üye mevcut olduğunda elde edilen kâr arasındaki fark). üye yokken elde edilen kâr) ve tüm marjinal katkılar göz önüne alındığında, ortalama marjinal katkı hesaplanacaktır, yani Shapley değeri. Basit, değil mi? Aşağıdaki görseldede arkadaş A için Shapley değerinin hesaplanmasının temsilini göstermektedir.

“A” için Shaply değerinin hesaplanması

— Shapley değerleri ML modellerinin yorumlanabilirliği ile nasıl ilişkilidir?

Bir Makine Öğrenmesi Modeli bağlamında, örneğimizdeki her arkadaşın bir özellik olduğunu, oyunun tahmin üreten fonksiyon olduğunu ve kârın tahmin olduğunu düşünelim.

Hemen toparlayalım:

  • Her bir A Kişisi/Arkadaş = Özellik/Değişken
  • Oyun = Tahmin Fonksiyonu
  • Kâr = Prediction (Tahmin)

SHAP (Shapley Additive Explanations)

SHAP’ın ana amacı, SHAP değerleriyle yorumlanacak x önreğinin her bir özelliği için Shapley değerlerini hesaplamaktır; burada her Shapley değeri, ilişkilendirildiği özelliğin tahminde yarattığı etkiyi temsil eder.

Shapley değerlerini hesaplamak için lineer LIME uyarlanmış bir yöntem olan Kernel Shap kullanılmaktadır. Kernel Shap, çok daha az koalisyon örneği ile Shapley değerlerinin hesaplanmasını sağlayan bir yöntemdir. Kernel Shap, çözümün katsayılarının Shapley değerleri olduğu ağırlıklı bir doğrusal regresyona dayanır. Ağırlıklı lineer modeli oluşturmak için n örnek koalisyon alınır, her koalisyon için tahmin elde edilir ve Kernel SHAP ile ağırlık hesaplanır. Son olarak, ağırlıklı lineer model uygunluğu ile elde edilen katsayılar Shapley değerleridir. Biraz karmaşık gelmiş olabilir. (Tekrar izah etmekte fayda var.) Şimdi elmizde f1, f2, f3 ve f4 özelliklerinden oluşan x örneğini açıklamak istediğimizi varsayalım. Süreç bir dizi koalisyon örneği alarak başlar. Örneğin, koalisyon (1,0,1,0), f1 ve f3 özelliklerinin varlığına ve f2 ve f4 özelliklerinin yokluğuna atıfta bulunur. ML modelleri çıkarım yapmak için öznitelikleri atlayamadığından, f2 ve f4 özniteliklerinin değerleri eğitim setinden alınan değerlerle değiştirilir. Daha sonra koalisyon (1,0,1,0) için x örneğinden f1 ve f3 özelliklerinin değerleri alınır ve f2 ve f4 özelliklerinin değerleri eğitim setinden gelir, bu şekilde doğru tahmin yapılabilir. . Bu nedenle, her koalisyon örneği için tahmin elde edilir. Ardından Kernel SHAP ile ağırlık hesaplanır. Doğrusal model çözüldüğünde, elde edilen katsayılar Shapley değerleridir.

Formül: Kernel SHAP
Yukarıdaki hazırlamış olduğum diagram üzerinden görebileceğimiz gibi, Kernel Shap aracılığıyla bir ML modelinden Shapley değerleri elde etme işlemi karmaşık bir işlem değil, zahmetlidir. Ana bileşenler koalisyonlar, tahminler ve ağırlıklardır.

Son olarak, Kernel Shap’in Shapley değerlerinin hesaplanması için modelden bağımsız tek yöntem olduğunu ifade etmek gerekir, yani Kernel Shap, doğasından bağımsız olarak herhangi bir ML modelini yorumlayabilir. Öte yandan, Max SHAP, Low-Order SHAP, Deep SHAP, Linear SHAP gibi farklı model türlerine dayalı Shapley değerleri elde etmek için başka varyantlar da önerilmektedir.

— Kaynak Önerisi:

— Refernas Alınan Kaynaklar:

[1] Shapley Values — A Gentle Introduction

[2] Pace, R. Kelley and Ronald Barry, Sparse Spatial Autoregressions, Statistics and Probability Letters, 33 (1997) 291–297

[3] Scikit-learn developers. Real world datasets: California Housing dataset. Last access in Jan/2022. (BSD License)

[4] A Value for n-Person Games. L.S. Shapley. 1953

[5] A Unified Approach to Interpreting Model Predictions

Best regards…

--

--