Rastgele bir ormandaki ağaç sayısını ayarlamak zorunda mıyız?


30

Rastgele orman sınıflandırıcılarının yazılım uygulamaları, kullanıcıların ormandaki ağaç sayısı da dahil olmak üzere algoritmanın davranışını hassas bir şekilde ayarlayabilmesi için bir dizi parametreye sahiptir. Bu , her bölmede denenecek özellik sayısının aynı şekilde ayarlanması gereken bir parametre midir (Leo Breiman'ın çağırdığı )?mmtry


Yanıtlar:


36

T bir hiper parametresi olarak kabul eden kod parçacıklarını bulmak ve başka bir hiper parametresiyle aynı şekilde optimize etmek istediğinizde kod parçacıkları bulmak yaygındır . Bu sadece hesaplama gücünü boşa harcıyor: diğer tüm hiper parametreler sabitlendiğinde, ağaçların sayısı arttıkça modelin kaybı stokastik olarak azalıyor.

Sezgisel açıklama

Rastgele bir ormandaki her ağaç aynı şekilde dağıtılır. Ağaçlar aynı dağılır, çünkü her ağaç her bir ağaç için tekrarlanan bir rasgele stratejiyi kullanarak yetiştirilir: eğitim verilerini arttırır ve ardından o düğüm için seçilen m özellikleri arasından bir özellik için en iyi ayrımı seçerek her ağacı büyütün . Rastgele orman prosedürü, takviyenin aksine durur, ağaçlar, diğer ağaçlara bakılmaksızın, kendi önyükleme alt örnekleri üzerinde büyütülür. (Bu anlamda rastgele orman algoritmasının “utanç verici derecede paralel olduğu” dür.)

İkili durumda, her rastgele orman ağacı her bir örnek için pozitif sınıf için 1 veya negatif sınıf için 0 oy verir. Bu oyların ortalaması, tüm ormanın sınıflandırma puanı olarak alınmıştır. (Genelde k -nary durumda, sadece yerine bir kategorik dağılıma sahip, ancak bu tartışmaların hepsi hala geçerlidir.)

Zayıf Büyük Sayılar Yasası bu durumlarda geçerlidir, çünkü

  1. ağaçların kararları özdeş olarak dağıtılmış rvs'dir (rastgele bir prosedürün ağacın 1 mi yoksa 0 mı oy vereceğini belirlemesi anlamında) ve
  2. ilgilenilen değişken her ağaç için yalnızca {0,1} değerleri alır ve bu nedenle her deney (ağaç kararı) sonlu varyansa sahiptir (çünkü tüm sayılabilir sonlu rvs anları sonludur).

WLLN'nin bu durumda uygulanması, her bir örnek için, topluluğun, ağaç sayısı sonsuzluğa eğilim gösterdiğinden, bu örnek için belirli bir ortalama tahmin değerine doğru gideceği anlamına gelir. Ek olarak, belirli bir numune grubu için, bu numuneler arasındaki ilgi istatistiği (beklenen kütle kaybı gibi), ağaç sayısı sonsuzluğa meyilli olduğu için ortalama bir değere yakınlaşacaktır.

İstatistiksel Öğrenmenin Öğeleri

Hastie ve diğ. bu soruyu ESL'de çok kısaca ele alın (sayfa 596).

Başka bir iddia, rastgele ormanların verilere "fazladan dayanamaması" dır. B (topluluktaki ağaç sayısının) artmasının rastgele orman sekansının üst üste gelmesine neden olmadığı kesinlikle doğrudur ... Ancak, bu sınırlama verileri geçersiz kılabilir; Tamamen büyümüş ağaçların ortalaması çok zengin bir modele neden olabilir ve gereksiz varyansa neden olabilir. Segal (2004), rastgele ormanlarda yetişen ağaçların derinliğini kontrol ederek performansta küçük kazanımlar olduğunu göstermektedir. Tecrübemiz, tam yetişkin ağaçların kullanılmasının nadiren maliyetlidir ve bir daha az ayar parametresiyle sonuçlanmasıdır.

Sabit bir hiperparametre yapılandırması için, başka bir deyişle, ağaç sayısının arttırılması verilere uygun olamaz; ancak diğer hyperparameters olabilir overfit kaynağı olabilir.

Matematiksel açıklama

Bu bölüm, Philipp Probst & Anne-Laure Boulesteix’in “ Rastgele ormandaki ağaç sayısını ayarlamak veya ayarlamak istemez misiniz?” Özetlemektedir . Anahtar sonuçlar

  1. Beklenen hata oranı ve ROC eğrisi altındaki alan , ağaç sayısının monoton olmayan bir işlevi olabilir.

    error rate=1accuracyT

    E(ei(T))=P(t=1Teit>0.5T)
    eitE(eit)=ϵitTϵi>0.5Tϵi<0.5

    ϵiϵi

    cT

  2. Çapraz entropi ve Brier skoru gibi olasılık temelli önlemler, ağaç sayısının bir fonksiyonu olarak monotoniktir .

    E(bi(T))=E(eit)2+Var(eit)T
    T

    E(li(T))log(1ϵi+a)+ϵi(1ϵi)2T(1ϵi+a)2
    Ta

  3. 306 veri setini dikkate alan deneysel sonuçlar bu bulguları desteklemektedir.

Deneysel Gösteri

Bu, diamondsbirlikte gelen verileri kullanarak pratik bir gösteridir ggplot2. Ortanca fiyat tarafından belirlenen ayırım çizgisi ile fiyatı "yüksek" ve "düşük" kategorilere ayırarak bunu bir sınıflandırma görevine dönüştürdüm.

Çapraz entropi perspektifinden bakıldığında, model iyileştirmeleri çok yumuşak. (Ancak, arsa monotonik değildir - yukarıda sunulan teorik sonuçlardan sapma, teorik sonuçların , herhangi bir deneyin belirli gerçekleşmelerinden ziyade beklentiyle ilgili olmasıdır .)

görüntü tanımını buraya girin

Öte yandan, hata oranı, yukarı ya da aşağı doğru sallanabileceği ve bazen geri dönmeden önce bazı ek ağaçlar için orada kalabileceği anlamında aldatıcıdır. Bunun nedeni sınıflandırma kararının yanlışlık derecesini ölçmemesidir. Bu, hata oranının ağaçların sayısı ile karşılaştırıldığında performansın "kırılması" na neden olabilir, bunun anlamı karar sınırında olan bazı örneklerin öngörülen sınıflar arasında ileri geri sekeceği anlamına gelir. Bu davranışın bastırılması için çok sayıda ağaç gerekebilir.

Ayrıca, çok az sayıda ağaç için hata oranı davranışına bakın - sonuçlar çılgınca farklılaşıyor! Bu, bu şekilde ağaç sayısının seçimine dayanan bir yöntemin büyük miktarda rastlantısallığa maruz kaldığı anlamına gelir. Dahası, aynı deneyi farklı bir rastgele tohumla tekrarlamak, sadece bu rastgeleliğe dayalı olarak farklı sayıda ağaç seçmeye yol açabilir. Bu anlamda, az sayıda ağaç için hata oranının davranışı tamamen bir eserdir, çünkü hem LLN'nin ağaç sayısı arttıkça, bunun beklentisine doğru gideceği, hem de teorik sonuçlardan dolayı olacağı anlamına gelir. 2. Bölümde (Çapraz onaylanmış, hata oranı / doğruluğunun esasını diğer istatistiklerle karşılaştıran birkaç soru vardır.)

görüntü tanımını buraya girin

Buna karşılık, çapraz entropi ölçümü, 200 ağaçtan sonra esasen kararlıdır ve 500'den sonra neredeyse düzdür.

T

Bu gösteri için kod bu özünde mevcuttur .

T

Ağaç sayısını ayarlamak gereksizdir; bunun yerine, sadece ağaç sayısını büyük, hesaplama açısından uygun bir sayıya ayarlayın ve LLN'nin asimptotik davranışı gerisini halletsin.

T

T

Bu tamamen bir spekülasyondur, ancak rasgele bir ormandaki ağaç sayısını ayarlamanın devam edeceği inancının iki gerçekle ilgili olduğunu düşünüyorum:

  1. AdaBoost ve XGBoost gibi Arttırılması algoritmaları yapmak topluluk içinde ayarlamak için kullanıcılara ağaçların sayısını gerektiren ve bazı yazılım kullanıcıların artırma ve torbalama ayırt sofistike yeterli değildir. (Yükseltme ve torbalama arasındaki farkın bir tartışması için, bkz. Rastgele orman yükseltme algoritması mı? )

  2. randomForestR'ler (temelde Breiman'ın FORTRAN koduna R arayüzü olan) gibi standart rastgele orman uygulamaları, ağaçların bir işlevi olarak yalnızca hata oranını (veya eşdeğer olarak doğruluk) bildirir. Örneğin Brier puanı ve logloss gibi sürekli uygun skor kuralları ise doğruluğu, ağaç sayısının bir monoton bir fonksiyonu değildir, çünkü bu, aldatıcı olan monoton fonksiyonlar.

alıntı


1
Herhangi bir gerçekçi senaryoda, en iyi genelleme hatasını elde etmek için eşiğin ayarlanması gerektiği gibi görünüyor. Burada insanlara eşiklerini 0,5'e ayarmamalarını söyleyerek çok zaman harcıyoruz!
Matthew Drury

θ(0,1)R

Bu hafta sonu gazeteyi okuyacağım (güzel bul), ancak eşiğin dinamik olarak ağaç sayısının bir fonksiyonu olarak ayarlanması doğru mu?
Matthew Drury

1
ϵi

Güzel soru-cevap, +1. Endişelenmem, şunu yazmanızdır: " diğer tüm parametreler sabitlendiğinde " Kullanılan özelliklerin sayısı (~ mtry) ve yaprak başına minimum gözlem sayısı (~ ) için kolayca optimize edilebileceği göz önüne alındığında minObs, performansta çarpıcı değişiklikler olabilir. . Evet, muhtemelen 1000 ağacın işleri% 99.9 oranında halledeceğini umuyorum ama bu, farklı modellerin azalan getiri eşiklerini diğerlerinden daha erken çarptığı anlamına mı geliyor? (Bu durumda ntrees, örneğin daha küçük bir model istiyorsanız, optimizasyon önemlidir.)
us
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.