8.7 Prototipler ve Eleştiriler (Prototypes and Criticisms)
Last updated
Last updated
Bir prototip, tüm verileri temsil eden bir veri örneğidir. Bir eleştiri ise prototipler kümesi tarafından iyi temsil edilmeyen bir veri örneğidir. Eleştirilerin amacı, özellikle prototiplerin iyi temsil edemediği veri noktaları için prototiplerle birlikte içgörüler sağlamaktır. Prototipler ve eleştiriler, makine öğrenimi modelinden bağımsız olarak veriyi tanımlamak için kullanılabilir, ancak aynı zamanda bir yorumlanabilir model oluşturmak veya bir kara kutu modeli yorumlanabilir hale getirmek için de kullanılabilir.
Bu bölümde “veri noktası” ifadesini, bir örneğin her bir özelliğin bir boyut olduğu bir koordinat sistemindeki bir nokta olduğu yorumunu vurgulamak amacıyla tek bir örneği ifade etmek için kullanıyorum. Aşağıdaki şekil, bazı örneklerin prototip ve bazı örneklerin eleştiri olarak seçildiği simüle edilmiş bir veri dağılımını göstermektedir. Küçük noktalar veriyi, büyük noktalar eleştirileri ve büyük kareler prototipleri temsil eder. Prototipler (manuel olarak) veri dağılımının merkezlerini kapsayacak şekilde seçilmiş ve eleştiriler, prototipi olmayan bir kümedeki noktalardır. Prototipler ve eleştiriler her zaman veriden alınan gerçek örneklerdir.
Prototipleri manuel olarak seçtim, ancak bu yöntem ölçeklenebilir değil ve muhtemelen kötü sonuçlara yol açar. Veride prototip bulmak için birçok yaklaşım vardır. Bunlardan biri, k-means algoritmasıyla ilişkili bir kümeleme algoritması olan k-medoids’tir. Küme merkezleri olarak gerçek veri noktalarını döndüren herhangi bir kümeleme algoritması, prototip seçimi için uygundur. Ancak bu yöntemlerin çoğu yalnızca prototipleri bulur, eleştirileri bulmaz. Bu bölümde, Kim ve arkadaşları (2016) tarafından sunulan MMD-critic yaklaşımı ele alınmaktadır. Bu yöntem, prototipleri ve eleştirileri tek bir çerçevede birleştirir.
MMD-critic, veri dağılımı ile seçilen prototiplerin dağılımını karşılaştırır. Bu, MMD-critic yöntemini anlamanın temel kavramıdır. MMD-critic, iki dağılım arasındaki tutarsızlığı en aza indiren prototipleri seçer. Yoğunluğun yüksek olduğu alanlardaki veri noktaları, özellikle farklı “veri kümelerinden” seçilen noktalar, iyi prototiplerdir. Prototiplerin iyi açıklayamadığı bölgelerden alınan veri noktaları ise eleştiri olarak seçilir.
Şimdi teoriyi daha derinlemesine inceleyelim.
Yüksek seviyede, MMD-critic prosedürü şu şekilde özetlenebilir:
Bulmak istediğiniz prototip ve eleştiri sayısını seçin.
Açgözlü arama yöntemiyle prototipleri bulun. Prototipler, prototiplerin dağılımı ile veri dağılımının yakın olmasını sağlayacak şekilde seçilir.
Açgözlü arama yöntemiyle eleştirileri bulun. Prototiplerin dağılımının veri dağılımından farklı olduğu yerlerdeki noktalar eleştiri olarak seçilir.
Bir veri kümesi için MMD-critic ile prototipler ve eleştiriler bulmak için birkaç bileşene ihtiyacımız var:
Bir veri kümesi için MMD-critic ile prototipler ve eleştiriler bulmak için birkaç bileşene ihtiyacımız var. En temel bileşen olarak, veri yoğunluklarını tahmin etmek için bir çekirdek fonksiyonuna ihtiyaç duyarız. Çekirdek, iki veri noktasını yakınlıklarına göre ağırlıklandıran bir fonksiyondur. Yoğunluk tahminlerine dayanarak, iki dağılımın ne kadar farklı olduğunu ölçen bir metrik gereklidir. Bu, seçilen prototiplerin dağılımının veri dağılımına yakın olup olmadığını belirlemek için kullanılır ve maksimum ortalama tutarsızlık (MMD) ile çözülür. Ayrıca, çekirdek fonksiyonuna dayanarak, belirli bir veri noktasında iki dağılımın ne kadar farklı olduğunu gösteren bir tanıklık fonksiyonuna ihtiyaç duyarız. Tanıklık fonksiyonuyla, prototipler ve veri arasındaki dağılımın farklılaştığı ve tanıklık fonksiyonunun büyük mutlak değerlere sahip olduğu veri noktalarını eleştiri olarak seçebiliriz. Son bileşen ise iyi prototipler ve eleştiriler bulmak için bir arama stratejisidir ve bu, basit bir açgözlü arama yöntemiyle çözülür.
İlk olarak, iki dağılım arasındaki tutarsızlığı ölçen maksimum ortalama tutarsızlık (MMD) ile başlayalım. Prototiplerin seçimi, prototiplerin bir yoğunluk dağılımını oluşturur. Bu dağılımın veri dağılımından farklı olup olmadığını değerlendirmek istiyoruz. Her iki dağılımı da çekirdek yoğunluk fonksiyonlarıyla tahmin ederiz. Maksimum ortalama tutarsızlık, iki dağılım arasındaki farkı ölçer ve bu fark, iki dağılıma göre beklentiler arasındaki farkların bir fonksiyon uzayı üzerindeki supremumudur. Her şey açık mı? Şahsen, bu kavramları verilerle bir hesaplama nasıl yapılırsa o şekilde çok daha iyi anlıyorum. Aşağıdaki formül, kare alınmış MMD ölçüsünün (MMD²) nasıl hesaplanacağını gösterir:
k, iki noktanın benzerliğini ölçen bir çekirdek fonksiyonudur (bu konuda daha fazla bilgi daha sonra verilecek). mm, prototiplerin sayısını (z) ve n, orijinal veri kümesindeki veri noktalarının sayısını (x) ifade eder. Prototipler (z), veri noktalarının (xx) bir alt kümesidir. Her bir nokta çok boyutludur, yani birden fazla özelliğe sahip olabilir. MMD-critic'in amacı, MMD2’yi minimize etmektir. MMD2, sıfıra ne kadar yakınsa, prototiplerin dağılımı veriyi o kadar iyi açıklar.
MMD2’yi sıfıra yaklaştırmanın anahtarı, ortadaki terimdir. Bu terim, prototipler ile diğer tüm veri noktaları arasındaki ortalama yakınlığı (2 ile çarpılarak) hesaplar. Eğer bu terim, birinci terim (prototiplerin birbirlerine olan ortalama yakınlığı) ile son terimin (veri noktalarının birbirlerine olan ortalama yakınlığı) toplamına eşitse, bu durumda prototipler veriyi mükemmel şekilde açıklar. Tüm nn veri noktasını prototip olarak kullandığınızda formülde neler olacağını düşünün.
Aşağıdaki grafik, MMD2 ölçüsünü görselleştirir. İlk grafik, iki özelliğe sahip veri noktalarını gösterir ve veri yoğunluğu tahmini gölgeli bir arka planla belirtilmiştir. Diğer grafiklerin her biri, farklı prototip seçimlerini ve grafik başlıklarında MMD2 ölçüsünü gösterir. Prototipler, büyük noktalarla belirtilmiş ve bunların dağılımı kontur çizgileri ile gösterilmiştir. Bu senaryolarda veriyi en iyi kapsayan prototiplerin seçimi (aşağıda sol alt köşe) en düşük tutarsızlık değerine sahiptir.
Çekirdek fonksiyonu için bir seçenek radial basis function (RBF) çekirdeğidir:
Burada ∥x−x′∥2\|x - x'\|^2∥x−x′∥2, iki nokta arasındaki Öklidyen mesafeyi ifade eder ve γ\gammaγ, bir ölçekleme parametresidir. Çekirdeğin değeri, iki nokta arasındaki mesafeye bağlı olarak azalır ve sıfır ile bir arasında değişir: İki nokta sonsuz uzaklıktaysa sıfır, iki nokta eşitse bir olur.
MMD² ölçüsünü, çekirdek fonksiyonunu ve açgözlü aramayı birleştirerek prototipleri bulmak için bir algoritma oluşturuyoruz:
Boş bir prototip listesiyle başlayın.
Prototip sayısı seçilen mmm değerinin altındayken:
Veri kümesindeki her bir nokta için, noktanın prototip listesine eklenmesi durumunda MMD2’nin ne kadar azaldığını kontrol edin.
MMD2’yi minimize eden veri noktasını prototip listesine ekleyin.
Prototip listesini döndürün.
Eleştirileri bulmak için kalan bileşen ise tanıklık fonksiyonudur. Bu fonksiyon, belirli bir noktadaki iki yoğunluk tahmininin ne kadar farklı olduğunu söyler. Tanıklık fonksiyonu şu şekilde tahmin edilebilir:
İki veri kümesi (aynı özelliklere sahip) için tanıklık fonksiyonu, xx noktasının hangi ampirik dağılıma daha iyi uyduğunu değerlendirme aracını sunar. Eleştirileri bulmak için tanıklık fonksiyonunun hem negatif hem de pozitif yönlerdeki uç değerlerini ararız.
Tanıklık fonksiyonundaki ilk terim, x noktası ile veri arasındaki ortalama yakınlığı temsil ederken, ikinci terim xx noktası ile prototipler arasındaki ortalama yakınlığı temsil eder. Eğer bir x noktası için tanıklık fonksiyonu sıfıra yakınsa, veri yoğunluk fonksiyonu ile prototiplerin yoğunluk fonksiyonu birbirine yakındır. Bu, prototiplerin dağılımının, x noktasındaki veri dağılımına benzediği anlamına gelir. Negatif bir tanıklık fonksiyonu: x noktasındaki prototip dağılımının, veri dağılımını fazla tahmin ettiğini gösterir (örneğin, bir prototip seçilmiş ancak yakında çok az veri noktası varsa). Pozitif bir tanıklık fonksiyonu: x noktasındaki prototip dağılımının, veri dağılımını az tahmin ettiğini gösterir (örneğin, x çevresinde birçok veri noktası varsa ama yakınlarda hiç prototip seçilmemişse).
Daha fazla sezgi kazandırmak için, daha önceki grafikteki en düşük MMD2 değerine sahip prototipleri yeniden kullanıp, tanıklık fonksiyonunu elle seçilen birkaç nokta için gösterelim. Aşağıdaki grafikte, tanıklık fonksiyonunun değeri, üçgenlerle işaretlenmiş çeşitli noktalar için etiketlenmiştir. Sadece ortadaki nokta yüksek bir mutlak değere sahiptir ve bu nedenle eleştiri için iyi bir adaydır.
Tanıklık fonksiyonu, prototipler tarafından iyi temsil edilmeyen veri örneklerini açıkça aramamıza olanak tanır. Eleştiriler, tanıklık fonksiyonunda yüksek mutlak değere sahip noktalardır. Prototiplerde olduğu gibi, eleştiriler de açgözlü arama yöntemiyle bulunur. Ancak burada amaç, toplam MMD2yi azaltmak yerine, tanıklık fonksiyonunu ve bir düzenleyici terimi içeren bir maliyet fonksiyonunu maksimize eden noktaları bulmaktır. Optimizasyon fonksiyonundaki ek terim, noktaların farklı kümelerden gelmesini sağlamak için çeşitliliği teşvik eder.
Bu ikinci adım, prototiplerin nasıl bulunduğundan bağımsızdır. Manuel olarak seçilmiş bazı prototipler kullanabilir ve burada tanımlanan prosedürle eleştirileri öğrenebilirsiniz. Ya da prototipler, k-medoids gibi herhangi bir kümeleme prosedüründen gelebilir.
MMD-critic teorisinin önemli kısımları burada sona eriyor. Ancak bir soru kalıyor: MMD-critic, yorumlanabilir makine öğrenimi için nasıl kullanılabilir?
MMD-critic, şu üç şekilde yorumlanabilirlik ekleyebilir; Veri dağılımını daha iyi anlamaya yardımcı olarak; yorumlanabilir bir model oluşturarak; bir kara kutu modeli yorumlanabilir hale getirerek.
Eğer verilerinize MMD-critic uygulayarak prototipler ve eleştiriler bulursanız, özellikle karmaşık veri dağılımları ve uç durumlar varsa, veriyi anlama kapasitenizi artırırsınız. Ancak MMD-critic ile daha fazlasını başarabilirsiniz!
Örneğin, yorumlanabilir bir tahmin modeli oluşturabilirsiniz: "en yakın prototip modeli" (nearest prototype model). Tahmin fonksiyonu şu şekilde tanımlanır:
Bu, çekirdek fonksiyonunun en yüksek değerini verdiği için yeni veri noktasına en yakın olan prototipi (i) prototip kümesi SS'den seçtiğimiz anlamına gelir. Prototip, tahmin için bir açıklama olarak döndürülür. Bu prosedürün üç ayar parametresi vardır: Çekirdek türü, çekirdek ölçekleme parametresi ve prototip sayısı. Tüm parametreler çapraz doğrulama döngüsü içinde optimize edilebilir. Bu yaklaşımda eleştiriler kullanılmaz.
Üçüncü bir seçenek olarak, MMD-critic, prototipler ve eleştirileri model tahminleriyle birlikte inceleyerek herhangi bir makine öğrenimi modelini küresel olarak açıklanabilir hale getirmek için kullanılabilir. Prosedür şu şekildedir:
MMD-critic ile prototipleri ve eleştirileri bulun.
Makine öğrenimi modelini her zamanki gibi eğitin.
Makine öğrenimi modeliyle prototipler ve eleştiriler için sonuçları tahmin edin.
Tahminleri analiz edin: Hangi durumlarda algoritma hata yaptı? Artık veriyi iyi temsil eden ve makine öğrenimi modelinin zayıflıklarını bulmanıza yardımcı olacak bir dizi örneğiniz var.
Bu nasıl yardımcı olur? Google’ın görüntü sınıflandırıcısının siyah insanları goril olarak tanımladığı zamanı hatırlayın. Belki de görüntü tanıma modellerini uygulamaya koymadan önce burada açıklanan prosedürü kullanmaları gerekirdi. Sadece modelin performansını kontrol etmek yeterli değildir; çünkü model %99 doğru olsa bile bu sorun kalan %1 içinde olabilir. Ayrıca etiketler de yanlış olabilir! Tüm eğitim verilerini inceleyip tahminlerin problemli olup olmadığını kontrol etmek, bu sorunu ortaya çıkarabilirdi, ancak bu pratikte uygulanabilir değildir. Ancak birkaç bin prototip ve eleştirinin seçilmesi mümkündür ve veriyle ilgili bir sorunu ortaya çıkarabilirdi: Bu, koyu tenli insanların görüntülerinin eksik olduğunu ve veri kümesindeki çeşitlilikle ilgili bir problem olduğunu gösterebilirdi. Ya da koyu tenli bir kişinin bir veya daha fazla görüntüsünün, prototip veya (muhtemelen) eleştiri olarak seçilmesini ve kötü şöhretli “goril” sınıflandırmasıyla etiketlenmesini gösterebilirdi. MMD-critic'in bu tür hataları kesinlikle önleyeceğini garanti edemem, ancak bu, iyi bir doğruluk kontrolüdür.
8.7.2 Örnekler Aşağıdaki MMD-critic örneği, el yazısı rakamlar içeren bir veri setini kullanır.
Gerçek prototiplere baktığınızda, her bir rakam için görüntü sayısının farklı olduğunu fark edebilirsiniz. Bunun nedeni, sabit bir sayıdaki prototiplerin tüm veri kümesi genelinde aranması ve sınıf başına sabit bir sayıda prototip aranmış olmamasıdır. Beklendiği gibi, prototipler rakamları yazmanın farklı yollarını göstermektedir.
8.7.3 Avantajlar
MMD-critic yazarları, bir kullanıcı çalışmasında katılımcılara görüntüler verdiler ve bu görüntüleri iki sınıfı (örneğin, iki köpek türünü) temsil eden iki görüntü setinden biriyle görsel olarak eşleştirmelerini istediler. Katılımcılar, sınıfın rastgele görüntüleri yerine prototipler ve eleştirilerin gösterildiği durumlarda en iyi performansı sergilediler.
Prototip ve eleştiri sayısını özgürce seçebilirsiniz.
MMD-critic, verinin yoğunluk tahminleriyle çalışır. Bu, herhangi bir türde veri ve herhangi bir tür makine öğrenimi modeli ile uyumlu şekilde çalışır.
Algoritma kolayca uygulanabilir.
MMD-critic, yorumlanabilirliği artırmak için kullanım şekli açısından oldukça esnektir. Karmaşık veri dağılımlarını anlamak için kullanılabilir, yorumlanabilir bir makine öğrenimi modeli oluşturmak için kullanılabilir ya da bir kara kutu makine öğrenimi modelinin karar verme sürecine ışık tutabilir.
Eleştirilerin bulunması, prototiplerin seçilme sürecinden bağımsızdır. Ancak prototiplerin MMD-critic'e göre seçilmesi mantıklıdır, çünkü bu durumda hem prototipler hem de eleştiriler, prototipler ve veri yoğunluklarını karşılaştırmanın aynı yöntemi kullanılarak oluşturulur.
8.7.4 Dezavantajlar
Matematiksel olarak, prototipler ve eleştiriler farklı şekilde tanımlansa da, bu ayrım bir eşik değerine (prototip sayısına) dayanmaktadır. Örneğin, veri dağılımını kapsamak için çok düşük bir prototip sayısı seçerseniz, eleştiriler yeterince iyi açıklanamayan alanlarda yer alır. Ancak daha fazla prototip eklerseniz, bunlar da aynı alanlara düşebilir. Her yorumlama, eleştirilerin mevcut prototiplere ve prototip sayısına ilişkin (keyfi) eşik değerine güçlü bir şekilde bağlı olduğunu göz önünde bulundurmalıdır.
Prototip ve eleştiri sayısını seçmeniz gerekir. Bu esneklik olumlu bir özellik olsa da aynı zamanda bir dezavantajdır. Kaç prototip ve eleştiriye gerçekten ihtiyacımız var? Daha fazlası mı, daha azı mı daha iyi? Bir çözüm, insanların görüntülere bakmak için ne kadar zamanı olduğu ölçülerek prototip ve eleştiri sayısını seçmektir. Bu da uygulamaya bağlıdır. Yalnızca MMD-critic’i bir sınıflandırıcı oluşturmak için kullandığımızda, bu sayıları doğrudan optimize etmek mümkündür. Örneğin, x ekseninde prototip sayısını ve y ekseninde MMD2MMD^2 ölçüsünü gösteren bir screeplot kullanılarak prototip sayısı belirlenebilir. Bu durumda, MMD2MMD^2 eğrisinin düzleştiği noktada prototip sayısı seçilir.
Diğer parametreler, çekirdek fonksiyonunun türü ve çekirdek ölçekleme parametresidir. Prototip ve eleştiri sayısında olduğu gibi, çekirdek türünü ve ölçekleme parametresini nasıl seçeceğimiz sorunu vardır. MMD-critic’i en yakın prototip sınıflandırıcısı olarak kullandığımızda çekirdek parametrelerini ayarlayabiliriz. Ancak MMD-critic’in denetimsiz kullanım durumlarında bu belirsizdir. (Burada biraz sert olabilirim, çünkü tüm denetimsiz yöntemler bu soruna sahiptir.)
Tüm özellikleri girdi olarak alır, oysa bazı özellikler ilgi alanındaki sonucu tahmin etmek için geçerli olmayabilir. Bir çözüm, yalnızca ilgili özellikleri kullanmaktır; örneğin, ham pikseller yerine görüntü gömümleri. Bu, yalnızca orijinal örneği yalnızca ilgili bilgileri içeren bir temsile projelendirebileceğimiz bir yöntem olduğu sürece işe yarar.
Bazı kodlar mevcut olsa da, henüz iyi paketlenmiş ve belgelenmiş bir yazılım olarak uygulanmış değildir.
8.7.5 Kod ve Alternatifler
MMD-critic’in bir uygulaması, yazarların GitHub deposunda bulunabilir.
Son zamanlarda, MMD-critic’in bir uzantısı geliştirildi: Protodash. Yazarlar, yayımladıkları çalışmada Protodash’in MMD-critic’e göre avantajlarını öne sürmektedir. Bir Protodash uygulaması, IBM AIX360 aracında mevcuttur.
Prototipleri bulmanın en basit alternatiflerinden biri, Kaufman ve arkadaşları (1987) tarafından geliştirilen k-medoids yöntemidir.
Kim, Been, Rajiv Khanna, and Oluwasanmi O. Koyejo. “Examples are not enough, learn to criticize! Criticism for interpretability.” Advances in Neural Information Processing Systems (2016).↩︎
Kaufman, Leonard, and Peter Rousseeuw. “Clustering by means of medoids”. North-Holland (1987).↩︎