9.3 Karşıt Gerçekçi Açıklamalar (Counterfactual Explanations)
Yazarlar: Susanne Dandl & Christoph Molnar
Last updated
Yazarlar: Susanne Dandl & Christoph Molnar
Last updated
Bir karşıt gerçekçi açıklama, neden-sonuç ilişkisini "X gerçekleşmemiş olsaydı, Y de gerçekleşmezdi" şeklinde tanımlar. Örneğin: “Bu sıcak kahveden bir yudum almamış olsaydım, dilimi yakmazdım”. Y olayı, dilimi yakmamdır; X nedeni ise sıcak kahve içmiş olmamdır. Karşıt gerçekçi düşünmek, gözlemlenen gerçeklerle çelişen varsayımsal bir gerçekliği hayal etmeyi gerektirir (örneğin, sıcak kahve içmediğim bir dünya), bu nedenle "karşıt gerçekçi" adını alır. Karşıt gerçekçi düşünme yeteneği, diğer hayvanlara kıyasla bizi insanlar olarak çok akıllı kılar.
Yorumlanabilir makine öğreniminde, karşıt gerçekçi açıklamalar bireysel örneklerin tahminlerini açıklamak için kullanılabilir. “Olay”, bir örneğin tahmin edilen sonucudur, “nedenler” ise bu örneğin modele girdi olarak verilen ve belirli bir tahmine “neden” olan özellik değerleridir. Bir grafik olarak gösterildiğinde, girdiler ile tahmin arasındaki ilişki çok basittir: Özellik değerleri tahmine neden olur.
Gerçekte, girdiler ile tahmin edilecek sonuç arasındaki ilişki nedensel olmasa bile, bir modelin girdilerini tahminin nedeni olarak görebiliriz.
Bu basit grafik göz önüne alındığında, makine öğrenimi modellerinin tahminleri için karşıt gerçekçileri nasıl simüle edebileceğimizi görmek kolaydır: Tahminleri yapmadan önce bir örneğin özellik değerlerini basitçe değiştiririz ve tahminin nasıl değiştiğini analiz ederiz. Tahminin anlamlı bir şekilde değiştiği senaryolarla ilgileniyoruz, örneğin tahmin edilen sınıfın (örneğin, kredi başvurusunun kabul edilip edilmemesi) tersine dönmesi veya tahminin belirli bir eşiğe ulaşması (örneğin, kanser olasılığının %10'a ulaşması). Bir tahminin karşıt gerçekçi açıklaması, tahmini önceden tanımlanmış bir çıktıya değiştiren en küçük özellik değeri değişikliğini tanımlar.
Hem modelden bağımsız hem de modele özgü karşıt gerçekçi açıklama yöntemleri vardır, ancak bu bölümde yalnızca model girdileri ve çıktıları ile çalışan (ve belirli modellerin iç yapısıyla ilgilenmeyen) modelden bağımsız yöntemlere odaklanıyoruz. Bu yöntemler, yorumlamanın özellik değerlerindeki farkların bir özeti olarak ifade edilebildiği için modelden bağımsız bölümde de rahatça yer alabilir (“tahmini değiştirmek için A ve B özelliklerini değiştirin”). Ancak bir karşıt gerçekçi açıklama kendisi yeni bir örnektir, bu nedenle bu bölümde yer alır (“X örneğinden başlayarak, karşıt gerçekçi bir örnek elde etmek için A ve B’yi değiştirin”). Prototiplerin aksine, karşıt gerçekçiler eğitim verilerinden gerçek örnekler olmak zorunda değildir, ancak yeni bir özellik değeri kombinasyonu olabilirler.
Karşıt gerçekçilerin nasıl oluşturulacağını tartışmadan önce, karşıt gerçekçiler için bazı kullanım durumlarını ve iyi bir karşıt gerçekçi açıklamanın nasıl göründüğünü tartışmak istiyorum.
İlk örneğimizde, Peter bir kredi başvurusunda bulunuyor ve (makine öğrenimi destekli) bankacılık yazılımı tarafından reddediliyor. Başvurusunun neden reddedildiğini ve kredi alma şansını nasıl artırabileceğini merak ediyor. “Neden” sorusu, bir karşıt gerçekçi olarak formüle edilebilir: Reddedilme tahminini onaylanmaya değiştirecek özelliklerde (gelir, kredi kartı sayısı, yaş, ...) en küçük değişiklik nedir? Olası bir cevap şudur: Peter yılda 10.000 daha fazla kazanırsa, krediyi alırdı. Ya da Peter’ın daha az kredi kartına sahip olması ve beş yıl önce bir krediyi temerrüde düşmemiş olması durumunda, krediyi alırdı. Peter, bankanın şeffaflığa ilgi duymadığı için reddedilme nedenlerini asla bilemeyecek, ama bu başka bir hikaye.
İkinci örneğimizde, sürekli bir sonucu tahmin eden bir modeli karşıt gerçekçi açıklamalarla açıklamak istiyoruz. Anna dairesini kiraya vermek istiyor, ancak ne kadar kira talep etmesi gerektiğinden emin değil, bu yüzden kira tahmin etmek için bir makine öğrenimi modeli eğitmeye karar veriyor. Tabii ki, Anna bir veri bilimci olduğu için sorunlarını bu şekilde çözüyor. Boyut, konum, evcil hayvanlara izin verilip verilmediği gibi tüm detayları girdikten sonra, model ona 900 EUR talep edebileceğini söylüyor. 1000 EUR veya daha fazlasını bekliyordu, ancak modeline güveniyor ve dairenin değerini nasıl artırabileceğini görmek için özellik değerleriyle oynamaya karar veriyor. Dairenin 15 m² daha büyük olsaydı 1000 EUR’un üzerinde kiraya verilebileceğini öğreniyor. İlginç, ancak uygulanamaz bir bilgi, çünkü dairesini büyütemiyor. Sonunda, sadece kontrolü altında olan özellik değerlerini (yerleşik mutfak evet/hayır, evcil hayvanlara izin verilip verilmediği evet/hayır, zemin tipi vb.) ayarlayarak, evcil hayvanlara izin verir ve daha iyi yalıtımlı pencereler takarsa 1000 EUR talep edebileceğini öğreniyor. Anna, sonucu değiştirmek için sezgisel olarak karşıt gerçekçilerle çalışmış oluyor.
Karşıt gerçekçiler, mevcut örneğe karşıt olmaları ve seçici olmaları nedeniyle insan dostu açıklamalardır; bu, genellikle az sayıda özellik değişikliğine odaklandıkları anlamına gelir. Ancak karşıt gerçekçiler, ‘Rashomon etkisinden’ muzdariptir. Rashomon, bir Samuray'ın cinayetinin farklı insanlar tarafından anlatıldığı Japon filmi. Her hikaye sonucu eşit derecede iyi açıklar, ancak hikayeler birbirleriyle çelişir. Aynı şey karşıt gerçekçilerle de olabilir, çünkü genellikle birden fazla farklı karşıt gerçekçi açıklama vardır. Her karşıt gerçekçi, belirli bir sonucun nasıl elde edildiğine dair farklı bir “hikaye” anlatır. Bir karşıt gerçekçi, A özelliğini değiştirmeyi söyleyebilirken, diğer bir karşıt gerçekçi A'yı aynı bırakıp B özelliğini değiştirmeyi önerebilir, bu da bir çelişki oluşturur. Bu çoklu doğrular sorunu, ya tüm karşıt gerçekçi açıklamaları rapor ederek ya da karşıt gerçekçileri değerlendirmek ve en iyisini seçmek için bir kriter belirleyerek ele alınabilir.
Kriterlerden bahsederken, iyi bir karşıt gerçekçi açıklamayı nasıl tanımlarız? Öncelikle, bir karşıt gerçekçi açıklamanın kullanıcısı, bir örneğin tahmininde ilgili bir değişikliği tanımlar (= alternatif gerçeklik). Bariz ilk gereksinim, bir karşıt gerçekçi örneğinin önceden tanımlanmış tahmini mümkün olduğunca yakından üretmesidir. Önceden tanımlanmış tahmine sahip bir karşıt gerçekçi bulmak her zaman mümkün değildir. Örneğin, iki sınıfa sahip bir sınıflandırma ortamında, nadir bir sınıf ve sık bir sınıf varsa, model her zaman bir örneği sık sınıfa sınıflandırabilir. Özellik değerlerini değiştirerek tahmin edilen etiketin sık sınıftan nadir sınıfa geçmesini sağlamak imkansız olabilir. Bu nedenle, karşıt gerçekçinin tahmininin önceden tanımlanmış sonucu tam olarak karşılaması gerekliliğini gevşetmek istiyoruz. Sınıflandırma örneğinde, nadir sınıfın tahmin edilen olasılığının mevcut %2 yerine %10'a çıkarıldığı bir karşıt gerçekçi arayabiliriz. Soru şu olur: Tahmin edilen olasılık %2'den %10'a (veya yakınına) değişmesi için özelliklerdeki minimal değişiklikler nelerdir?
Başka bir kalite kriteri, bir karşıt gerçekçinin özellik değerleri açısından örneğe mümkün olduğunca benzer olmasıdır. İki örnek arasındaki mesafe, örneğin, Manhattan mesafesi veya hem ayrık hem de sürekli özellikler varsa Gower mesafesi ile ölçülebilir. Karşıt gerçekçi sadece orijinal örneğe yakın olmakla kalmamalı, aynı zamanda mümkün olduğunca az sayıda özelliği değiştirmelidir. Bu ölçekte bir karşıt gerçekçi açıklamasının ne kadar iyi olduğunu ölçmek için, değişen özelliklerin sayısını sayabiliriz veya daha karmaşık matematiksel terimlerle, karşıt gerçekçi ile gerçek örnek arasındaki L0 normunu ölçebiliriz.
Üçüncü olarak, karar verici kişiye farklı bir sonuç üretmek için birden fazla uygulanabilir yol sunabilmek adına, birden fazla çeşitli karşıt gerçekçi açıklama oluşturmak sıklıkla arzu edilir. Örneğin, kredi örneğimize devam edersek, bir karşıt gerçekçi açıklama krediyi almak için sadece geliri iki katına çıkarmayı önerebilirken, başka bir karşıt gerçekçi açıklama yakın bir şehre taşınmayı ve geliri küçük bir miktar artırmayı önerebilir. İlk karşıt gerçekçinin bazıları için mümkün olabileceği, diğerlerinin ise ikincisinin daha uygulanabilir olabileceği not edilebilir. Böylece, karar verici kişiye istenen sonuca ulaşmak için farklı yollar sunmanın yanı sıra, çeşitlilik de “çeşitli” bireylerin kendileri için uygun olan özellikleri değiştirmelerine olanak tanır.
Son gereksinim, bir karşıt gerçekçi örneğinin muhtemel özellik değerlerine sahip olmasıdır. Bir dairenin büyüklüğünün negatif olduğu veya oda sayısının 200 olarak belirlendiği kira örneği için karşıt gerçekçi bir açıklama oluşturmak mantıklı olmazdı. Karşıt gerçekçi, verilerin ortak dağılımına göre muhtemel olduğunda daha da iyidir; örneğin, 10 odalı ve 20 m²'lik bir daire karşıt gerçekçi açıklama olarak kabul edilmemelidir. İdeal olarak, metrekare sayısı artırılıyorsa, oda sayısında da bir artış önerilmelidir.
Karşıt gerçekçi açıklamalar oluşturmak için basit ve saf bir yaklaşım deneme-yanılma ile aramadır. Bu yaklaşım, ilgilenilen örneğin özellik değerlerini rastgele değiştirmeyi ve istenen çıktı tahmin edildiğinde durmayı içerir. Örneğin, Anna'nın daha yüksek kira talep edebileceği bir daire versiyonu bulmaya çalıştığı örnek gibi. Ancak deneme-yanılma yönteminden daha iyi yaklaşımlar vardır. İlk olarak, yukarıda bahsedilen kriterlere dayanan bir kayıp fonksiyonu tanımlarız. Bu kayıp, ilgilenilen örneği, bir karşıt gerçekçiyi ve istenen (karşıt gerçekçi) sonucu girdi olarak alır. Daha sonra, bir optimizasyon algoritması kullanarak bu kaybı minimize eden karşıt gerçekçi açıklamayı bulabiliriz. Birçok yöntem bu şekilde ilerler, ancak kayıp fonksiyonunun ve optimizasyon yönteminin tanımında farklılık gösterirler.
Aşağıda, ilk olarak Wachter ve diğ. (2017) tarafından karşıt gerçekçi açıklamayı bir yorumlama yöntemi olarak tanıtan ve ikinci olarak Dandl ve diğ. (2020) tarafından yukarıda bahsedilen dört kriterin tümünü dikkate alan iki yönteme odaklanıyoruz.
9.3.1.1 Wachter ve diğ.
İlk terim, karşıt gerçekçi x’ için model tahmini ile kullanıcının önceden tanımlaması gereken istenen sonuç y’ arasındaki kare uzaklıktır. İkinci terim, açıklanacak örnek x ile karşıt gerçekçi x’ arasındaki uzaklık ddd'dir. Kayıp, karşıt gerçekçinin tahmin edilen sonucunun önceden tanımlanmış sonuçtan ne kadar uzak olduğunu ve karşıt gerçekçinin ilgilenilen örnekten ne kadar uzak olduğunu ölçer. Uzaklık fonksiyonu ddd, her özelliğin ters medyan mutlak sapma (MAD) ile ağırlıklandırılmış Manhattan uzaklığı olarak tanımlanır.
Toplam uzaklık, tüm 𝑝 özellik bazında uzaklıkların toplamıdır, yani örnek 𝑥 ile karşıt gerçekçi 𝑥 ’ arasındaki özellik değerlerinin mutlak farklarıdır. Özellik bazındaki uzaklıklar, veri kümesi üzerinde özellik 𝑗'nin medyan mutlak sapmasının tersine göre ölçeklendirilir ve şu şekilde tanımlanır:
Bir vektörün medyanı, vektör değerlerinin yarısının daha büyük ve diğer yarısının daha küçük olduğu değerdir. MAD (Medyan Mutlak Sapma), bir özelliğin varyansının eşdeğeridir, ancak merkez olarak ortalamayı kullanmak ve kare uzaklıkları toplamak yerine, medyanı merkez olarak kullanır ve mutlak uzaklıkları toplarız. Önerilen uzaklık fonksiyonunun Öklid uzaklığına göre avantajı, aykırı değerlere karşı daha dayanıklı olmasıdır. MAD ile ölçeklendirme, tüm özellikleri aynı ölçeğe getirmek için gereklidir – bir dairenin büyüklüğünü metrekare veya fit cinsinden ölçmeniz önemli olmamalıdır.
Parametre 𝜆, tahminlerdeki mesafeyi (ilk terim) özellik değerlerindeki mesafe ile (ikinci terim) dengelemektedir. Kayıp, belirli bir 𝜆 için çözülür ve karşıt gerçekçi 𝑥 ’ döndürür. Daha yüksek bir 𝜆 değeri, istenen sonuç 𝑦 ’ ile tahminleri yakın olan karşıt gerçekçileri tercih ettiğimiz anlamına gelirken, daha düşük bir değer, özellik değerlerinde 𝑥 ile çok benzer olan karşıt gerçekçileri tercih ettiğimiz anlamına gelir. Eğer 𝜆 çok büyükse, 𝑥'den ne kadar uzak olursa olsun 𝑦 ’ ile tahmini en yakın olan örnek seçilecektir. Sonuç olarak, kullanıcı, karşıt gerçekçinin tahmininin istenen sonucu karşılaması gerekliliği ile karşıt gerçekçinin 𝑥 ile benzer olması gerekliliği arasında nasıl bir denge kuracağına karar vermelidir. Yöntemin yazarları, 𝜆 için bir değer seçmek yerine, karşıt gerçekçi örneğin tahmininin 𝑦 ’den ne kadar uzak olabileceği için bir tolerans 𝜖 seçmeyi önermektedir. Bu kısıtlama şu şekilde yazılabilir:
Kayıp fonksiyonunu minimize etmek için, Nelder-Mead gibi herhangi bir uygun optimizasyon algoritması kullanılabilir. Makine öğrenimi modelinin gradyanlarına erişiminiz varsa, ADAM gibi gradyan tabanlı yöntemleri kullanabilirsiniz. Açıklanacak örnek 𝑥, istenen çıktı 𝑦 ’ ve tolerans parametresi 𝜖 önceden ayarlanmalıdır. Kayıp fonksiyonu 𝑥 ’ için minimize edilir ve yeterince yakın bir çözüm bulunana kadar 𝜆 artırılırken (tolerans parametresi içinde) (yerel olarak) optimal karşıt gerçekçi 𝑥 ’ döndürülür:
Genel olarak, karşıt gerçekçiler üretmek için tarif basittir:
Açıklanacak bir örnek x, istenen sonuç y’ bir tolerans ϵ ve λ için (düşük) bir başlangıç değeri seçin.
Başlangıç karşıt gerçekçi olarak rastgele bir örnek seçin.
Başlangıçta seçilen karşıt gerçekçi ile kaybı optimize edin.
olduğu sürece
λ'yı artırın.
Mevcut karşıt gerçekçi ile kaybı optimize edin.
Kayıp fonksiyonunu minimize eden karşıt gerçekçiyi döndürün.
Adımları 2-4 tekrar edin ve karşıt gerçekçiler listesini veya kaybı minimize eden karşıt gerçekçiyi döndürün.
Önerilen yöntemin bazı dezavantajları vardır. Sadece ilk ve ikinci kriterleri dikkate alır, son ikisini (“sadece birkaç özellik değişikliği ve muhtemel özellik değerleri ile karşıt gerçekçiler üretmek”) dikkate almaz. d, 10 özelliği 1 artırmanın, bir özelliği 10 artırmakla x'e aynı uzaklığı vereceği için seyrek çözümleri tercih etmez. Gerçekçi olmayan özellik kombinasyonları cezalandırılmaz.
Yöntem, çok sayıda farklı seviyeye sahip kategorik özellikleri iyi şekilde ele almaz. Yöntemin yazarları, kategorik özelliklerin her bir değer kombinasyonu için yöntemi ayrı ayrı çalıştırmayı önermişlerdir, ancak bu, çok sayıda değere sahip birden fazla kategorik özellik varsa kombinatoryal patlamaya yol açacaktır. Örneğin, on benzersiz seviyeye sahip altı kategorik özellik, bir milyon çalıştırma anlamına gelecektir.
Şimdi, bu sorunların üstesinden gelen başka bir yaklaşıma göz atalım.
9.3.1.2 Dandl ve diğ.
Dandl ve arkadaşları, dört hedefli bir kayıp fonksiyonunu aynı anda minimize etmeyi önermektedirler:
Her dört hedef olan ile arasındaki her biri, yukarıda bahsedilen dört kriterden birine karşılık gelmektedir. İlk hedef , karşıt gerçekçi 𝑥 ’'imizin tahmininin istenen tahminimiz 𝑦 ’ 'e mümkün olduğunca yakın olması gerektiğini yansıtmaktadır. Bu nedenle, ile 𝑦 ’ arasındaki mesafeyi minimize etmek istiyoruz, burada Manhattan metriği ( normu) ile hesaplanmaktadır:
İkinci hedef , karşıt gerçekçimizin örnek 𝑥'imize mümkün olduğunca benzer olması gerektiğini yansıtır. 𝑥 ’ ile 𝑥 arasındaki mesafeyi Gower mesafesi olarak ölçer:
p, özellik sayısını ifade eder. 'nin değeri, 'nın özellik türüne bağlıdır:
Bir sayısal özellik olan 𝑗'in mesafesini gözlemlenen değer aralığı 'ye bölmek, tüm özellikler için 'yi 0 ile 1 arasında ölçeklendirir.
Gower mesafesi hem sayısal hem de kategorik özellikleri işleyebilir, ancak kaç özelliğin değiştirildiğini saymaz. Bu nedenle, üçüncü bir hedef olan 'te normunu kullanarak özellik sayısını sayarız:
'ü minimize ederek üçüncü kriterimiz olan seyrek özellik değişikliklerine ulaşmayı hedefliyoruz.
Dördüncü hedef olan o₄, karşıt gerçekçilerimizin muhtemel özellik değerlerine/ kombinasyonlarına sahip olması gerektiğini yansıtır. Bir veri noktasının ne kadar "muhtemel" olduğunu eğitim verilerini veya başka bir veri kümesini kullanarak çıkarabiliriz. Bu veri kümesini olarak adlandırıyoruz. Muhtemellik için bir yaklaşık değer olarak, o₄, ’ ile en yakın gözlemlenen veri noktası arasındaki ortalama Gower mesafesini ölçer:
Wachter ve diğ. ile karşılaştırıldığında, λ gibi dengeleme/ağırlıklandırma terimlerine sahip değildir. Dört hedef olan 'ü bunları toplamak ve ağırlıklandırmak suretiyle tek bir hedefe indirgemek istemiyoruz, ancak tüm dört terimi aynı anda optimize etmek istiyoruz.
Bunu nasıl yapabiliriz? Nondominated Sorting Genetic Algoritması veya kısaca NSGA-II'yi kullanıyoruz. NSGA-II, Darwin’in “en güçlülerin hayatta kalması” yasasını uygulayan doğadan esinlenen bir algoritmadır. Bir karşıt gerçekçinin uygunluğunu, hedef değerleri vektörü ile gösteririz. Bir karşıt gerçekçi için hedef değerleri ne kadar düşükse, o kadar “uygun” olur.
Algoritma, durma kriteri karşılanana kadar (örneğin, maksimum iterasyon/sürü sayısı) tekrarlanan dört adımdan oluşur. Aşağıdaki şekil, bir neslin dört adımını görselleştirir.
İlk nesilde, açıklanacak örnek x'e kıyasla bazı özellikleri rastgele değiştirerek karşıt gerçekçi adaylardan oluşan bir grup başlatılır. Yukarıdaki kredi örneğine bağlı kalarak, bir karşıt gerçekçi geliri €30.000 artırmayı önerebilirken, diğeri son beş yılda hiç temerrüt olmamayı ve yaşı on azaltmayı önerebilir. Diğer tüm özellik değerleri x'in değerlerine eşittir. Her aday daha sonra yukarıda bahsedilen dört hedef fonksiyonu kullanılarak değerlendirilir. Bunlar arasından, daha uygun adayların seçilme olasılığının daha yüksek olduğu bazı adayları rastgele seçeriz. Adaylar, sayısal özellik değerlerini ortalamak veya kategorik özelliklerini çaprazlamak suretiyle onlara benzer çocuklar üretmek için ikili olarak yeniden kombine edilir. Ayrıca, tüm özellik alanını keşfetmek için çocukların özellik değerlerini biraz değiştiririz.
İki ortaya çıkan gruptan, biri ebeveynlerden diğeri çocuklardan oluşan gruplardan, yalnızca iki sıralama algoritmasını kullanarak en iyi yarısını istiyoruz. Non-dominated sorting algoritması adayları hedef değerlerine göre sıralar. Adaylar eşit derecede iyiyse, crowding distance sorting algoritması adayları çeşitliliklerine göre sıralar.
İki sıralama algoritmasının sıralamasına göre, en umut verici ve/veya en çeşitli adayların yarısını seçeriz. Bu seti sonraki nesil için kullanırız ve seçim, yeniden kombinasyon ve mutasyon süreci ile tekrar başlarız. Adımları tekrar tekrar tekrarlayarak, umarız düşük hedef değerlerine sahip çeşitli ve umut verici adaylardan oluşan bir sete yaklaşırız. Bu setten en çok memnun olduğumuz adayları seçebiliriz veya hangi özelliklerin ne sıklıkla değiştirildiğini vurgulayarak tüm karşıt gerçekçilerin bir özetini verebiliriz.
Aşağıdaki örnek, Dandl ve ark. (2020) tarafından verilen kredi veri seti örneğine dayanmaktadır. Alman Kredi Riski veri seti, makine öğrenimi zorlukları platformu kaggle.com üzerinde bulunabilir.
Yazarlar, bir müşterinin iyi bir kredi riskine sahip olma olasılığını tahmin etmek için destek vektör makineleri (radial basis kernel ile) eğittiler. İlgili veri seti, kredi ve müşteri bilgilerini içeren dokuz özelliğe sahip 522 tam gözlemden oluşmaktadır.
Hedef, aşağıdaki özellik değerlerine sahip bir müşteri için karşıt gerçekçi açıklamalar bulmaktır:
58
f
unskilled
free
little
6143
48
car
SVM, kadının iyi bir kredi riskine sahip olma olasılığını %24,2 olarak tahmin ediyor. Karşıt gerçekçiler, tahmin edilen olasılığı %50'nin üzerine çıkarmak için giriş özelliklerinin nasıl değiştirilmesi gerektiğini yanıtlamalıdır.
Aşağıdaki tablo, en iyi on karşıt gerçekçiyi göstermektedir:
age
sex
job
amount
duration
skilled
-20
0.108
2
0.036
0.501
skilled
-24
0.114
2
0.029
0.525
skilled
-22
0.111
2
0.033
0.513
-6
skilled
-24
0.126
3
0.018
0.505
-3
skilled
-24
0.120
3
0.024
0.515
-1
skilled
-24
0.116
3
0.027
0.522
-3
m
-24
0.195
3
0.012
0.501
-6
m
-25
0.202
3
0.011
0.501
-30
m
skilled
-24
0.285
4
0.005
0.590
-4
m
-1254
-24
0.204
4
0.002
0.506
İlk beş sütun, önerilen özellik değişikliklerini içerir (sadece değiştirilen özellikler görüntülenir), sonraki üç sütun hedef değerlerini gösterir (o1 tüm durumlarda 0'a eşittir) ve son sütun tahmin edilen olasılığı gösterir.
Tüm karşıt gerçekçilerin tahmin edilen olasılıkları %50'nin üzerindedir ve birbirlerini domine etmezler. Dominasyon dışı demek, hiçbir karşıt gerçekçinin diğer karşıt gerçekçilere göre tüm hedeflerde daha küçük değerlere sahip olmadığı anlamına gelir. Karşıt gerçekçilerimizi, bir dizi denge çözümü olarak düşünebiliriz.
Hepsi, sürenin 48 aydan en az 23 aya indirilmesini önermektedir, bazıları ise kadının beceriksiz yerine yetenekli olması gerektiğini öne sürmektedir. Bazı karşıt gerçekçiler, modelin cinsiyet yanlılığını gösteren kadından erkeğe cinsiyet değişikliğini bile önermektedir. Bu değişiklik her zaman bir ila 30 yıl arasında yaş azalmasıyla birlikte gerçekleşmektedir. Ayrıca, bazı karşıt gerçekçiler dört özelliğin değişimini önermesine rağmen, bu karşıt gerçekçilerin eğitim verilerine en yakın olanlar olduğunu görebiliriz.
Karşıt gerçekçi açıklamaların yorumu çok açıktır. Bir örneğin özellik değerleri karşıt gerçekçiye göre değiştirildiğinde, tahmin önceden tanımlanmış tahmine değişir. Ek varsayımlar yoktur ve arka planda herhangi bir sihir yoktur. Bu aynı zamanda, yorumlama için yerel modeli ne kadar ileriye götürebileceğimizin belirsiz olduğu LIME gibi yöntemlere kıyasla o kadar tehlikeli olmadığı anlamına gelir.
Karşıt gerçekçi yöntemi yeni bir örnek oluşturur, ancak hangi özellik değerlerinin değiştiğini raporlayarak bir karşıt gerçekçiyi özetleyebiliriz. Bu, sonuçlarımızı raporlamak için iki seçenek sunar. Ya karşıt gerçekçi örneği raporlayabilirsiniz ya da ilgi duyulan örnek ile karşıt gerçekçi örnek arasındaki hangi özelliklerin değiştirildiğini vurgulayabilirsiniz.
Karşıt gerçekçi yöntemi, verilere veya modele erişim gerektirmez. Sadece modelin tahmin fonksiyonuna erişim gerektirir, bu da örneğin bir web API üzerinden de çalışabilir. Bu, üçüncü taraflarca denetlenen veya modeli veya verileri açıklamadan kullanıcılara açıklama sunan şirketler için çekicidir. Bir şirket, ticari sırlar veya veri koruma nedenleriyle model ve verilerini korumaya ilgi duyar. Karşıt gerçekçi açıklamalar, model tahminlerini açıklamak ile model sahibinin çıkarlarını korumak arasında bir denge sunar.
Yöntem, makine öğrenimi kullanmayan sistemlerle de çalışır. Girişleri alan ve çıktılar döndüren herhangi bir sistem için karşıt gerçekçiler oluşturabiliriz. Daire kiralarını tahmin eden sistem, elle yazılmış kurallardan oluşabilir ve karşıt gerçekçi açıklamalar yine de çalışacaktır.
Karşıt gerçekçi açıklama yöntemi, esasen tek veya çoklu hedeflere sahip bir kayıp fonksiyonu olduğundan ve standart optimizasyon kütüphaneleri ile optimize edilebildiğinden uygulanması nispeten kolaydır. Anlamlı aralıklara sahip olacak şekilde özellik değerlerini sınırlamak gibi bazı ek detaylar dikkate alınmalıdır (örneğin, sadece pozitif daire büyüklükleri).
Her örnek için genellikle birden fazla karşıt gerçekçi açıklama bulunur (Rashomon etkisi). Bu rahatsız edicidir - çoğu insan, gerçek dünyanın karmaşıklığına karşı basit açıklamaları tercih eder. Ayrıca, bu pratik bir zorluktur. Diyelim ki bir örnek için 23 karşıt gerçekçi açıklama ürettik. Hepsini mi rapor ediyoruz? Sadece en iyilerini mi? Hepsi nispeten “iyi” fakat çok farklıysa ne olur? Bu sorular her proje için yeniden yanıtlanmalıdır. İnsanların önceki bilgilerine karşılık gelen karşıt gerçekçi açıklamaları seçebilmeleri nedeniyle birden fazla karşıt gerçekçi açıklamaya sahip olmak da avantajlı olabilir.
Dandl ve diğ. tarafından geliştirilen çoklu hedefli karşıt gerçekçi açıklama yöntemi bir GitHub deposunda uygulanmıştır.
Python paketi Alibi'de yazarlar, basit bir karşıt gerçekçi yöntemi ve algoritma çıktılarının yorumlanabilirliğini ve yakınsamasını iyileştirmek için sınıf prototiplerini kullanan genişletilmiş bir yöntem de uygulamışlardır.
Karimi ve diğ. (2020) ayrıca GitHub deposunda algoritmaları MACE'nin Python uygulamasını sağlamışlardır. Uygun karşıt gerçekçiler için gerekli kriterleri mantıksal formüllere çevirmişler ve bunları karşılayan karşıt gerçekçiler bulmak için tatmin edilebilirlik çözücülerini kullanmışlardır.
Mothilal ve diğ. (2020), determinantal nokta süreçlerine dayalı çeşitli karşıt gerçekçi açıklamalar üretmek için DiCE (Diverse Counterfactual Explanation) geliştirmişlerdir. DiCE, hem modelden bağımsız hem de gradyan tabanlı yöntemleri uygulamaktadır.
Karşıt gerçekçileri aramanın başka bir yolu, Laugel ve diğ. (2017) tarafından geliştirilen Growing Spheres algoritmasıdır. Makalelerinde karşıt gerçekçi kelimesini kullanmamışlardır, ancak yöntem oldukça benzer. Ayrıca, özellik değerlerindeki değişikliklerin mümkün olduğunca az olmasını tercih eden bir kayıp fonksiyonu tanımlarlar. Fonksiyonu doğrudan optimize etmek yerine, önce ilgi noktasının etrafında bir küre çizmeyi, bu küre içinde noktalar örneklemeyi ve örneklenen noktalardan birinin istenen tahmini verip vermediğini kontrol etmeyi önermektedirler. Daha sonra, (seyrek) bir karşıt gerçekçi bulunana kadar küreyi buna göre daraltır veya genişletirler ve sonunda döndürürler.
Ribeiro ve diğ. (2018) tarafından geliştirilen Anchors, karşıt gerçekçilerin tersidir, Kapsamlı Kurallar (Scoped Rules (Anchors)) ile ilgili bölüme bakınız.
Wachter, Sandra, Brent Mittelstadt, and Chris Russell. “Counterfactual explanations without opening the black box: Automated decisions and the GDPR.” (2017).↩︎
Dandl, Susanne, Christoph Molnar, Martin Binder, Bernd Bischl. “Multi-objective counterfactual explanations”. In: Bäck T. et al. (eds) Parallel Problem Solving from Nature – PPSN XVI. PPSN 2020. Lecture Notes in Computer Science, vol 12269. Springer, Cham (2020).↩︎
Deb, Kalyanmoy, Amrit Pratap, Sameer Agarwal and T. Meyarivan, “A fast and elitist multiobjective genetic algorithm: NSGA-II,” in IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182-197, (2002).↩︎
Van Looveren, Arnaud, and Janis Klaise. “Interpretable counterfactual explanations guided by prototypes.” arXiv preprint arXiv:1907.02584 (2019).↩︎
Karimi, Amir-Hossein, Gilles Barthe, Borja Balle and Isabel Valera. “Model-agnostic counterfactual explanations for consequential decisions.” AISTATS (2020).↩︎
Mothilal, Ramaravind K., Amit Sharma, and Chenhao Tan. “Explaining machine learning classifiers through diverse counterfactual explanations.” Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency. (2020).↩︎
Laugel, Thibault, Marie-Jeanne Lesot, Christophe Marsala, Xavier Renard, and Marcin Detyniecki. “Inverse classification for comparison-based interpretability in machine learning.” arXiv preprint arXiv:1712.08443 (2017).↩︎
Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. “Anchors: High-precision model-agnostic explanations.” AAAI Conference on Artificial Intelligence (2018).↩︎