Ensemble
Ensemble learning'in doğruluğu nasıl artırdığını ve aşırı öğrenmeyi nasıl azalttığını keşfet. Üstün bilgisayarlı görü sonuçları için Ultralytics YOLO26 gibi birden fazla modeli birleştirmeyi öğren.
Ensemble öğrenme, birden fazla bağımsız modelin (genellikle "zayıf öğreniciler" olarak adlandırılır) tek bir tahmin çıktısı üretmek üzere birleştirildiği makine öğreniminde (ML) sağlam bir stratejidir. Temel varsayım, bir model grubunun çoğu zaman tek başına çalışan herhangi bir modelden daha yüksek doğruluk ve daha iyi genelleme sağlayabilmesidir. Farklı algoritmaların tahminlerini bir araya getiren ensemble yöntemleri, eğitim verilerine aşırı uyum sağlama riskini etkili bir şekilde azaltır, rastgele hataları dengeler ve genel sistem kararlılığını artırır. Bu yaklaşım, kritik bir karar verirken tek bir kişinin görüşüne güvenmek yerine bir uzmanlar kuruluna danışmaya benzer.
Ensemble Öğrenme Mekanizmaları#
Ensemble yöntemlerinin etkililiği, yanlılık-varyans dengesi üzerinde değişiklik yapabilmelerinden kaynaklanır. Bireysel modeller yüksek varyanstan (gürültüye duyarlılık) veya yüksek yanlılıktan (aşırı basitleştirme) etkilenebilir. Ensemble yaklaşımı, bu sorunları belirli tekniklerle azaltır:
- Bagging (Bootstrap Birleştirme): Bu teknik, aynı algoritmanın birden fazla örneğinin veri kümesinin farklı alt kümeleri üzerinde eğitilmesini içerir. En bilinen örnek, varyansı azaltmak için çok sayıda karar ağacının kararlarını birleştiren Random Forest algoritmasıdır.
- Boosting: Bagging'in aksine boosting, modelleri sıralı olarak eğitir. Her yeni model, önceki modellerin yaptığı hataları düzeltmeye odaklanır. LightGBM ve CatBoost gibi popüler çerçeveler, son derece doğru tahmin sistemleri oluşturmak için bu yaklaşımı kullanır.
- Stacking (Yığınlanmış Genelleme): Bu yaklaşım, birbirinden farklı birkaç temel modelin (örneğin bir sinir ağı ve bir Destek Vektör Makinesi) tahminlerini birleştirmek üzere yeni bir "meta-model" eğitmeyi içerir.
Bilgisayarlı Görüde Ensemble Kullanımı#
Bilgisayarlı görü (CV) alanında ensemble yöntemleri, 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 işlem çoğu zaman aynı görüntü üzerinde YOLO26'nın farklı sürümleri gibi birden fazla modelin çalıştırılmasını içerir. Elde edilen sınırlayıcı kutular, en olası nesne konumlarını belirlemek üzere Maksimum Olmayan Bastırma (NMS) veya Ağırlıklı Kutu Birleştirme (WBF) gibi teknikler kullanılarak birleştirilir.
Gerçek Dünya Uygulamaları#
Ensemble yöntemleri, tahmin güvenilirliğinin kritik önem taşıdığı sektörlerde her yerde kullanılır.
-
Tıbbi Teşhis ve Görüntüleme: Sağlık hizmetlerinde yanlış negatiflerden kaçınmak kritik önem taşır. Bir ensemble, anormallikleri tespit etmek için X ışınları üzerinde eğitilmiş bir Evrişimli Sinir Ağı (CNN) ile bir Görsel Transformer (ViT) modelini birleştirebilir. Modeller arasındaki uzlaşı, daha yüksek bir güven skoru sağlayarak radyologlara tümörleri tespit etme veya nadir hastalıkları teşhis etme konusunda yardımcı olur.
-
Finansal Dolandırıcılık Tespiti: Finans kuruluşları, işlem modellerini analiz etmek için ensemble yöntemlerini kullanır. Lojistik regresyon modellerini gradient boosting makineleriyle birleştiren sistem, tek bir modelin gözden kaçırabileceği ince dolandırıcılık göstergelerini tespit ederken yanlış alarm oranlarını düşük tutabilir.
Python ile Model Ensemble Uygulama#
Birden fazla eğitilmiş modeli yükleyip aynı girdi için tahminler üreterek temel bir çıkarım ensemble'ını simüle edebilirsin. Ultralytics Platform, bu varyantları kolayca eğitmene olanak tanır. Aşağıdaki örnekte, bir görüntü üzerindeki tespitleri doğrulamak için iki farklı Ultralytics YOLO modeli (YOLO26n ve YOLO26s) yüklenmektedir.
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")Ensemble ve Veri Artırma Karşılaştırması#
Ensemble öğrenmesini Veri Artırma yaklaşımından ayırt etmek önemlidir.
- Ensemble, sonuçları iyileştirmek için birden fazla eğitilmiş ve birbirinden farklı modelin birleştirildiği mimari ve tahmin aşamasına odaklanır.
- Veri Artırma, tek ve daha sağlam bir modeli eğitmek amacıyla veri kümesinin çeşitliliğini yapay olarak artırılan (örneğin döndürme veya çevirme yoluyla) eğitim verileri aşamasına odaklanır.
Veri artırma, tek bir modelin daha iyi öğrenmesine yardımcı olurken ensemble öğrenmesi, birden fazla modelin birbirlerinin çıktılarını doğrulamasına yardımcı olur. Her iki strateji de örnek bölütleme ve poz tahmini gibi görevlerde son teknoloji sonuçlar elde etmek için sıklıkla birlikte kullanılır.









