Conformal Prediction
Konformal tahminin yapay zeka için dağıtımdan bağımsız belirsizliği nasıl sağladığını keşfet. Güvenilir model sonuçları sağlamak için Ultralytics YOLO26 ile tahmin kümelerini uygula.
Conformal prediction, model tahminleri için machine learning (ML) alanında distribution-free measures of uncertainty sağlayan istatistiksel bir çerçevedir. Tek bir nokta tahmini (örneğin belirli bir sınıf etiketi) döndürmek yerine, conformal predictor, kullanıcının belirlediği bir olasılıkla (örneğin %90 veya %95) gerçek değeri içeren bir tahmin kümesi veya aralığı üretir. Bu çerçeve, modelin mimarisinde değişiklik yapılmasına gerek kalmadan resmi statistical guarantees sağlamak üzere herhangi bir artificial intelligence (AI) modelinin etrafını sarmalar. Güncel araçlar ve araştırmaların kapsamlı bir listesi için Awesome Conformal Prediction deposunu inceleyebilirsin.
Uyumlu Tahmin Nasıl Çalışır#
Temel mekanizma, yeni bir tahminin geçmiş örneklere kıyasla ne kadar sıra dışı olduğunu bir uyumsuzluk puanı kullanarak değerlendirmeye dayanır.
- Model Training: İlk olarak, standart bir eğitim veri seti kullanarak bir temel model eğit.
- Calibration Phase: Eğitilmiş modelden ayrı ve ayrılmış bir kalibrasyon veri seti geçir. image classification içindeki ters olasılık gibi, her tahmin için bir uyumsuzluk (nonconformity) skoru hesapla.
- Quantile Calculation: Hedef güven düzeyini (örneğin %95) belirle ve tahmin kümelerini oluşturmak için bu kalibrasyon skorlarının karşılık gelen kuantilini bul.
- Inference Application: Canlı çıkarım sırasında yeni girdileri değerlendir ve skorları kalibrasyon kuantilinin 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 yönetmek için time-series forecasting approaches hakkında bilgi edinebilirsin.
Uyumlu Tahmini İlgili Terimlerden Ayırt Etme#
Bu çerçeveyi model testing sırasında kullanılan standart metriklerden ayırmak çok önemlidir:
- Conformal Prediction vs. Confidence Scores: Standart bir güven skoru, bir modelin iç kesinliğini yansıtır ancak genellikle zayıf kalibre edilmiştir ve matematiksel garantilerden yoksundur. Conformal prediction, bu ham skorları garantili kümelere dönüştürür. Geleneksel ayarlamalar için scikit-learn's probability calibration sayfasına göz at.
- Conformal Prediction vs. Accuracy: Accuracy, bir modelin tüm veri seti genelinde ne sıklıkla doğru olduğunu açıklayan küresel bir geçmişsel metriktir; oysa conformal inference her bir yeni tahmin için yerel, örneğe özgü bir aralık sağlar.
Gerçek Dünya Uygulamaları#
Uyumlu tahmin, modelin kör noktalarını bilmenin kritik olduğu yüksek riskli alanlarda vazgeçilmezdir.
- Medical Diagnostics: Taramaları analiz etmek için sağlık sektöründe yapay zeka kullanılırken, bir model potansiyel olarak yanlış tek bir sınıf yerine bir dizi makul tanı üretebilir. Bu, klinisyenlerin tüm geçerli olasılıkları araştırdığından emin olmasını sağlar ve reliable genomic medicine and imaging üzerindeki son çalışmaları destekler.
- Autonomous Driving: Otomotiv sistemlerindeki yapay zekada, object detection için tahmin aralıkları uygulamak, bir yayanın etrafında uzamsal bir güven bölgesi oluşturarak aracın fren sistemlerinin en kötü durum hareketlerini güvenli bir şekilde hesaba katmasını sağlar.
Tahmin Kümelerinin Uygulanması#
MAPIE (Model Agnostic Prediction Interval Estimator) gibi kütüphaneler Python için yerleşik araçlar sağlar ve regresyon görevleri genellikle conformal quantile regression kullanır. Ayrıca Ultralytics YOLO26 gibi gelişmiş modellerin olasılıklarını kullanarak temel bir conformal prediction mantığı 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ını kullanan 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}")Developing reliable systems requires robust data practices to prevent data drift from ruining calibration. Tools like the Ultralytics Platform simplify the process of gathering fresh classification datasets, retraining models, and securely managing model deployment. You can read more about curating balanced data in our guide on understanding dataset bias, or track the latest advancements presented at the annual COPA conference.






