Random Forest Algoritması

ABDULLAH ATCILI
Machine Learning Turkiye
3 min readJan 6, 2022

Herkese merhaba, bu yazımda oldukça popüler olan Random Forest (Rassal Orman) algoritmasından bahsedeceğiz. Random Forest konusunun detaylarına girmeden önce, Decision Tree algoritmalarına hakim olduğumuzu farz ve kabul ediyoruz. Eğer ki, Decision Tree algoritmalarının detaylarını hatırlamamız gerekirse buradan bakabiliriz.

Decision Tree algoritmaları, modellemesi kolay, anlaması kolay ve tahmini kolay olan algoritmalardır, buraya kadar mükemmel olan algoritma, test seti başarısında aynı mükemmeliyeti sağlayamamaktadır. Daha sade bir ifade ile, eğitim verisi ile mükemmel çalışan decision tree, test setinde bu kadar başarılı olamamakta ve genellikle overfit olmaktadır. Dolayısıyla bizim, decision treenin mükemmel taraflarını alıp, zaaflarını geliştirme yoluna gitmemiz doğru bir hal tarzı olacaktır.

Random forest; bir grup zayıf modelin güçlü bir model oluşturmak için birleştiği bir tür topluluk öğrenme yöntemidir. Random forest, topluluk terimleriyle zayıf öğrenicimize (modelimize, tahmincimize) karşılık gelen “karar ağacı” adı verilen standart bir makine öğrenme tekniği ile başlar. Bir karar ağacında, en üste bir girdi girilir ve ağaçta aşağı indikçe veriler daha küçük ve daha küçük kümeler halinde toplanır. Random forest’da tek bir ağaç yerine birden fazla ağaç yetiştiriyoruz. Niteliklere dayalı olarak yeni bir nesneyi sınıflandırmak için her ağaç bir sınıflandırma skoru verir. Random forest, en çok oyu alan sınıflandırmayı seçer (Ormandaki tüm ağaçlar üzerinden) ve regresyon durumunda farklı ağaçların çıktılarının ortalamasını alır.

Random Forest, en basit tabiri ile decision tree algoritmasının, rastgele ağaçlar ile çoğaltılması olarak tanımlanabilir. Burada çoğaltmak derken, çoğaltmanın nasıl olduğu konusu ile devam edelim.

Ensemble nedir? Ensemble yöntemi ne demek?

Karar vermek için hepimiz Karar Ağacı Tekniği’ni günlük yaşamda kullanırız. Ensemble (topluluk) yöntemleri, tek bir karar ağacı kullanmak yerine, daha iyi tahmin sonuçları sağlamak için farklı karar ağaçlarını birleştirir. Ensebmle (topluluk) modelinin arkasındaki temel ilke, bir grup zayıf öğrencinin aktif bir öğrenici oluşturmak için bir araya gelmesidir.

Ensebmle (topluluk) yontemi karar ağacını gerçekleştirmek için kullanılan aşağıda verilen iki teknik vardır.

Bagging : Bagging algoritmaları, amacımız bir karar ağacının varyansını azaltmak olduğunda kullanılır. Buradaki konsept, değiştirme ile rastgele seçilen eğitim örneğinden birkaç veri alt kümesi oluşturmaktır. Şimdi her bir alt küme verisi koleksiyonu, karar ağaçlarını hazırlamak için kullanılıyor, böylece çeşitli modellerden oluşan bir topluluk elde ediyoruz. Tek bir karar ağacından daha güçlü olan çok sayıda ağaçtan gelen tüm varsayımların ortalaması kullanılır.

Boosting : Tahmin edicilerin bir koleksiyonunu yapmak için başka bir ensemble (topluluk) prosedürüdür. Başka bir deyişle, ardışık ağaçlar, genellikle rastgele örnekler yerleştiririz ve her adımda amaç, önceki ağaçlardan net hatayı çözmektir. Belirli bir girdi teori tarafından yanlış sınıflandırılırsa, ağırlığı artar, böylece yaklaşan hipotezin sonunda tüm seti konsolide ederek onu doğru sınıflandırma olasılığı daha yüksektir, zayıf öğrenenleri daha iyi performans gösteren modellere dönüştürür.

Bootstrapp, birçok benzetilmiş örnek oluşturmak için tek bir veri kümesini yeniden örnekleyen istatistiksel bir prosedürdür. Bu süreç, standart hataları hesaplamanıza, güven aralıkları oluşturmanıza ve çok sayıda örnek istatistik türü için hipotez testi gerçekleştirmenize olanak tanır. Asıl verisetinden rastgele olacak şekilde, satırlar seçilerek, bootstrap olarak adlandırılan datasette muhafaza edilir. Genel olarak asıl verisetinin, 1/3'ü, bootstrap datasetinde temsil edilmez. Bootstrap datasetinde temsil edilmeyen dataya, “Out-of-Bag Dataset” denilir.

Random Forest Algoritmasının Avantajları nelerdir?

  • Random Forest, birden fazla karar ağacını eğittiğimiz için tarafsızdır ve her ağaç aynı eğitim verilerinin bir alt kümesi üzerinde eğitilir.
  • Veri kümesine yeni veri noktalarını dahil edersek, yeni veri noktasının bir ağacı etkilediği kadar fazla etkilemediği ve tüm ağaçları etkilemesi oldukça zor olduğu için çok kararlıdır.
  • Ayrıca, problem ifadesinde hem kategorik hem de sayısal özelliklere sahip olduğumuzda iyi çalışır.
  • Veri kümesindeki Nan değerlere çok iyi performans gösteriyor.

Random Forest Algoritmasının Dezavantajları nelerdir?

  • Karmaşıklık, bu algoritmanın en büyük dezavantajıdır. Daha fazla hesaplama kaynağı gereklidir ve ayrıca çok sayıda karar ağacının bir araya getirilmesiyle sonuçlanır.
  • Karmaşıklıkları nedeniyle eğitim süresi diğer algoritmalara göre daha fazladır.

Referanslar :

--

--