Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Karar ağacı

Tablo verisinde ağaçlar neden hâlâ güçlü?

Karar ağacı, bir dizi evet–hayır sorusudur. Derinleştikçe ezberler; torbalama ve gradyan artırma bunu nasıl düzeltir? Tablo verisinde ağaç tabanlı yöntemlerin sinir ağlarını neden zorladığına dair bir araştırma.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Her veri bir görüntü ya da metin değildir#

Banka müşterilerinin yaşı, geliri, kredi geçmişi; bir hastanın tahlil değerleri; bir mağazanın haftalık satışları. Bunlar tablo verisidir: her satır bir kişi ya da olay, her sütun farklı türde bir ölçüm. Yapay zekânın görünen yüzü metin ve görüntü olsa da iş dünyasındaki veri çoğunlukla böyle görünür. Bu alanda, sinir ağlarına rağmen, karar ağacı tabanlı yöntemler hâlâ başlıca araçlardan biridir.

02Karar ağacı: bir dizi evet–hayır sorusu#

Bir karar ağacı veriyi tekrar tekrar ikiye böler: “Gelir 40 bin’den büyük mü?”, “evetse yaş 35’ten küçük mü?”… Her bölmede bir özellik ve bir eşik seçilir; seçim açgözlüdür: o anda gruplardaki karışıklığı (örneğin Gini safsızlığı) en çok azaltan soru seçilir. Yapraklarda o gruptaki çoğunluk sınıfı tahmin edilir. Ağacı okumak kolaydır, ama kolaylıkla ezberler: yeterince derin ağaç, her eğitim örneğine kendi yaprağını verir.

03Derinlik: ezberin ayarı#

Aşağıdaki veri öğretim için üretilmiş: birim karede iki özellik, gerçek bir sınır ve etiketlerin %10’u rastgele çevrilmiş gürültü. Bu yüzden hiçbir yöntem yaklaşık %90’ı geçemez. Derinliği artır ve eğitim ile test doğruluğuna bak.

01

Ağaç derinleştikçe ne olur?

Hesaplanan · temsili girdiler

Derinliği artır: eğitim doğruluğu yükselirken test doğruluğuna ne oluyor? Sonra sınırı çapraz yap ve 25 ağacın oyunu dene.

0,600,700,800,9011246810doğruluken fazla derinlikEğitim doğruluğuTest doğruluğuGürültü tavanı
DERİNLİK 2: EĞİTİM / TEST DOĞRULUĞU%88,0 / %89,5
EN İYİ TEST (DERİNLİK)%89,5 (2)
İki özellikli, 150 eğitim ve 800 test noktası öğretim için üretilmiştir; etiketlerin %10’u rastgele çevrilmiştir, bu yüzden hiçbir yöntem yaklaşık %90’ı aşamaz. Gini ölçütlü, eksenlere paralel bölmeli küçük bir karar ağacı ve 25 ağaçlı torbalama tarayıcıda gerçekten çalışır. Sonuçlar bu veri kümesi içindir.

Eksenlere paralel gerçek sınırda tek ağacın test doğruluğu derinlik 2’de %89,5 ile tavana (%90) çok yakın. Derinlik 10’da eğitim doğruluğu %99’a çıkar ama test doğruluğu %79,6’ya düşer: ağaç gürültüyü de ezberlemiştir. Bu, ezberleme–genelleme yazısındaki tabloya aynen oturur; burada ayar düğmesi “polinom derecesi” değil “ağaç derinliği”dir.

04Topluluk: çok ağaç, tek oy#

Tek bir derin ağaç, eğitim kümesindeki küçük değişikliklere çok duyarlıdır (yüksek varyans). İki ünlü çare:

  • Torbalama (bagging): Eğitim kümesinden yerine koyarak çok sayıda örneklem çek, her birinde ayrı bir ağaç büyüt, tahminleri oy çokluğuyla birleştir. Birbirinden farklı hatalar yapan ağaçların ortalaması daha kararlıdır. (Rastgele orman, buna her bölmede özellik altkümesi seçmeyi ekler.)
  • Gradyan artırma (boosting): Ağaçları sırayla büyüt; her yeni ağaç, öncekilerin toplamının yaptığı hataları düzeltmeye çalışır. Bu sitede bunun demosu yok; fikir, hatayı ardışık küçük düzeltmelerle azaltmaktır.

Demoda “25 ağaç, oy çokluğu” seçeneğiyle derinlik 10’da test doğruluğu %84,5’e çıkıyor (tek ağaçta %79,6’ydı): yaklaşık beş puan kazanç. Ama dürüst bir uyarı: derinliği 2’de tutan tek ağaç (%89,5) hâlâ daha iyi. Torbalama ezberi yumuşatıyor, sınırlamıyor; burada en iyi ayar yine de basit bir modeldi.

Sınırı çapraz (x + y > 1) yaptığında başka bir şey olur: tek ağacın en iyi test doğruluğu derinlik 3’te %79,1’e kalıyor, torbalamayla en iyisi %81,0. Aynı gürültüde tavan hâlâ %90 iken eksenlere paralel sınırlardan on puan geride. Ağaç, çapraz bir çizgiyi basamaklarla taklit etmek zorunda; her basamak ayrı bir bölme demek. Bu, optimizasyon yazısındaki “yöne bağımlılık” temasının bir benzeridir: ağaçlar koordinat eksenlerine bağımlıdır.

05Neden tabloda hâlâ güçlüler?#

Chen ve Guestrin’in XGBoost’u, ağaç artırmanın ölçeklenebilir bir uygulamasıdır; yazarlar sistemin veri bilimcilerce birçok makine öğrenmesi yarışmasında en iyi sonuçlara ulaşmak için kullanıldığını bildirdi. XGBoost ↗

Grinsztajn, Oyallon ve Varoquaux ise soruyu doğrudan sordu: ağaç tabanlı modeller neden hâlâ derin öğrenmeyi geçiyor? 45 tablo veri kümesinden oluşan bir kıyaslama kurdular ve ağaç tabanlı modellerin (XGBoost, Rastgele Orman) orta büyüklükteki (yaklaşık 10 bin örnekli) verilerde hızı hesaba katılmasa bile en güçlü yöntem olarak kaldığını bildirdi. Sinir ağlarının tablo verisine uyarlanabilmesi için üç zorluğu işaret ettiler: bilgi içermeyen özelliklere dayanıklılık, verinin yönünü koruma ve düzensiz fonksiyonları kolay öğrenme. Why do tree-based models still outperform deep learning on tabular data? ↗

Etiketin hiç olmadığı durumda ne yapılır? Etiketsiz veride yapı bulmak: kümeleme ve PCA

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Karar ağacının nasıl bölme yaptığını anlatabilirsin.
  • Derinliğin neden ezberin ayarı olduğunu açıklayabilirsin.
  • Torbalama ile gradyan artırma arasındaki farkı söyleyebilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler