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ı?
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ı?
Yanıtlar:
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ıyor.) 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.
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.
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.
Her şeyden önce, Rastgele Orman aşağıdaki veri türlerine uygulanamaz:
Tablo veri türü için, Rastgele Orman'ı kontrol etmek her zaman iyidir, çünkü: