Conformal Prediction
Konformal tahminin yapay zekâ için dağılımdan bağımsız belirsizliği nasıl sağladığını keşfet. Güvenilir model sonuçları elde etmek için Ultralytics YOLO26 ile tahmin kümeleri uygula.
Konformal tahmin, model tahminleri için makine öğreniminde (ML) dağılımdan bağımsız belirsizlik ölçüleri sağlayan istatistiksel bir çerçevedir. Tek bir nokta tahmini (örneğin belirli bir sınıf etiketi) vermek yerine konformal tahminleyici, gerçek değeri kullanıcı tarafından belirlenen bir olasılıkla (ör. %90 veya %95) içeren bir tahmin kümesi ya da aralığı verir. Bu çerçeve, modelin mimarisinde değişiklik gerektirmeden resmî istatistiksel garantiler sağlamak için herhangi bir yapay zekâ (AI) modelinin üzerine uygulanabilir. Güncel araçlar ve araştırmaların kapsamlı bir listesi için Awesome Conformal Prediction deposunu inceleyebilirsin.
Konformal Tahmin Nasıl Çalışır?#
Temel mekanizma, bir nonconformity skoru kullanarak yeni bir tahminin geçmiş örneklere kıyasla ne kadar sıra dışı olduğunu değerlendirmeye dayanır.
- Model Eğitimi: Öncelikle standart bir eğitim veri kümesi kullanarak temel bir model eğit.
- Kalibrasyon Aşaması: Ayrı ve eğitim dışında tutulmuş bir kalibrasyon veri kümesini eğitilmiş modelden geçir. Görüntü sınıflandırmada ters olasılık gibi her tahmin için bir nonconformity skoru hesapla.
- Kantil Hesaplama: Hedef güven düzeyini (ör. %95) belirle ve tahmin kümelerini oluşturmak için bu kalibrasyon skorlarının karşılık gelen kantilini bul.
- Çıkarım Uygulaması: Canlı çıkarım sırasında yeni girdileri değerlendir ve skorları kalibrasyon kantilinin altında kalan tüm olası etiketleri dahil et.
Bu yaklaşımın matematiksel kanıtlarını A Gentle Introduction to Conformal Prediction eğitiminde inceleyebilir veya zamansal belirsizlikleri ele almak için zaman serisi tahmini yaklaşımları hakkında bilgi edinebilirsin.
Konformal Tahmini İlgili Terimlerden Ayırma#
Bu çerçeveyi model testleri sırasında kullanılan standart metriklerden ayırmak kritik önem taşır:
- Konformal Tahmin ve Güven Skorları: Standart bir güven skoru, modelin içsel kesinliğini yansıtır; ancak genellikle kötü kalibre edilmiştir ve matematiksel garantilerden yoksundur. Konformal tahmin, bu ham skorları garantili kümelere dönüştürür. Geleneksel ayarlamalar için scikit-learn'ün olasılık kalibrasyonuna bakabilirsin.
- Konformal Tahmin ve Doğruluk: Doğruluk, bir modelin veri kümesinin tamamında ne sıklıkla doğru olduğunu açıklayan küresel ve geçmişe dayalı bir metriktir; buna karşılık konformal çıkarım, her yeni tahmin için yerel ve örneğe özgü bir aralık sağlar.
Gerçek Dünya Uygulamaları#
Konformal tahmin, modelin kör noktalarını bilmenin kritik olduğu, yüksek riskli alanlarda vazgeçilmezdir.
- Tıbbi Tanı: Taramaları analiz etmek için sağlık hizmetlerinde yapay zekâdan yararlanıldığında, model potansiyel olarak yanlış tek bir sınıf yerine makul tanılardan oluşan bir küme verebilir. Bu, klinisyenlerin uygulanabilir tüm olasılıkları araştırmasını sağlayarak güvenilir genomik tıp ve görüntüleme üzerine yapılan güncel çalışmaları destekler.
- Otonom Sürüş: Otomotiv sistemlerinde yapay zekâ kullanılırken nesne algılamaya tahmin aralıklarının uygulanması, bir yayanın çevresinde mekânsal bir güven bölgesi oluşturur ve aracın fren sistemlerinin en kötü durumdaki hareketleri güvenli biçimde hesaba katmasını sağlar.
Tahmin Kümelerini Uygulama#
MAPIE (Modelden Bağımsız Tahmin Aralığı Tahmincisi) gibi kütüphaneler Python için yerleşik araçlar sağlar ve regresyon görevlerinde genellikle konformal kantil regresyonu kullanılır. Ayrıca Ultralytics YOLO26 gibi gelişmiş modellerin olasılıklarını kullanarak temel bir konformal tahmin mantığı da uygulayabilirsin. Aşağıdaki örnek, kümülatif bir eşik karşılanana kadar en üst sınıfları dahil etme mantığını taklit ederek YOLO26 sınıflandırma olasılıklarıyla bir tahmin kümesi oluşturur.
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0
# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5
for idx in sorted_indices:
class_name = results[0].names[idx]
class_prob = probs.data[idx].item()
prediction_set.append((class_name, round(class_prob, 3)))
cumulative_prob += class_prob
# Stop adding to the set once we reach the 95% coverage threshold
if cumulative_prob >= target_coverage:
break
print(f"95% Prediction Set: {prediction_set}")Güvenilir sistemler geliştirmek, kalibrasyonu bozabilecek veri kaymasını önlemek için sağlam veri uygulamaları gerektirir. Ultralytics Platform gibi araçlar güncel sınıflandırma veri kümelerinin toplanması, modellerin yeniden eğitilmesi ve model dağıtımının güvenli biçimde yönetilmesi sürecini basitleştirir. Dengeli verilerin seçimi hakkında daha fazla bilgi edinmek için veri kümesi yanlılığını anlamaya ilişkin kılavuzumuzu okuyabilir veya her yıl düzenlenen COPA konferansında sunulan en son gelişmeleri takip edebilirsin.









