Karar ağaçlarını optimize etme algoritması


16

Arka fon

İkili karar ağacı , her iç düğümün (ve kökün) dizininde indeksiyle etiketlendiği ve kökten yaprağa hiçbir yolun bir dizini tekrarlamadığı köklü bir ağaçtır , yapraklar içindeki çıkışlarla etiketlenir ve her kenar sol çocuk için ve sağ çocuk için olarak etiketlenir . girişine ağaç uygulamak için :Tj{1,...,n}{A,B}01x

  1. Kökten başlayın
  2. eğer yaprakdaysanız, veya yaprak etiketini çıkarır ve sonlandırırsınızbirB
  3. Geçerli düğümünüzün etiketini okuyun , eğer ise sol alt , ise sağ alt .jxj=0xj=1
  4. adım 2'ye atla

Ağaç, özellikle bir ağaç, söz gelimi bir fonksiyonunu değerlendirmek için bir yol olarak kullanılan toplam fonksiyonu temsil eder için ise, her elimizdeki . Bir ağacın sorgu karmaşıklığı derinliğidir ve bir işlevin sorgu karmaşıklığı onu temsil eden en küçük ağacın derinliğidir.Tfx{0,1}nT(x)=f(x)


Sorun

Bir ikili karar ağacı T verildiğinde, T ve T 'aynı işlevi temsil edecek şekilde minimum derinlikte bir ikili karar ağacı T' verir.

Soru

Bunun için en iyi bilinen algoritma nedir? Daha düşük sınırlar biliniyor mu? Bildiğimiz eğer ? Sadece nin yaklaşık olarak minimum derinlikte olmasını istiyorsak ne olur?derinlik(T')=Ö(günlükderinlik(T))T'


Saf yaklaşım

Saf yaklaşım verilir ardışık derinliği tüm ikili karar ağaçları numaralandırmak için bunlar aynı şey değerlendirilmesi ise test sırasında . Bu, Adımları gerektirmektedir ( in rastgele bir için neyi değerlendirdiğini kontrol etmek için adım sürdüğü varsayılarak ). Daha iyi bir yaklaşım var mı?d - 1 , T O ( d 2 , n , n !d=derinlik(T)d-1TdT(x)xÖ(d2nn!(n-d)!)dT(x)x

Motivasyon

Bu soru, sorgu karmaşıklığı ve zaman karmaşıklığı arasındaki ödünleşime dair önceki bir soru tarafından motive edilmektedir . Özellikle, amaç toplam fonksiyonlar için zaman ayrımını sınırlamaktır. Biz bir ağaç yapabilir seferinde optimum algoritma ile çalışma zamanı gelen , sonra bir ağaca dönüştürmek istiyoruz sorgu optimum algoritması için. Ne yazık ki, (Ve genellikle ) darboğaz dönüşümdür. değiştirsek iyi olur gibi bir şeyle .t T t O ( n ! / ( N - d ) ! ) D Θ ( n ) n ! / ( n - d ) ! 2 günTtT'tÖ(n!/(n-d)!)dΘ(n)n!/(n-d)!2d


En uygun karar ağacını bulmak NP-eksiksizdir. Bana Karar teorisi ve Veri madenciliği derslerinde bunların notlara dayandığı öğretildi ve sonucu tanıtan orijinal makalenin farkında değilim.
chazisop

@chazisop cool, teşekkürler. En uygun karar ağacını bulmanın NP'de olduğu açık değil, ama bunu düşüneceğim / biraz daha arayacağım. Bazen teorem ifadesini bilmek, bunu kanıtlamanın yarısıdır: D.
Artem Kaznatcheev

Ben bunun için en erken referans olduğunu düşünüyorum: Öğrenme Karar Listeleri ve Ağaçlar Alt Sınırları. (Hancock ve diğerleri 1994) cs.uwaterloo.ca/~mli/dl.ps
Lev Reyzin

1
Optimal karar ağacını bulmanın NP-tam bir problem olduğunu gösteren kanıtlar Laurent Hyafil ve Ronald L. Rivest tarafından optimal ikili karar ağaçlarının oluşturulmasında NP-tamamlandı (1976). başvuru: burada
antoine

Yanıtlar:


16

3 cevabım var, hepsi biraz farklı sertlik sonuçları veriyor.

Let bir fonksiyonu.f:{0,1}n{0,1}

cevap 1

Bir karar ağacı Verilen hesaplama f ve bir numara, bir karar ağacı vardır olmadığını söylemek için NP-zor T ' bilgisayar f en fazla bu sayıyı boyutta. TfT'f( Zantema ve Bodlaender '00 )

Cevap 2

Bir f karar ağacı hesaplaması f verildiğinde , f en küçük karar ağacı f hesaplamasını sabit bir faktöre yaklaştırmak zordur . Tff( Sieling '08 )

Cevap 3

Let en küçük karar ağacı hesaplama boyutu olmak f . Bir karar ağacı verilen T işlem f varsayarak, N P D , T I M E ( 2 n, ε ) bazı £ değerinin < 1 , bir eşdeğer bir karar ağacı bulamazsa T ' boyutta s k herhangi k 0 .sfTfN-PDTbenME(2nε)ε<1T'skk0

Bu daha güçlü cevabın (daha zayıf bir varsayımdan yola çıkarak), karar ağaçları için Occam algoritmalarının öğrenme teorisindeki bilinen sonuçlardan aşağıdaki argüman yoluyla yapılabileceğini düşünüyorum:

  1. O hakkında bir karar ağacı bulmak mümkün mü zamanında değişkenler n günlük ler nerede, s bir dağılım (PAC modeli) gelen örneklerle tutarlı en küçük bir karar ağacı. ( Blum '92 ) nngünlükss
  2. Varsayarak bazı £ değerinin < 1 , biz PAC öğrenmek Boyutu olamaz boyutuna göre karar ağaçları herhangi karar ağaçları . ( Alekhnovich ve diğerleri '07 )N-PDTbenME(2nε)ε<1sskk0

Bu iki sonucun, sorununuz için bir sertlik sonucu olduğu anlaşılıyor. Bir yandan (1) büyük bir karar ağacı bulabiliriz; Öte yandan (2), boyutunda olsa bile, boyutunda eşdeğer bir "küçük" boyut elde etmek için onu en aza .sks


(Yanıtınızı bir saatten daha kısa bir süre önce gönderilen bu yanıttan buldum .)Bu "benziyor " olumlu" ile değiştirilebilir £ değerinin azaltılması beri, £ değenni çevreleme sağ kolu tarafı yapar küçük .ε<1εε Ayrıca, bu makalede 2. nerede gösterilmiştir?


(Ricky Demer ile aynı cevaptan gelir) 1. ve 2. noktalardan nasıl "cevap 3" elde edersiniz? Öğrenme teorisine çok aşina değilim ve parçaları birleştirmekte zorlanıyorum ...
Marc

Bu tutarlılık sorunu ve öğrenilebilirlik Occam'ın tıraş makinesi ile yakından ilişkilidir. Fikir, küçük bir setten tutarlı bir işlev bulabilirseniz, PAC öğrenmede başarılı olabilirsiniz. Bu nedenle, öğrenme sonucunun sertliği "tutarlılık sertliği" sonucunu ifade eder. Bir yorumda daha ne kadar açıklayabileceğimden emin değilim ...
Lev Reyzin

Anladığım kadarıyla, 1 için uyandırılan algoritma , 2 ile bir çelişki elde etmek için gerekli olan zamanında çalışmaz. karar ağaçları için çoklu zaman öğrenme algoritması olmadığını söylüyor). Tartışmanızla ilgili bir sorun olabilir. PÖly(n,s)
Marc
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.