Yorumlanabilir Makine Öğrenmesi
  • Yorumlanabilir Yapay Öğrenme
  • Bölüm 1 - Yazarın Önsözü
  • Bölüm 1.1 Çevirmenin Önsözü
  • Bölüm 2 - Giriş
    • 2.1 Hikaye Zamanı
    • 2.2 Makine Öğrenmesi Nedir?
    • 2.3 Terminoloji
  • 3. Yorumlanabilirlik
    • 3.1 Yorumlanabilirliğin Önemi
    • 3.2 Yorumlanabilirlik Yöntemlerinin Sınıflandırılması
    • 3.3 Yorumlanabilirliğin Kapsamı
    • 3.4 Yorumlanabilirliğin Değerlendirilmesi
    • 3.5 Açıklamaların Özellikleri
    • 3.6 İnsan Dostu Açıklamalar
  • 4 Veri Setleri
    • 4.1 Bisiklet Kiralama (Bike Rentals)- Regresyon
    • 4.2 Youtube Spam Yorumları (Metin Sınıflandırma)
    • 4.3 Rahim Ağzı Kanseri Risk Faktörleri (Sınıflandırma)
  • 5. Yorumlanabilir Modeller
    • 5.1 Doğrusal Regresyon (Linear Regression)
    • 5.2 Lojistik Regresyon (Logistic Regression)
    • 5.3 GLM, GAM ve Fazlası
    • 5.4 Karar Ağaçları (Decision Tre)
    • 5.5 Karar Kuralları (Decision Rules)
    • 5.6 RuleFit
    • 5.7 Diğer Yorumlanabilir Modeller
  • 6. Model Agnostik Metotlar (Model-Agnostic Methods)
  • 7. Örnek Tabanlı Açıklamalar (Example-Based Explanations)
  • 8.Küresel Model Agnostik Metotlar (Global Model-Agnostic Methods)
    • 8.1 Kısmi Bağımlılık Grafiği - Partial Dependency Plot
    • 8.2. Biriktirilmiş Yerel Etki (Accumulated Local Effects-ALE) Grafikleri
    • 8.3 Öznitelik Etkileşimi (Feature Interaction)
    • 8.4 Fonksiyonel Ayrıştırma (Functional Decomposition)
    • 8.5 Permütasyon Öznitelik Önemi (Permutation Feature Importance)
    • 8.6 Küresel Vekil Modeli (Global Surrogate)
    • 8.7 Prototipler ve Eleştiriler (Prototypes and Criticisms)
  • 9. Yerel Modelden Bağımsız Yöntemler (Local Model-Agnostic Methods)
    • 9.1 Bireysel Koşullu Beklenti (Individual Conditional Expectation)
    • 9.2 Yerel Vekil (Local Surrogate) (LIME)
    • 9.3 Karşıt Gerçekçi Açıklamalar (Counterfactual Explanations)
    • 9.4 Kapsamlı Kurallar (Scoped Rules (Anchors))
    • 9.5 Shapley Değerleri (Shapley Values)
    • 9.6 SHAP (SHapley Additive exPlanations)
  • 10. Sinir Ağları Yorumlaması
    • 10.1 Öğrenilmiş Özellikler (Learned Features)
    • 10.2 Piksel İlişkilendirmesi (Pixel Attribution)
    • 10.3 Kavramları Belirleme (Detecting Concepts)
    • 10.4 Kötü Amaçlı Örnekler (Adversarial Examples)
    • 10.5 Etkili Örnekler (Influential Instances)
  • 11. Kristal Küreye Bir Bakış
    • 11.1 Makine Öğrenmesinin Geleceği
      • 11.2 Yorumlanabilirliğin Geleceği
  • 12. Teşekkürler
  • Referanslar
  • Kullanılan R paketleri
Powered by GitBook
On this page
  • 5.4.2 Örnek
  • 5.4.3 Avantajlar
  • 5.4.4 Dezavantajlar
  • 5.4.5 Yazılım
  1. 5. Yorumlanabilir Modeller

5.4 Karar Ağaçları (Decision Tre)

Previous5.3 GLM, GAM ve FazlasıNext5.5 Karar Kuralları (Decision Rules)

Last updated 5 months ago

Doğrusal regresyon ve lojistik regresyon modelleri, özellikler ile sonuç arasındaki ilişkinin doğrusal olmadığı veya özelliklerin birbiriyle etkileşimde bulunduğu durumlarda başarısız olur. İşte burada karar ağacı devreye girer! Ağaç tabanlı modeller, veriyi özelliklerdeki belirli eşik değerlerine göre birden çok kez böler. Bu bölme işlemiyle veri kümesinin farklı alt kümeleri oluşturulur ve her örnek bir alt kümeye ait olur. Nihai alt kümelere "son düğümler" veya "yaprak düğümler" denir; ara alt kümeler ise "iç düğümler" veya "bölme düğümleri" olarak adlandırılır. Her yaprak düğümde sonucu tahmin etmek için, bu düğümdeki eğitim verilerinin ortalama sonucu kullanılır. Ağaçlar hem sınıflandırma hem de regresyon için kullanılabilir.

Bir ağacı büyütebilecek çeşitli algoritmalar vardır. Bu algoritmalar, ağacın olası yapısı (örneğin, bir düğüm başına düşen bölme sayısı), bölmeleri bulma kriterleri, bölme işleminin ne zaman durdurulacağı ve yaprak düğümler içindeki basit modellerin nasıl tahmin edileceği gibi yönlerden farklılık gösterir. Sınıflandırma ve Regresyon Ağaçları (Classification and Regression Trees - CART) algoritması, muhtemelen en popüler ağaç oluşturma algoritmasıdır. Biz CART’a odaklanacağız, ancak yorumlama çoğu diğer ağaç türü için benzerdir. Daha ayrıntılı bir CART tanıtımı için ‘The Elements of Statistical Learning’ (Friedman, Hastie ve Tibshirani, 2009) kitabını öneririm.

Aşağıdaki eşitlik çıktı y ile x öznitelik matrisi arasındaki ilişkiyi göstermektedir.

y^=f^(x)=∑m=1McmI{x∈Rm}\hat{y}=\hat{f}(x)=\sum_{m=1}^M c_m I\left\{x \in R_m\right\}y^​=f^​(x)=m=1∑M​cm​I{x∈Rm​}

Her bir örnek tam olarak bir yaprak düğüme (= alt küme RmR_mRm​ ) düşer. 𝐼𝑥∈𝑅𝑚𝐼 _{ 𝑥 ∈ 𝑅_𝑚 }Ix∈Rm​​ , 𝑥 alt küme RmR_mRm​ ​ 'de ise 1, aksi takdirde 0 döndüren kimlik fonksiyonudur. Bir örnek yaprak düğüm RlR_lRl​ 'ye düşerse, tahmin edilen sonuç y^=cl\hat y = c_ly^​=cl​ olur; burada clc_lcl​ , yaprak düğüm RlR_lRl​ 'deki tüm eğitim örneklerinin ortalamasıdır.

Peki bu alt kümeler nereden gelir? Bu oldukça basittir: CART bir özelliği alır ve bir regresyon görevi için y'nin varyansını veya sınıflandırma görevleri için y'nin sınıf dağılımına ait Gini indeksini en aza indiren kesme noktasını belirler. Varyans, bir düğümdeki y değerlerinin ortalama etrafında ne kadar yayıldığını gösterir. Gini indeksi, bir düğümün ne kadar “kirli” olduğunu ifade eder; örneğin, tüm sınıflar aynı sıklığa sahipse düğüm kirli, yalnızca bir sınıf mevcutsa düğüm en saf haldedir. Varyans ve Gini indeksi, düğümlerdeki veri noktalarının y için çok benzer değerlere sahip olduğu durumlarda en aza iner. Sonuç olarak, en iyi kesme noktası, hedef sonuç açısından iki oluşan alt kümeyi mümkün olduğunca farklı yapar. Kategorik özellikler için algoritma, farklı kategori gruplamaları deneyerek alt kümeler oluşturmayı dener. Her bir özellik için en iyi kesme noktası belirlendikten sonra, algoritma varyans veya Gini indeksi açısından en iyi bölmeyi sağlayacak özelliği seçer ve bu bölmeyi ağaca ekler. Algoritma, yeni düğümlerde bu arama ve bölme işlemini bir durma kriterine ulaşana kadar özyinelemeli (rekürsif) olarak devam ettirir. Olası durma kriterleri şunlardır: Bir düğümün bölünmeden önce içermesi gereken minimum örnek sayısı veya bir terminal düğümde bulunması gereken minimum örnek sayısı.

5.4.1 Yorumlama

Yorumlama oldukça basittir: Kök düğümden başlayarak bir sonraki düğümlere ilerlersiniz ve kenarlar size hangi alt kümelere baktığınızı söyler. Yaprak düğüme ulaştığınızda, düğüm size tahmin edilen sonucu gösterir. Tüm kenarlar “VE” ile bağlanmıştır.

Şablon: Eğer özellik x, [eşikten c'den küçük/büyük] VE … ise, tahmin edilen sonuç, o düğümdeki örneklerin y'nin ortalama değeridir.

Özellik Önemi

Bir karar ağacındaki bir özelliğin genel önemi şu şekilde hesaplanabilir: Özelliğin kullanıldığı tüm bölünmelerden geçilir ve o özelliğin üst düğüme kıyasla varyansı veya Gini indeksini ne kadar azalttığı ölçülür. Tüm önem değerlerinin toplamı 100 olacak şekilde ölçeklendirilir. Bu, her bir özelliğin önem değerinin, modelin toplam önemindeki pay olarak yorumlanabileceği anlamına gelir.

Ağaç Ayrıştırması

Bir karar ağacının bireysel tahminleri, karar yolunun her bir düğümde özellik başına bir bileşene ayrıştırılmasıyla açıklanabilir. Karar ağacında bir kararı takip ederek, her karar düğümünde eklenen katkılarla bir tahmini açıklayabiliriz.

Karar ağacındaki kök düğüm başlangıç noktamızdır. Eğer kök düğümü kullanarak tahmin yapsaydık, bu tahmin, eğitim verilerindeki hedef değişkenin ortalama değeri olurdu. Bir sonraki bölünmede, izlediğimiz yola bağlı olarak bu toplamdan ya bir terim çıkarılır ya da eklenir. Nihai tahmini elde etmek için açıklamak istediğimiz veri örneğinin yolunu takip ederek bu formüle katkı eklemeye devam etmemiz gerekir.

f^(x)=yˉ+∑d=1D split.contrib (d,x)=yˉ+∑j=1p feat.contrib (j,x)\hat{f}(x)=\bar{y}+\sum_{d=1}^D \text { split.contrib }(\mathrm{d}, \mathrm{x})=\bar{y}+\sum_{j=1}^p \text { feat.contrib }(\mathrm{j}, \mathrm{x})f^​(x)=yˉ​+d=1∑D​ split.contrib (d,x)=yˉ​+j=1∑p​ feat.contrib (j,x)

Bir bireysel örneğin tahmini, hedef çıktının ortalaması artı kök düğüm ile o örneğin sona erdiği terminal düğüm arasındaki D bölünmesinin tüm katkılarının toplamıdır. Ancak biz bölünme katkılarıyla değil, özellik katkılarıyla ilgileniyoruz. Bir özellik birden fazla bölünmede kullanılabilir veya hiç kullanılmayabilir. Her bir p özelliği için katkıları toplayarak, bir tahmine her bir özelliğin ne kadar katkıda bulunduğuna dair bir yorum elde edebiliriz.

5.4.2 Örnek

Bisiklet kiralama verilerine bir kez daha bakalım. Belirli bir günde kiralanan bisiklet sayısını bir karar ağacı ile tahmin etmek istiyoruz. Öğrenilen ağaç şu şekildedir:

İlk bölünme ve ikinci bölünmelerden biri, trend özelliği ile gerçekleştirilmiştir. Bu özellik, veri toplamanın başladığı günden itibaren geçen günleri sayar ve bisiklet kiralama hizmetinin zaman içinde daha popüler hale gelmesini kapsayan bir eğilimi gösterir. 105. günden önceki günler için tahmin edilen bisiklet sayısı yaklaşık 1800, 106. ve 430. günler arasındaki günler için yaklaşık 3900'dür. 430. günden sonraki günlerde, tahmin edilen sayı sıcaklığa bağlı olarak değişir: Sıcaklık 12 derecenin altındaysa tahmin 4600, 12 derecenin üzerindeyse tahmin 6600 civarındadır.

Özellik önemi (feature importance), bir özelliğin tüm düğümlerin saflığını ne kadar iyileştirdiğini ölçer. Burada, bisiklet kiralamayı tahmin etmek bir regresyon görevi olduğu için varyans kullanılmıştır.

Görselleştirilen ağaç, hem sıcaklık hem de zaman trendinin bölünmeler için kullanıldığını gösterir, ancak hangi özelliğin daha önemli olduğunu sayısal olarak belirtmez. Özellik önemi ölçümü, zaman trendinin sıcaklıktan çok daha önemli olduğunu göstermektedir.

5.4.3 Avantajlar

Ağaç yapısı, verilerdeki özellikler arasındaki etkileşimleri yakalamak için idealdir.

Veriler, lineer regresyonda olduğu gibi çok boyutlu bir hiper düzlemdeki noktalar yerine, genellikle anlaşılması daha kolay olan ayrı gruplara ayrılır. Yorumlama oldukça basittir.

Ağaç yapısının, düğümler ve kenarlarla doğal bir görselleştirmesi vardır.

Özellikleri dönüştürmeye gerek yoktur. Lineer modellerde, bazen bir özelliğin logaritmasını almak gerekir. Bir karar ağacı, bir özelliğin herhangi bir monoton dönüşümü ile eşit derecede iyi çalışır.

5.4.4 Dezavantajlar

Ağaçlar, lineer ilişkileri işleme konusunda başarısızdır. Girdi özellikleri ve sonuç arasındaki herhangi bir lineer ilişki, bölünmelerle yaklaşık olarak adım fonksiyonu şeklinde modellenmek zorundadır. Bu, verimsiz bir yaklaşımdır.

Bu durum, yumuşaklığın eksikliği ile de ilgilidir. Girdi özelliklerindeki küçük değişiklikler, tahmin edilen sonuç üzerinde büyük bir etkiye sahip olabilir, bu genellikle istenmeyen bir durumdur. Bir karar ağacının, bir evin değerini tahmin ettiğini hayal edin ve ağacın evin büyüklüğünü bölünme noktası olarak kullandığını varsayalım. Bölünme noktası 100.5 metrekare olsun. Kullanıcı, 99 metrekare olarak girerse tahmin 200.000 Euro, ardından bir depoyu hesaba katarak 100.0 ve 101.0 metrekare girdiğinde tahmin 200.000 Euro ve 205.000 Euro çıkar. Bu durum oldukça mantıksızdır, çünkü 99 metrekareden 100’e geçişte bir değişiklik yokken, tahminde ani bir sıçrama gözlemlenir.

Ağaçlar aynı zamanda oldukça istikrarsızdır. Eğitim veri setindeki birkaç küçük değişiklik, tamamen farklı bir ağaç yapısı oluşturabilir. Bunun nedeni, her bölünmenin bir önceki bölünmeye bağlı olmasıdır. İlk bölünme için farklı bir özellik seçilirse, tüm ağaç yapısı değişir. Bu kadar kolay değişen bir yapının güvenilir bir model oluşturduğunu söylemek zordur.

Karar ağaçları çok yorumlanabilirdir – kısa oldukları sürece. Terminal düğümlerin sayısı derinlikle hızlı bir şekilde artar. Ağaç ne kadar derinse ve terminal düğüm sayısı ne kadar fazlaysa, ağacın karar kurallarını anlamak o kadar zorlaşır. Derinlik 1 olduğunda 2 terminal düğüm, derinlik 2 olduğunda maksimum 4 düğüm, derinlik 3 olduğunda maksimum 8 düğüm vardır. Bir ağacın maksimum terminal düğüm sayısı, derinliğin 2 üssüdür.

5.4.5 Yazılım


Ağaçlar, bölümünde tanımlandığı gibi iyi açıklamalar oluşturur. Ağaç yapısı otomatik olarak bireysel örnekler için tahmin edilen değerleri karşıt durumlar olarak düşünmeye davet eder: “Bir özelliğin değeri bölünme noktasından daha büyük/küçük olsaydı, tahmin edilen değer y1 yerine y2 olurdu.” Ağaç açıklamaları karşılaştırmalıdır, çünkü bir örneğin tahminini, ağacın tanımladığı ilgili “ya şöyle olsaydı” senaryoları (ağaçtaki diğer yaprak düğümler) ile her zaman karşılaştırabilirsiniz. Ağaç kısa ise (örneğin bir ila üç bölünme derinliğinde), ortaya çıkan açıklamalar seçicidir. Derinliği üç olan bir ağaç, bir bireysel örneğin tahmini için maksimum üç özellik ve bölünme noktası kullanır. Tahminin doğruluğu, ağacın tahmin performansına bağlıdır. Kısa ağaçların açıklamaları çok basit ve geneldir, çünkü her bölünmede örnek ya bir yaprak düğümüne ya da diğerine düşer ve ikili kararlar anlaması kolaydır.

Bu bölümdeki örnekler için R dilindeki rpart paketi kullanılmıştır. Bu paket, CART (Sınıflandırma ve Regresyon Ağaçları) algoritmasını uygular. CART, dahil birçok programlama dilinde mevcuttur. Ancak, CART oldukça eski ve biraz modası geçmiş bir algoritma olarak kabul edilebilir. Ağaç oluşturmak için yeni ve ilgi çekici algoritmalar mevcuttur. R dilindeki karar ağaçları için bazı paketlerin bir özetini Task View içinde “Recursive Partitioning” anahtar kelimesi altında bulabilirsiniz. Python dilinde, paketi, ağaçları büyütmek (örneğin açgözlü veya optimal yapılandırma), budama ve düzenleme için çeşitli algoritmalar sağlar.

Friedman, Jerome, Trevor Hastie, and Robert Tibshirani. “The elements of statistical learning”. hastie.su.domains/ElemStatLearn (2009).

“İnsan Dostu Açıklamalar”
Python
Machine Learning and Statistical Learning CRAN
imodels
↩︎
Figür 5.16: Yapay verilerle karar ağacı. Özellik x1 için değeri 3'ten büyük olan örnekler düğüm 5'e ulaşır. Diğer tüm örnekler, özellik x2'nin değeri 1'i aşıp aşmadığına bağlı olarak düğüm 3 veya düğüm 4'e atanır.
Figür 5.17: Bisiklet kiralama verileri üzerinde uyarlanmış regresyon ağacı. Ağacın maksimum izin verilen derinliği 2 olarak ayarlandı. Bölünmeler için trend özelliği (2011'den bu yana gün sayısı) ve sıcaklık (temp) seçildi. Kutu grafikleri, terminal düğümdeki bisiklet sayılarının dağılımını gösterir.
Figür 5.18: Özellik öneminin, düğüm saflığının ortalama olarak ne kadar iyileştirildiği ile ölçüldüğü SHAP özellik önemi.