Ensemble
Topluluk öğreniminin (ensemble learning) doğruluğu nasıl artırdığını ve aşırı öğrenmeyi nasıl azalttığını keşfet. Daha üstün bilgisayarlı görü sonuçları için Ultralytics YOLO26 gibi birden fazla modeli birleştirmeyi öğren.
Topluluk (Ensemble) öğrenimi, genellikle "zayıf öğreniciler" olarak adlandırılan birden fazla bağımsız modelin tek bir tahmin çıktısı üretmek için birleştirildiği makine öğrenimi (ML) içindeki güçlü bir stratejidir. Temel önerme, bir model grubunun, tek başına hareket eden herhangi bir modelden genellikle daha yüksek doğruluk ve daha iyi genelleme elde edebilmesidir. Farklı algoritmalardan gelen tahminleri bir araya getirerek, topluluk yöntemleri aşırı öğrenme (overfitting) riskini eğitim verilerine karşı etkili bir şekilde azaltır, rastgele hataları dengeler ve genel sistem kararlılığını iyileştirir. Bu yaklaşım, kritik bir karar vermek için tek bir kişinin görüşüne güvenmek yerine bir uzmanlar paneline danışmaya benzer.
Link to this sectionTopluluk Öğreniminin Mekanizmaları#
Topluluk yöntemlerinin etkinliği, yanlılık-varyans dengesini manipüle etme yeteneklerinde yatar. Bireysel modeller yüksek varyans (gürültüye duyarlılık) veya yüksek yanlılıktan (aşırı basitleştirme) muzdarip olabilir. Topluluk oluşturma (ensembling), bu sorunları belirli tekniklerle azaltır:
- Bagging (Bootstrap Aggregating): This technique involves training multiple instances of the same algorithm on different subsets of the dataset. The most famous example is the Random Forest algorithm, which aggregates the decisions of many decision trees to reduce variance.
- Boosting: Bagging'den farklı olarak, boosting modelleri sırayla eğitir. Her yeni model, öncekilerin yaptığı hataları düzeltmeye odaklanır. LightGBM ve CatBoost gibi popüler çerçeveler, son derece doğru tahmin sistemleri oluşturmak için bunu kullanır.
- Stacking (Yığılmış Genelleme): Bu, çeşitli heterojen temel modellerin (örneğin bir sinir ağı ve bir Destek Vektör Makinesi) tahminlerini birleştirmek için yeni bir "meta-model" eğitmeyi içerir.
Link to this sectionBilgisayarlı Görüde Topluluk Oluşturma#
Bilgisayarlı görü (CV) alanında topluluklar, yarışmalarda ve kritik güvenlik uygulamalarında performansı en üst düzeye çıkarmak için sıklıkla kullanılır. Nesne tespiti için bu genellikle aynı görüntü üzerinde YOLO26'nın farklı sürümleri gibi birden fazla model çalıştırmayı içerir. Ortaya çıkan sınırlayıcı kutular, en olası nesne konumlarını elde etmek için NMS (Non-Maximum Suppression) veya WBF (Weighted Box Fusion) gibi teknikler kullanılarak birleştirilir.
Link to this sectionGerçek Dünya Uygulamaları#
Topluluk yöntemleri, tahmine dayalı güvenilirliğin en önemli olduğu endüstrilerde her yerdedir.
-
Tıbbi Teşhis ve Görüntüleme: Sağlık hizmetlerinde, yanlış negatiflerden kaçınmak kritiktir. Bir topluluk, anormallikleri tespit etmek için röntgenler üzerinde eğitilmiş bir Evrişimli Sinir Ağı (CNN) ile bir Vision Transformer (ViT) modelini birleştirebilir. Modeller arasındaki fikir birliği, daha yüksek bir güven puanı sağlayarak radyologların tümörleri tespit etmelerine veya nadir durumları teşhis etmelerine yardımcı olur.
-
Finansal Dolandırıcılık Tespiti: Finansal kurumlar, işlem modellerini analiz etmek için toplulukları kullanır. Lojistik regresyon modellerini gradient boosting makineleriyle birleştirerek sistem, tek bir modelin gözden kaçırabileceği ince dolandırıcılık belirtilerini tespit edebilir ve aynı zamanda hatalı alarm oranlarını düşük tutabilir.
Link to this sectionPython ile Model Topluluğu Uygulama#
Birden fazla eğitilmiş modeli yükleyip aynı girdi için tahminler üreterek temel bir çıkarım topluluğunu simüle edebilirsin. Ultralytics Platform, bu varyantları kolayca eğitmeni sağlar. Aşağıdaki örnek, bir görüntüdeki tespitleri doğrulamak için iki farklı Ultralytics YOLO modelinin (YOLO26n ve YOLO26s) yüklenmesini gösterir.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")Link to this sectionTopluluk vs. Veri Çoğaltma#
Topluluk öğrenimini Veri Çoğaltmadan (Data Augmentation) ayırmak önemlidir.
- Topluluk, sonuçları iyileştirmek için eğitilmiş birden fazla farklı modeli birleştirerek mimari ve tahmin aşamasına odaklanır.
- Veri Çoğaltma, tek ve daha sağlam bir model eğitmek için veri setinin çeşitliliğini yapay olarak artırarak (örneğin döndürme veya çevirme yoluyla) eğitim verisi aşamasına odaklanır.
Veri çoğaltma tek bir modelin daha iyi öğrenmesine yardımcı olurken, topluluk öğrenimi birden fazla modelin birbirinin çıktılarını doğrulamasına yardımcı olur. Her iki strateji de örnek bölümleme (instance segmentation) ve poz kestirimi (pose estimation) gibi görevlerde en iyi sonuçları elde etmek için genellikle birlikte kullanılır.






