Rastgele Ormanlardan Ne Zaman Kaçınılmalı?


25

Rastgele ormanların, çeşitli görevlerde oldukça iyi performans gösterdiği iyi bilinmektedir ve öğrenme yöntemlerinin derleyicisi olarak adlandırılmıştır . Rastgele bir orman kullanmaktan kaçınması gereken herhangi bir sorun veya özel durum var mı?


8
Merhaba. "PLS ... 'nin dericisidir", "Bootstrap,' 'nin dericisidir.", "Rastgele orman,' 'nın dericisidir." Sadece bir yorum yapıldı :)
Stéphane Laurent

Yanıtlar:


24

Teklifin kendine özgü dilini düşünerek, bir deri ustası çok amaçlı bir alettir: içine çok sayıda gizlice takılan tek bir donanım parçası. Bir pense, bir bıçak ve bir tornavida ve daha fazlası! Leatherman, bu aletlerin her birini ayrı ayrı taşımak zorunda kalmak yerine, pantolonunuza takabileceğiniz tek bir ürün olduğundan her zaman elinizin altındadır. Bu uygundur , ancak takas, bileşen araçlarının her birinin işinde en iyisi olmamasıdır . Kutu açacağı, kullanımı zor, tornavida uçları genellikle yanlış boyuttadır ve bıçak, sivrilmekten biraz daha fazlasını başarabilir. Bu görevlerden herhangi birini yapmak kritikse, özel bir aletle daha iyi hizmet görürsünüz: gerçek bir bıçak, gerçek bir tornavida veya gerçek bir pense çifti.

Rastgele bir orman aynı şekilde düşünülebilir. Rastgele orman, çeşitli veri kümelerinde güçlü sonuçlar verir ve ayarlama parametrelerine karşı inanılmaz derecede hassas değildir. Ama mükemmel değil. Sorunla ilgili ne kadar çok şey bilirseniz, sorununuzu gidermek için özel modeller oluşturmak o kadar kolay olur.

Rastgele ormanların mücadele edeceği açık birkaç durum vardır:

  • Seyreklik - Veriler çok seyrek olduğunda, bazı düğümler için, önyüklenen örnek ve özelliklerin rastgele alt kümesinin değişmez bir özellik alanı oluşturmak için işbirliği yapması çok olasıdır . Sahip olunacak üretken bir bölünme olmadığından, bu düğümün çocuklarının hiç de yardımcı olma olasılığı düşüktür. XGBoost bu bağlamda daha iyisini yapabilir.

  • Veriler eksen hizalı değil - İki özellik alanında ( ve köşegen bir karar sınırı olduğunu varsayalım . Verilerinizle ilgili tek boyut bu olsa bile, sıradan rastgele bir orman modelini bu çapraz sınırı tanımlamak için birçok bölme gerekir. Bunun nedeni, her bölünmenin, veya eksenine dik olarak yönlendirilmiş olmasıdır . (Bu sezgisel olmalıdır, çünkü sıradan bir rastgele orman modeli, biçiminin bölünmelerini sağlıyorx1x2x1x2x1>4.) Her bölünme için seçilen özelliklerin alt kümesinde bir PCA projeksiyonu gerçekleştiren rotasyon ormanı, bunun üstesinden gelmek için kullanılabilir: dikgen bir temeldeki çıkıntılar, prensip olarak, eksen hizalı özelliğin etkisini azaltır çünkü bölmeler Artık orijinal olarak eksen hizalı olmayacaktır.

    Bu görüntü, eksen hizalı bölmelerin rastgele orman kararlarını nasıl etkilediğine dair başka bir örnek sunar. Karar sınırı, başlangıçtaki bir çemberdir, ancak bu belirli rastgele orman modelinin daireye yaklaşmak için bir kutu çizdiğine dikkat edin. Bu sınırı geliştirmek için yapılabilecek birçok şey var; en basit olanı daha fazla veri toplamak ve daha fazla ağaç oluşturmaktır. görüntü tanımını buraya girin

  • Rastgele ormanlar temelde yalnızca tablo verileri üzerinde çalışır,yani, bir görüntü olan veri anlamında özellikler veya bir grafik üzerinde bir araya getirilen gözlemler açısından özellikler arasında güçlü, niteliksel olarak önemli bir ilişki yoktur. Bu yapılar tipik olarak birçok dikdörtgen bölüm tarafından iyi bir şekilde yaklaştırılmaz. Verileriniz bir zaman dizisinde yaşıyorsa veya bir dizi görüntüdeyse, ya da bir grafikte yaşıyorsanız veya başka belirgin bir yapıya sahipse, rastgele orman bunu tanımak için çok zor bir zamana sahip olacaktır. Araştırmacıların bu durumlara uyum sağlama girişiminde yöntem üzerinde farklılıklar geliştirdiklerinden şüphem yok, ancak vanilyadaki rastgele bir orman mutlaka bu yapılar üzerinde faydalı bir şekilde toplanmaz. İyi haber şu ki, genellikle bunun ne zaman olduğunu bilirsiniz, yani çalışacağınız görüntüler, zaman serileri veya grafikler olduğunu bilirsiniz.

Vanilyadaki rastgele ormanların dikdörtgen olmayan bölümleri tanıma potansiyeline sahip olduğunu düşünüyorum. Örneğin ikinci dereceden özelliklere sahip olabilir ve x ^ 2 <c gibi sınırları tanıyabiliriz.
Aniruddha Acharya

2
@AniruddhaAcharya "Mücadele" dedim başarısız olmadı. Buradaki cevabım ikinci dereceden özelliklerin aşılmaz bir sorun olmadığını açıkça ortaya koyuyor. Ancak, köşegen veya kareler veya hizalanmamış diğer türlerdeki bölmeler, ağaçların bu özellikler üzerinde tekrar tekrar ve tekrardan dikdörtgen / eğriye yaklaşacak şekilde dikdörtgen biçimde ayrılmasını gerektirir. Bu yazıyı arsa üzerinde bu yazıya görebilirsiniz: keskin köşelere bakın. RF, bir daireyi yaklaşık olarak göstermek için kare kullanıyor.
Sycorax, Reinstate Monica'ya

İkinci dereceden (ve diğer yüksek dereceden) özelliklerin RF'ye beslenmesi, dikdörtgen olmayan bölümlerin modellenmesindeki mücadeleyi azaltacağını kastetmiştim. Örneğin, RF'ler bir kare kullanmak yerine daireye yaklaşmak için 2 kuadratik kullanabilir. Değişkenler arasındaki etkileşimi barındıran modeller kadar kolay olmadığını kabul etmeme rağmen, RF'lerin ham özelliklerde eşikler kullanmakla sınırlı olmadığı için zor olmadığını hissediyorum.
Aniruddha Acharya

1
@AniruddhaAcharya Eğer kare terimlerin doğru model olduğunu biliyorsanız, rastgele ormana ihtiyacınız yoktur: sadece doğrusal bir modele kare terimler ekleyin. RF, özellikle eksene hizalanmış karar fonksiyonlarına sahip olduklarında, keyfi fonksiyonları yaklaştırmanın iyi bir yoludur.
Sycorax, Reinstate Monica'ya

Neden, (ikinci dereceden terimler) özellik mühendisliği @AniruddhaAcharya tarafından önerilen RF'lerle birlikte kullanmak için uygun bir adım değil? Evet, bu özellikler doğrusal bir modele eklenebilir: ancak ikincisi, özelliklerin farklı alt kümeleri için ayrı ayrı optimize edilmiş birçok sonucun katkılarını birleştirme davranışını sağlamaz.
javadba

22

Keskin köşeler. Saptamak.

Difüzyon yöntemlerini kullanırlar. Topaklı şeylere iyi uyuyorlar. Numune büyüklüğü düşük olduğunda ayrıntılı ve son derece ayrıntılı şeylere uymuyorlar. Çok değişkenli zaman serisi verilerinde iyi çalışmadıklarını hayal ediyorum - buradaki bir şey oradaki bir şeye bağlıyken.

Degrade yükseltilmiş ormanlar sığabilir veya fazla sığabilir, ancak aynı veriler için önemli ölçüde daha düşük hatayla karşılaşabilir.

" Dericiler " yok. "Gümüş mermi" yok. Alet kutuları var. Araçlarını tanı ve onlara iyi bakabilmeleri için onlara iyi bak. "Çekiç varken, sonra her problem çiviye benziyor" derken özellikle alet çantanızda yoğun bir kütüphane yoksa dikkatli olun.

Sorunu iyi tanıyana kadar, bir şeyin çözebileceğini veya en sevdiğiniz aracı çözebileceğini hayal etmek kolaydır. Bilgelik sorunu anlamada derinleşmeyi ve araçlarınızı çok iyi tanımanızı önerir.

Eklendi: Başka bir şey kullanmak için yeterli bilgi işlem kaynağınız veya zaman payınız varsa. RF, sadece hızlı eğitmek için değil, aynı zamanda yürütmek için de hızlıdır. Çok derin bir güçlendirilmiş yapı bundan daha azdır. Bunu desteklemek için ek yükünüz olması gerekir.


2
Buradaki şeytanın avukatı olmak: Hiçbir şey " örneklem büyüklüğü düşük olduğunda ayrıntılı ve son derece ayrıntılı şeylere
uymayacak

5

Bu, gerçekten bir soruyu ilk kez yanıtladığım için, beni bunun üzerine çekmeyin .. ama sorunuzu cevaplayabileceğimi düşünüyorum:

Gerçekten sadece model performansıyla ilgileniyorsanız ve yorumlanabilirlik gibi bir şeyle ilgilenmiyorsanız, rastgele orman gerçekten çok iyi bir öğrenme algoritmasıdır, ancak aşağıdaki durumlarda biraz daha kötü performans gösterir:

1.) Eğitim örnekleri sayısına göre boyutluluk (özellik sayısı) çok yüksek olduğunda, bu durumlarda düzenli bir doğrusal regresyon veya SVM daha iyi olacaktır.

2.) Durumda, örneğin bilgisayarlı görme problemlerinde olduğu gibi verilerde daha yüksek dereceli temsiller / evrişimli yapılar bulunur. Bu bilgisayar vizyonu durumlarında, evrişimsel bir sinir ağı rastgele bir ormandan daha iyi bir performans sergileyecektir (Genel olarak, eğer daha iyi bir şey olan öğrenmeye katılabilecek bir bilgi varsa).

Bu rastgele orman söyleniyor çok iyi bir başlangıç ​​noktasıdır. Makine Öğrenmesi becerileri için hayran olduğum kişilerden biri her zaman rastgele bir orman ve düzenli bir doğrusal regresör öğrenmekle başlar.

Ancak, mümkün olan en iyi performansı istiyorsanız, bugünlerde sinir ağları aka inanıyorum. Derin Öğrenme çok çekici bir yaklaşım gibi görünüyor. Kaggle gibi veri meydan web sitelerinde giderek daha fazla kazanan, yarışma için Deep Learning modellerini kullanıyor. Sinir ağlarının bir başka yandaşı, çok sayıda örneği ele alabilmeleridir (> 10 ^ 6, bir seferde veri bitlerini besleyerek stokastik gradyan inişi kullanarak onları eğitebilir). Şahsen ben bunu Deep Learning için çok çekici bir profesyonel buluyorum.


2
Güzel cevap, ancak son noktanız doğru değil: mini toplu eğitim tüm yaygın makine öğrenme algoritmaları için uygulanabilir, örneğin h2o'ya bakın .
jubo

Öke, ilginç, bunu bilmiyordum. Bu yöntemlerin kullanılmasının, mini-toplu / SGD öğrenimini kullanarak bir (karar) ağacı yetiştirebileceğini ve böylece eğitim toplam verilerinin çoğunluğuna dayalı tek bir ağaç oluşturabileceğini mi söylüyorsunuz (% 65)?
MJW

1
Bence rastgele orman, özelliklerin sayısı yüksek olduğunda hala iyi olmalı - tek bir ağaç oluştururken bir kerede çok fazla özellik kullanmayın ve sonunda topluca toplanması gereken bağımsız bir sınıflandırıcı ormanına sahip olacaksınız ( umarım) iyi yap.
Alexey Grigorev

Anladığım kadarıyla h2o, minibatch eğitimi için harita azaltma paradigmasını kullanıyor. Tekli (CART) ağaçlar h2o'da olduğu gibi uygulanmaz (ama soyulmamış bir ağacın sadece bir ağaç ve azami tahmin seçeneği olan özel bir rastgele orman durumu olduğunu varsayalım?).
jubo

2
(1) gerekçesi nedir? Bir talepte bulunuyorsunuz, ancak herhangi bir destekleyici tartışma sunmuyorsunuz.
Sycorax,

0

Her şeyden önce, Rastgele Orman aşağıdaki veri türlerine uygulanamaz:

  • Görüntüler
  • ses
  • metin (ön işleme sonra veri seyrek olacak ve RF, seyrek veri ile iyi çalışmıyor)

Tablo veri türü için, Rastgele Orman'ı kontrol etmek her zaman iyidir, çünkü:

  • Yapay Sinir Ağları veya SVM'lerden daha az veri hazırlama ve ön işleme gerektirir. Örneğin, özellik ölçeklendirme yapmanız gerekmez.
  • Rastgele Orman eğitimi için sadece varsayılan parametreleri kullanabilir ve ağaç sayısını belirleyebilirsiniz (RF'de ne kadar fazla ağaç varsa o kadar iyi ). Ne zaman Sinir Ağlarına Rastgele Forest karşılaştırmak , eğitim (mimari, ya da melodi eğitim algoritması tanımlamak gerekmez) çok kolaydır. Random Forest, Sinir Ağları'ndan daha kolay yetiştirilebilir.
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.