Rastgele Ormanların ayarlanması ile ilgili pratik sorular


65

Sorularım Rastgele Ormanlarla ilgili. Bu güzel sınıflandırıcı kavramı bana açık, ama yine de birçok pratik kullanım sorusu var. Ne yazık ki, RF için pratik bir rehber bulamadım (Geoffrey Hinton tarafından "Kısıtlı Boltzman Makineleri İçin Pratik Bir Rehber" gibi bir şey aradım ama Geoffrey Hinton!

Bir kişi pratikte RF'yi nasıl ayarlayabilir?

Daha büyük ağaç sayısının her zaman daha iyi olduğu doğru mu? Artan ağaç sayısının ve verilen veri seti için nasıl tahmin edileceği konusunda makul bir sınırlama var (tabii ki kapasite kapasitesi hariç)?

Ya ağaçların derinliği? Makul olanı nasıl seçilir? Bir ormanda farklı uzunluktaki ağaçları denemenin bir anlamı var mı ve bunun için rehberlik nedir?

RF eğitimi verirken bakmaya değer başka parametreler var mı? Tek tek ağaçlar oluşturmak için Algos olabilir?

RF'nin aşırı yüklenmeye dirençli olduğunu söylediklerinde, bu ne kadar doğrudur?

Ararken kaçırmış olabileceğim rehberlere veya makalelere verilen yanıtları ve / veya bağlantıları takdir edeceğim.


Perfoamnce-tuning için ayrıca bakınız SO: "Rastgele En İyi Performans Nasıl Geliştirilir"
smci

Yanıtlar:


43

Ben yetkili bir şahsım değilim, bu nedenle kısa uygulayıcı notlarını dikkate alın:

Azalan döndürmelerle daha fazla ağaç her zaman daha iyidir. Derin ağaçlar hemen hemen her zaman daha iyidir ve benzer performans için daha fazla ağaç gerektirir.

Yukarıdaki iki nokta, doğrudan sapma değişiminin bir sonucudur. Derin ağaçlar yanlılığı azaltır; daha fazla ağaç varyansı azaltır.

En önemli hyper-parametresi, her bölme için kaç özellik test edileceğidir. Ne kadar işe yaramaz özellikler varsa, denemelisiniz. Bunun ayarlanması gerekiyor. Antrenman verilerinizdeki performansınızı bilmek istiyorsanız ve eşleştirme (~ tekrarlanan önlemler) yoksa, OOB tahminleri aracılığıyla ayarlayabilirsiniz. Her ne kadar bu en önemli parametre olsa da, optimum olması hala orijinal tavsiye varsayılanlarına oldukça yakındır (sqrt (p) veya (p / 3) sınıflandırma / regresyon için).

Oldukça yeni yapılan araştırmalar, iyi bir performans elde etmek için bir özellik içinde ayrıntılı aramalar yapmanız gerekmediğini gösteriyor. Sadece seçilen her özellik için birkaç kesme noktası deneyin ve devam edin. Bu, eğitimi daha da hızlı hale getirir. (~ Son Derece Rastgele Ormanlar / Ağaçlar).


Diğer bir kaç not: pratikte genellikle ağaçların bir yarısından diğerine olan tahminleri karşılaştırarak yakınsamayı onaylarım. Fazla uyuma gelince, genellemeye çalıştığın şeyin bir işlevidir. Temsili bir örnek üzerinde eğitim alıyorsanız, fazladan giymeyeceklerdir, ancak bu nadiren nasıl çalıştığını gösterir.
Shea Parkes

'Daha derin ağaçlar = daha iyi, her şey sabit', zaman içinde değişen bağımlılık yapıları ile son derece gürültülü veriler için geçerli midir, hangi doğrusal ilişkilerin eğitim seti ile test seti arasında değişmemesi en sağlamdır?
Jase

Yalnızca sığ ilişkileri öğrenmeniz gereken bir durum varsa, sığ ağaçların daha iyi olma potansiyelini görebiliyordum, ancak bunu ispatlamak için ampirik kanıtları kullanmak isterdim (ve bunun üzerinde çalışacak vaktim yok). Doğrusal ilişkilerin en esnek olduğuna inanıyorsanız veya kanıtınız varsa, ağaç temelli olmayan bir şeyi şiddetle düşünürüm. Belki katmanları atlayan sinir ağları?
Shea Parkes

Diyelim ki 3 ilgili özellik ve beyaz gürültü olan 100 özellik ve 50 veri noktası olan bir veri kümeniz olduğunu varsayalım. Ancak hangilerinin beyaz gürültü olduğunu ve hangilerinin vaktinden alakalı olduğunu bilmiyorsunuz, sadece verilerinizin o kadar gürültü olduğunu biliyorsunuz. Açıkça aşırı derecede büyük mtryolan sığ ağaçlar daha iyidir, bunu görmek için kanıt veya ampirik kanıt gerekmez.
Jase

22
  • Ağaç sayısı : büyüdükçe: evet. Ne zaman duracağınızı değerlendirmenin ve bilmenin bir yolu, ormanınızı (veya kullanabileceğiniz diğer değerlendirme ölçütlerini) oluştururken hata oranınızı izlemek ve ne zaman birleştiğini tespit etmektir. Bunu, öğrenme setinin kendisinde veya eğer varsa, bağımsız bir test setinde yapabilirsiniz. Ayrıca, ağaçlarınızdaki test düğümlerinin sayısının nesne sayısına bağlı olduğu belirtilmelidir, bu nedenle çok fazla değişkeniniz varsa ve çok fazla eğitim nesnesi yoksa, daha fazla ormanlık alanın artırılması tavsiye edilir. Tüm tanımlayıcıları ormanında en az bir kere değerlendirme şansı.

  • Ağaç derinliği : Ağaçlarınızın ne kadar derin olduğunu kontrol etmenin birkaç yolu vardır (maksimum derinliği sınırlayın, düğüm sayısını sınırlayın, bölmek için gereken nesne sayısını sınırlayın, bölmenin sığdırmayı yeterince iyileştirmemesi durumunda bölmeyi durdurun ... ). Gürültülü verilerle uğraşıyorsanız, çoğu zaman ağaçları kesmek (derinliğini sınırlamak) önerilir. Son olarak, tamamen gelişmiş ağaçların "alt kümesi" olduğundan, daha kısa ağaçların performansını hesaplamak için tamamen gelişmiş ağaçlarınızı kullanabilirsiniz.

  • Her bir düğümde test edilecek kaç özellik : Deneyimlerinizi çok çeşitli değerlerle (doğru olanlar dahil) çapraz onaylayın, bir performans eğrisi elde etmeli ve bu parametre için en iyi değerin ne olduğunu belirten bir maksimum işaret belirleyebilmelisiniz. + Shea Parkes cevap verir.

  • Shea Parkları Ekstra Ağaçlardan bahsetti, işte ayrıntılı olarak yöntemi tarif eden orijinal makale: http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf

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.