9.4 Kapsamlı Kurallar (Scoped Rules (Anchors))
Yazarlar: Tobias Goerke & Magdalena Lang
Last updated
Yazarlar: Tobias Goerke & Magdalena Lang
Last updated
Anchors yöntemi, herhangi bir siyah kutu sınıflandırma modelinin bireysel tahminlerini, tahmini yeterince "çapa"layan bir karar kuralı bularak açıklar. Bir kural, diğer özellik değerlerindeki değişiklikler tahmini etkilemiyorsa tahmini çapa yapar. Anchors, pekiştirmeli öğrenme tekniklerini grafik arama algoritmasıyla birleştirerek model çağrılarının sayısını (ve dolayısıyla gereken çalışma süresini) minimuma indirir, aynı zamanda yerel optimumlardan kurtulmayı sağlar. Ribeiro, Singh ve Guestrin, algoritmayı 2018 yılında önermişlerdir – LIME algoritmasını tanıtan aynı araştırmacılar.
Önceki modeline benzer şekilde, anchors yaklaşımı, siyah kutu makine öğrenimi modellerinin tahminleri için yerel açıklamalar üretmek amacıyla bozulma tabanlı bir strateji kullanır. Ancak, LIME tarafından kullanılan vekil modeller yerine, ortaya çıkan açıklamalar, anlaşılması kolay IF-THEN kuralları olarak ifade edilir; bunlara anchors denir. Bu kurallar yeniden kullanılabilir, çünkü kapsamlıdırlar: anchors, hangi diğer, muhtemelen görülmemiş örneklere uygulandıklarını tam olarak belirten kapsam kavramını içerirler. Anchors bulmak, pekiştirmeli öğrenme disiplininden kaynaklanan bir keşif veya çok kollu bandit problemi içerir. Bu amaçla, her açıklanan örnek için komşular veya bozulmalar oluşturulur ve değerlendirilir. Bu şekilde yaklaşım, siyah kutunun yapısını ve iç parametrelerini göz ardı etmesine izin verir, böylece bunlar hem gözlemlenemez hem de değiştirilemez. Böylece, algoritma modelden bağımsızdır, yani herhangi bir model sınıfına uygulanabilir.
Makalelerinde, yazarlar her iki algoritmalarını karşılaştırır ve sonuçları türetmek için bir örneğin komşuluğunu nasıl farklı şekillerde danıştıklarını görselleştirirler. Bunun için, aşağıdaki şekil, iki örneklem örnek kullanarak karmaşık bir ikili sınıflandırıcıyı (sadece - veya + tahmin eder) yerel olarak açıklayan hem LIME hem de anchors'ı göstermektedir. LIME'in sonuçları, ne kadar sadık olduklarını göstermez, çünkü LIME yalnızca bir bozulma alanı DDD verildiğinde modeli en iyi şekilde yakalayan doğrusal bir karar sınırı öğrenir. Aynı bozulma alanı verildiğinde, anchors yaklaşımı, kapsamlarının modele uyum sağlayacak şekilde adapte edildiği açıklamalar oluşturur ve yaklaşım sınırlarını açıkça ifade eder. Böylece, tasarımsal olarak sadık olup, hangi örnekler için geçerli olduklarını tam olarak belirtirler. Bu özellik, anchors'ı özellikle sezgisel ve anlaşılması kolay hale getirir.
Daha önce bahsedildiği gibi, algoritmanın sonuçları veya açıklamaları, anchors olarak adlandırılan kurallar şeklinde gelir. Aşağıdaki basit örnek böyle bir anchor'ı göstermektedir. Örneğin, Titanik faciasında bir yolcunun hayatta kalıp kalmadığını tahmin eden iki değişkenli bir siyah kutu modeline sahip olduğumuzu varsayalım. Şimdi, modelin belirli bir birey için neden hayatta kaldığını tahmin ettiğini bilmek istiyoruz. Anchors algoritması, aşağıda gösterildiği gibi bir sonuç açıklaması sağlar.
Age
20
Sex
female
Class
first
Ticket price
300$
More attributes
…
Survived
true
Ve karşılık gelen anchors açıklaması şöyledir:
EĞER CINSİYET = kadın VE Sınıf = birinci OLSA TAHMİN ET Hayatta Kalma = doğru DOĞRULUK %97 VE KAPSAM %15
Örnek, anchors'ların bir modelin tahminine ve altında yatan gerekçeye nasıl temel içgörüler sağlayabileceğini göstermektedir. Sonuç, model tarafından dikkate alınan hangi özelliklerin olduğunu gösterir; bu durumda, kadın cinsiyeti ve birinci sınıf. Doğruluk için en önemli olan insanlar, bu kuralı modelin davranışını doğrulamak için kullanabilirler. Anchor ayrıca, perturbasyon alanının %15'ine uygulandığını bize bildirir. Bu durumlarda açıklama %97 doğrulukta olup, gösterilen önermelerin neredeyse tamamen tahmin edilen sonuçtan sorumlu olduğunu gösterir.
Bir anchor A, resmi olarak aşağıdaki gibi tanımlanır
, açıklanacak örneği temsil eder (örneğin, tablo verisi setinde bir satır).
, predikatlar kümesidir, yani ortaya çıkan kural veya anchor, böylece olurken, arafından tanımlanan tüm özellik predikatları 'in özellik değerlerine karşılık gelir.
, açıklanacak sınıflandırma modelini belirtir (örneğin, yapay sinir ağı modeli). ve bozulmalarına etiket tahmin etmek için sorgulanabilir.
, ile eşleşen 'in komşularının dağılımını gösterir.
, bir doğruluk eşiği belirtir. Yalnızca en az yerel sadakati elde eden kurallar geçerli sonuç olarak kabul edilir.
Resmi tanımlama göz korkutucu olabilir ve sözcüklerle ifade edilebilir:
Açıklanacak bir örnek verildiğinde, ona uygulanacak bir kural veya anchor bulunmalıdır, böylece bu kural x'e uygulandığında önceden tanımlanmış tahmin, aynı 'nın uygulanabildiği 'in komşularının en az oranında olanları için tahmin edilir. Bir kuralın doğruluğu, komşuları veya bozulmaları değerlendirmekten kaynaklanır (sağlanan yapay öğrenimi modeli kullanılarak, gösterge fonksiyonu ile belirtilir).
Anchors'ın matematiksel tanımı açık ve basit görünse de, belirli kuralların inşa edilmesi mümkün değildir. Bu, sürekli veya büyük giriş alanlarında tüm için değerlendirilmesini gerektirir ki bu mümkün değildir. Bu nedenle, yazarlar olasılıksal bir tanım oluşturmak için parametresini tanıtmayı önermektedirler. Bu şekilde, örnekler doğrulukları konusunda istatistiksel güvence sağlanana kadar çekilir. Olasılıksal tanım şu şekildedir:
Önceki iki tanım, kapsam kavramıyla birleştirilmiş ve genişletilmiştir. Mantığı, modelin giriş alanının tercihen büyük bir kısmına uygulanan kurallar bulmaktan oluşur. Kapsam, resmi olarak bir anchor'ın komşularına, yani bozulma alanına uygulanma olasılığı olarak tanımlanır:
Bu öğenin dahil edilmesi, anchor'ın kapsamın maksimize edilmesini dikkate alan nihai tanımını sağlar:
Bu süreç, olasılıksal tanım verilen doğruluk eşiğini karşılayan tüm uygun kurallar arasında en yüksek kapsama sahip bir kural bulmayı hedeflemektedir. Bu kuralların, modelin daha büyük bir kısmını tanımladıkları için daha önemli olduğu düşünülmektedir. Daha fazla predikat içeren kuralların, daha az predikat içeren kurallara göre daha yüksek doğruluğa sahip olma eğiliminde olduğunu unutmayın. Özellikle, xxx'in her özelliğini sabitleyen bir kural, değerlendirilen komşuluğu özdeş örneklerle sınırlar. Böylece, model tüm komşuları eşit şekilde sınıflandırır ve kuralın doğruluğu 1 olur. Aynı zamanda, birçok özelliği sabitleyen bir kural aşırı spesifik olup sadece birkaç örneğe uygulanabilir. Bu nedenle, doğruluk ve kapsam arasında bir denge vardır.
Anchors yaklaşımı, açıklamaları bulmak için dört ana bileşen kullanır.
Aday Üretimi: Yeni açıklama adayları üretir. İlk turda, x'in her özelliği için bir aday oluşturulur ve olası bozulmaların ilgili değeri sabitlenir. Diğer her turda, önceki turun en iyi adayları henüz içermedikleri bir özellik predikatı ile genişletilir.
En İyi Adayın Belirlenmesi: Aday kurallar, hangi kuralın x'i en iyi açıkladığı açısından karşılaştırılır. Bu amaçla, şu anda gözlemlenen kuralla eşleşen bozulmalar oluşturulur ve model çağrılarak değerlendirilir. Ancak, bu çağrıların sayısı hesaplama yükünü sınırlamak için minimize edilmelidir. Bu nedenle, bu bileşenin merkezinde saf keşif amaçlı Çok Kollu Bandit (MAB; tam olarak KL-LUCB62) bulunmaktadır. MAB'ler, ardışık seçim kullanarak farklı stratejileri (slot makineleri analojisinde kollara denir) verimli bir şekilde keşfetmek ve kullanmak için kullanılır. Verilen ayarda, her aday kural çekilebilecek bir kol olarak görülmelidir. Her çekilişte, ilgili komşular değerlendirilir ve böylece aday kuralın ödülü (anchor durumunda doğruluk) hakkında daha fazla bilgi elde edilir. Doğruluk, kuralın açıklanacak örneği ne kadar iyi tanımladığını belirtir.
Aday Doğruluk Doğrulama: Adayın τ eşiğini aştığına dair istatistiksel güvence henüz yoksa daha fazla örnek alır.
Değiştirilmiş Beam Search: Yukarıdaki tüm bileşenler, bir beam search içinde birleştirilir; bu, bir grafik arama algoritması ve genişlik öncelikli arama algoritmasının bir varyantıdır. Her turun en iyi B adayı bir sonraki tura taşır (burada B, Beam Width olarak adlandırılır). Bu B en iyi kural daha sonra yeni kurallar oluşturmak için kullanılır. Beam search, her özelliğin bir kuralda en fazla bir kez dahil edilebilmesi nedeniyle en fazla featureCount(x) tur gerçekleştirir. Böylece, her turda iii, tam olarak iii predikatlı adaylar oluşturur ve bunların en iyilerini seçer. Bu nedenle, B yüksek ayarlandığında, algoritmanın yerel optimumlardan kaçma olasılığı daha yüksektir. Bunun karşılığında, çok sayıda model çağrısı gerektirir ve böylece hesaplama yükünü artırır.
Bu dört bileşen aşağıdaki şekilde gösterilmiştir.
Yaklaşım, herhangi bir sistemin bir örneği neden öyle sınıflandırdığını hakkında istatistiksel olarak sağlam bilgi elde etmek için görünüşte mükemmel bir tarif gibidir. Modelin girdi verileriyle sistematik olarak deneyler yapar ve ilgili çıktıları gözlemleyerek sonuçlanır. Model çağrılarını azaltmak için iyi kurulmuş ve araştırılmış yapay öğrenim yöntemlerine (MAB'ler) dayanır. Bu da, algoritmanın çalışma süresini büyük ölçüde azaltır.
Anchors yaklaşımının asimptotik çalışma zamanı davranışını bilmek, belirli problemlerde nasıl bir performans beklenebileceğini değerlendirmeye yardımcı olur. Burada B işlem genişliği (beam width) ve p tüm özelliklerin sayısı olsun. O hâlde anchors algoritması şu ifadeye tabidir:
Bu sınır, δ gibi problemden bağımsız hiperparametrelerden (örneğin istatistiksel güven seviyesinden) soyutlamalar yapar. Hiperparametrelerin yok sayılması, sınırın karmaşıklığını azaltmaya yardımcı olur (daha fazla bilgi için orijinal makaleye bakınız). MAB, her turda B⋅p adayın içinden en iyi B’yi çıkardığından, çoğu MAB ve bunların çalışma süreleri, çarpanını diğer tüm parametrelerden daha fazla katlar.
Böylece şu ortaya çıkar: Algoritmanın verimliliği, çok sayıda özelliğin (feature) var olduğu durumlarda azalır.
Tablo verileri, sütunların özellikleri, satırların ise örnekleri (instance) temsil ettiği yapılandırılmış verilerdir. Örneğin, belirli örnekler için ML tahminlerini açıklamak amacıyla anchors yaklaşımının potansiyelini göstermek için bisiklet kiralama verilerini kullanıyoruz. Bunun için, regresyonu bir sınıflandırma problemine dönüştürüp, siyah kutu modelimiz olarak bir rastgele orman (random forest) eğitiyoruz. Modelin görevi, kiralanan bisiklet sayısının trend çizgisinin üzerinde mi yoksa altında mı olduğunu sınıflandırmaktır.
Anchor açıklamaları oluşturmadan önce, bir bozma (perturbation) işlevi tanımlamak gerekir. Bunu yapmanın kolay bir yolu, tablo açıklama durumları için sezgisel bir varsayılan bozma alanı kullanmaktır; bu, örneğin eğitim verilerinden örnekleme yaparak oluşturulabilir. Bir örneği bozarken, bu varsayılan yaklaşım, anchors’ın predikatlarının konu aldığı özellik değerlerini korurken, sabitlenmemiş özellikleri, belirtilen bir olasılıkla rastgele örneklenen başka bir örnekten alınan değerlerle değiştirir. Bu süreç, açıklanan örneğe benzeyen, ancak diğer rastgele örneklerden bazı değerleri benimsemiş yeni örnekler oluşturur. Böylece, açıklanan örneğin komşuları gibi görünürler.
Sonuçlar içgüdüsel olarak yorumlanabilir ve her açıklanan örnek için modelin tahmini açısından hangi özelliklerin en önemli olduğunu gösterir. Anchors yalnızca birkaç önermeye (predicate) sahip olduğundan, ayrıca yüksek kapsam (coverage) sunarlar ve dolayısıyla diğer vakalara da uygulanabilirler. Yukarıda gösterilen kurallar, τ=0.9 ile üretilmiştir. Dolayısıyla, değerlendirilen bozulmaların (perturbations) etiketi en az %90 doğrulukla desteklemesini sağlayan anchors arıyoruz. Ayrıca, sayısal özelliklerin ifade gücünü ve uygulanabilirliğini artırmak için ayrıklaştırma (discretization) kullanılmıştır.
Önceki kuralların tümü, modelin birkaç özelliğe dayanarak emin bir şekilde karar verdiği örnekler için üretilmiştir. Ancak, bazı örnekler model tarafından o kadar belirgin bir şekilde sınıflandırılmaz, çünkü daha fazla özellik önem kazanır. Böyle durumlarda anchors daha spesifik hale gelir, daha fazla özellik içerir ve daha az sayıda örneğe uygulanır.
Varsayılan bozma alanını (perturbation space) seçmek rahat bir tercih olsa da, algoritma üzerinde büyük bir etkiye sahip olabilir ve dolayısıyla önyargılı sonuçlara yol açabilir. Örneğin, eğitim kümesi dengesizse (her sınıfın örnek sayısı eşit değilse), bozma alanı da dengesiz olacaktır. Bu koşul, kural bulma sürecini ve sonucun doğruluğunu da etkiler.
Rahim ağzı kanseri veri seti, bu duruma mükemmel bir örnektir. Anchors algoritmasını uygulamak, aşağıdaki iki durumdan birine yol açar:
Sağlıklı etiketine sahip örnekleri açıklamak, boş kurallara neden olur; çünkü oluşturulan tüm komşular “sağlıklı” olarak değerlendirilir.
Kanser etiketine sahip örnekler için oluşturulan açıklamalar aşırı özeldir, yani çok sayıda özellik önermesinden (predicate) oluşur; çünkü bozma alanı çoğunlukla sağlıklı örneklerden alınan değerlere sahiptir.
Bu sonuç istenmeyebilir ve birden fazla şekilde ele alınabilir. Örneğin, özel bir bozma (perturbation) alanı tanımlanabilir. Bu özel bozma, farklı şekilde örnekleme yapabilir, örneğin dengesiz bir veri setinden veya normal dağılımdan. Ancak bunun bir yan etkisi vardır: örneklenen komşular temsil edici olmayabilir ve kapsamın (coverage) kapsamını değiştirebilir. Alternatif olarak, MAB’in güven (confidence) δ ve hata parametresi ϵ değerlerini değiştirebiliriz. Bu, MAB’in daha fazla örnek çekmesine neden olur ve sonuç olarak azınlıktaki örneklerin mutlak anlamda daha sık örneklenmesini sağlar.
Bu örnekte, vakaların çoğunun “kanser” olarak etiketlendiği rahim ağzı kanseri veri setinin bir alt kümesini kullanıyoruz. Bu sayede bundan uygun bir bozma alanı oluşturmak için altyapıya sahip oluyoruz. Bozmalar (perturbations) artık daha fazla değişken tahminlere yol açma eğilimindedir ve anchors algoritması önemli özellikleri belirleyebilir. Ancak kapsam tanımını dikkate almak gerekir: yalnızca bozma alanı içinde tanımlanmıştır. Önceki örneklerde, bozma alanının temeli olarak eğitim setini kullandık. Burada yalnızca bir alt küme kullandığımız için, yüksek bir kapsam, küresel olarak yüksek bir kural önemini mutlaka göstermez.
Anchors yaklaşımı, LIME’a göre birden fazla avantaj sunar. İlk olarak, algoritmanın çıktısı kurallar şeklinde olduğu için anlaması daha kolaydır (hatta alan dışındaki kişiler için bile).
Ayrıca, anchors bölünebilir (subsettable) ve kapsam kavramını (coverage) dahil ederek bir önem ölçüsü de ifade eder. İkinci olarak, anchors yaklaşımı, model tahminleri bir örneğin yakın çevresinde doğrusal olmadığında ya da karmaşık olduğunda çalışır. Yaklaşım, vekil modelleri uydurmak yerine pekiştirmeli öğrenme teknikleri kullandığından, modelin eksik uyum (underfit) riskini azaltır.
Bunun yanı sıra algoritma, modelden bağımsızdır (model-agnostic) ve dolayısıyla herhangi bir modele uygulanabilir.
Ayrıca, toplu örneklemeyi (batch sampling) destekleyen MAB’leri (örn. BatchSAR) kullanarak paralelleştirilebildiği için oldukça verimlidir.
Algoritma, çoğu bozma tabanlı (perturbation-based) açıklayıcı gibi son derece yapılandırılabilir ve etkili bir kurulumdan muzdariptir. Anlamlı sonuçlar elde etmek için sadece beam width veya doğruluk (precision) eşiği gibi hiperparametrelerin ayarlanması gerekmez, aynı zamanda bozma (perturbation) işlevinin de bir alan/kullanım durumu için açıkça tasarlanması gerekir. Tablo verilerinin nasıl bozulduğunu düşünün ve aynı kavramları görüntü verilerine uygulamayı düşünün (ipuç: uygulanamaz). Neyse ki, bazı alanlarda (ör. tablo) varsayılan yaklaşımlar kullanılabilir ve başlangıç açıklama kurulumunu kolaylaştırır.
Ayrıca, birçok senaryoda ayrıklaştırma (discretization) gereklidir; aksi takdirde sonuçlar çok spesifik olur, kapsam (coverage) düşük kalır ve modelin anlaşılmasına katkıda bulunmaz. Ayrıklaştırma yardımcı olsa da dikkatsiz kullanıldığında karar sınırlarını bulanıklaştırabilir ve tam tersi etki yapabilir. En iyi ayrıklaştırma tekniği diye bir şey olmadığından, veriler hakkında bilgi sahibi olmak ve kötü sonuçlar elde etmemek için nasıl ayrıklaştırma yapılacağına karar vermek kullanıcının sorumluluğundadır.
Anchors oluşturmak, tüm bozma tabanlı açıklayıcılarda olduğu gibi, ML modeline çok sayıda çağrı yapılmasını gerektirir. Algoritma, MAB’leri kullanarak çağrı sayısını en aza indirse de çalışma süresi hâlâ büyük ölçüde modelin performansına bağlıdır ve dolayısıyla oldukça değişkendir.
Son olarak, kapsam (coverage) kavramı bazı alanlarda tanımsızdır. Örneğin, bir görüntüdeki süperpiksel’lerin diğer görüntülerdeki süperpiksel’lerle nasıl karşılaştırılacağına dair açık veya evrensel bir tanım yoktur.
Şu anda iki uygulama mevcuttur: anchor adlı bir Python paketi (Alibi tarafından da entegre edilmiştir) ve bir Java uygulaması. İlki, anchors algoritmasının yazarlarının referansı; ikincisi ise yüksek performanslı bir uygulama olup, “anchors” adlı bir R arayüzüyle birlikte gelir ve bu bölümdeki örnekler için kullanılmıştır. Şu an itibarıyla, anchors uygulaması yalnızca tablo verilerini desteklemektedir. Ancak, anchors teorik olarak herhangi bir alan veya veri türü için oluşturulabilir.
Marco Tulio Ribeiro, Sameer Singh and Carlos Guestrin. “Anchors: high-precision model-agnostic explanations”. AAAI Conference on Artificial Intelligence (AAAI), 2018↩︎
Emilie Kaufmann and Shivaram Kalyanakrishnan. “Information complexity in bandit subset selection”. Proceedings of Machine Learning Research (2013).↩