Karar ağaçları: yaprak bilge (en iyisi ilk) ve seviye bilge ağacı geçişi


14

Sorun 1:

Ağacın genişleme şekliyle ilgili LightGBM tanımıyla kafam karıştı .

Belirtiyorlar:

Karar ağacı öğrenme algoritmalarının çoğu, aşağıdaki görüntüde olduğu gibi, seviye (derinlik) yönde büyür:

resim açıklamasını buraya girin

Sorular 1 : Hangi "en" algoritmalar bu şekilde uygulanır? Bildiğim kadarıyla C4.5 ve CART DFS kullanıyor. XGBoost BFS kullanır. Hangi diğer algoritmalar veya paketler karar ağaçları için BFS kullanır?

Sayı 2:

LightGBM şunları belirtir:

LightGBM ağaç yaprak yaprak (en iyi-ilk) tarafından büyür. Büyümek için maksimum delta kaybı ile yaprak seçecektir. Aynı yaprak büyürken, yaprak-bilge algoritması seviye-bilge algoritmasından daha fazla kaybı azaltabilir.

resim açıklamasını buraya girin

Soru 2 : Düzgün büyüme ağaçlarının tüm yapraklar için eşit derinliğe sahip olacağını söylemek doğru mu?

Sorular 3: Soru 2 doğru değilse, o zaman düz ve yaprak bakımından büyümeden elde edilen ağaçlar çapraz geçişin sonunda (budama vb. Olmadan) aynı görünecektir. Doğru bir ifade mi?

Sorular 4: Soru 3 doğruysa, "yaprak-bilge algoritması seviye-bilge algoritmasından daha fazla kaybı nasıl azaltabilir"? Budama sonrası algoritma ile ilgisi var mı?

Yanıtlar:


11

Tam ağacı büyütürseniz, önce en iyisi (yaprak-bilge) ve önce derinliği (seviye-bilge) aynı ağaç ile sonuçlanır. Fark ise sırayla ağaç genişletilmiş edildiği. Normalde ağaçları tam derinliklerinde yetiştirmediğimiz için, sipariş önemlidir: erken durma kriterleri ve budama yöntemlerinin uygulanması çok farklı ağaçlarla sonuçlanabilir. Yaprak-bilge, sadece belirli bir daldaki kayıplara değil, küresel kayıplara katkılarına bağlı olarak bölünmeler seçtiği için, genellikle (her zaman değil) düşük hata ağaçlarını seviye-bilenden daha hızlı öğrenecektir. Yani, az sayıda düğüm için, yaprak-bilge muhtemelen seviye-bilge olarak gerçekleştirecektir. Daha fazla düğüm ekledikçe, durmadan veya budamadan aynı performansa yakınlaşacaklar, çünkü sonunda aynı ağacı oluşturacaklar.

Referans:

Shi, H. (2007). En İyi İlk Karar Ağacı Öğrenimi (Tezli, Yüksek Lisans). Waikato Üniversitesi, Hamilton, Yeni Zelanda. Https://hdl.handle.net/10289/2317 adresinden erişildi.


DÜZENLEME: İlk sorunuzla ilgili olarak, hem C4.5 hem de CART en iyisi değil, önce derinlik ilk örnekleridir. Yukarıdaki referanstaki bazı alakalı içerikler şunlardır:

1.2.1 Standart karar ağaçları

Karar ağaçlarının yukarıdan aşağıya indüksiyonu için C4.5 (Quinlan, 1993) ve CART (Breiman ve diğerleri, 1984) gibi standart algoritmalar, bölme ve fethetme stratejisini kullanarak düğümleri her adımda derinlemesine birinci sırada genişletir. Normalde, bir karar ağacının her bir düğümünde, test sadece tek bir özellik içerir ve özellik değeri bir sabitle karşılaştırılır. Standart karar ağaçlarının temel fikri, önce kök düğüme yerleştirilecek bir öznitelik seçmek ve bazı özniteliklere (örneğin bilgi veya Gini indeksi) dayanarak bu öznitelik için bazı dallar yapmaktır. Ardından, eğitim örneklerini kök düğümden uzanan her dal için bir tane olmak üzere alt kümelere ayırın. Alt kümelerin sayısı şube sayısıyla aynıdır. Daha sonra, bu adım, yalnızca gerçekte ona ulaşan örnekleri kullanarak seçilen bir dal için tekrarlanır. Sabit bir sıra düğümleri genişletmek için kullanılır (normalde soldan sağa). Herhangi bir zamanda bir düğümdeki tüm örneklerin, saf düğüm olarak bilinen aynı sınıf etiketine sahip olması durumunda, bölme durur ve düğüm bir terminal düğümüne yapılır. Bu yapım süreci tüm düğümler saf olana kadar devam eder. Daha sonra fazla teçhizatları azaltmak için bir budama işlemi takip eder (bkz. Bölüm 1.3).

1.2.2 En iyi ilk karar ağaçları

Şimdiye kadar sadece artırma algoritmaları bağlamında değerlendirilen bir başka olasılık (Friedman ve ark., 2000), düğümleri sabit bir sıra yerine en iyi ilk sırada genişletmektir. Bu yöntem, her adımda ağaca "en iyi" bölünmüş düğümü ekler. "En iyi" düğüm, bölme için kullanılabilir tüm düğümler (yani terminal düğümleri olarak etiketlenmemiş) arasındaki safsızlığı maksimum düzeyde azaltan düğümdür. Bu, standart derinlik-ilk genişleme ile aynı şekilde tamamen büyümüş bir ağaçla sonuçlansa da, genişletme sayısını seçmek için çapraz doğrulama kullanan yeni ağaç budama yöntemlerini araştırmamızı sağlar. Hem budama hem de budama sonrası bu şekilde yapılabilir, bu da aralarında adil bir karşılaştırma yapılmasını sağlar (bkz. Bölüm 1.3).

En iyi ilk karar ağaçları, standart derinlik-ilk karar ağaçlarına benzer şekilde böl ve fethet tarzında inşa edilir. En iyi ilk ağacın nasıl inşa edildiğine dair temel fikir aşağıdaki gibidir. İlk olarak, kök düğüme yerleştirilecek bir öznitelik seçin ve bu ölçüt için bazı ölçütlere göre bazı dallar oluşturun. Ardından, eğitim örneklerini kök düğümden uzanan her dal için bir tane olmak üzere alt kümelere ayırın. Bu tezde sadece ikili karar ağaçları dikkate alınmıştır ve bu nedenle dal sayısı tam olarak ikidir. Daha sonra, bu adım, yalnızca gerçekte ona ulaşan örnekleri kullanarak seçilen bir dal için tekrarlanır. Her adımda, genişletmeler için mevcut olan tüm alt kümeler arasından "en iyi" alt kümesini seçiyoruz. Bu oluşturma işlemi, tüm düğümler saf olana veya belirli sayıda genişlemeye ulaşılana kadar devam eder. Şekil 1. Şekil 1, varsayımsal bir ikili en iyi-birinci ağaç ile varsayımsal bir ikili derinlik-birinci ağaç arasındaki ayrık sıradaki farkı göstermektedir. En iyi ilk ağaç için diğer siparişlerin seçilebileceğini, ancak siparişin derinlik ilkinde her zaman aynı olduğunu unutmayın.


İlk soruyu da cevaplayabilir misiniz?
Jekaterina Kokatjuhha

Cevabım güncellendi. Kısa sürüm, hem C4.5 hem de CART'ın en iyisi değil, önce derinliğin örnekleri olduğudur.
David Marx

İlk sorum en iyisi ya da DFS'nin tanımı ya da açıklaması ile ilgili değildi. Ve kendime C4.5 ve CART'ın DFS olduğunu söyledim. İlk soru, "Hangi" en "algoritmalar seviye bazında uygulandı? [...] Hangi diğer algoritmalar veya paketler karar ağaçları için BFS kullanıyor?"
Jekaterina Kokatjuhha

1
"Derinlik öncelikli" ağaç büyümesi olan seviye-bilge. Sana bunu anlatmaya çalışıyordum. Sizin için vurguladığım alıntıyı okuyun. Burada grafik geçişli DFS ve BFS'yi "Önce derinlik" ve "en iyi ilk" ağaç büyümesiyle karıştırmayın. Aynı değildirler ve derinlikteki ilk büyüme, "DFS" değil, "BFS" ​​adını verdiğiniz anlamına gelir.
David Marx

Her zaman özlediğim kritik nokta buydu. Teşekkür ederim.
Jekaterina Kokatjuhha
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.