Conformal Prediction
Entdecke, wie konforme Vorhersagen verteilungsfreie Unsicherheit für KI bieten. Implementiere Vorhersagemengen mit Ultralytics YOLO26, um zuverlässige Modellergebnisse sicherzustellen.
Conformal prediction ist ein statistisches Framework im machine learning (ML), das distribution-free measures of uncertainty für Modellvorhersagen bereitstellt. Anstatt eine einzelne Punktvorhersage auszugeben – wie etwa ein bestimmtes Klassenlabel –, gibt ein konformer Prädiktor eine Vorhersagemenge oder ein Intervall aus, das den wahren Wert mit einer vom Benutzer angegebenen Wahrscheinlichkeit (z. B. 90% oder 95%) enthält. Dieses Framework umschließt jedes artificial intelligence (AI)-Modell, um formale statistical guarantees bereitzustellen, ohne dass Änderungen an der Architektur des Modells erforderlich sind. Eine erschöpfende Liste aktueller Tools und Forschungsarbeiten findest du im Repository Awesome Conformal Prediction.
Wie konforme Vorhersage funktioniert#
Der grundlegende Mechanismus beruht darauf, zu bewerten, wie ungewöhnlich eine neue Vorhersage im Vergleich zu vergangenen Beispielen ist, indem ein Nonkonformitäts-Score verwendet wird.
- Model Training: Trainiere zuerst ein Baseline-Modell anhand eines Standard-Trainingsdatensatzes.
- Calibration Phase: Leite einen separaten, zurückgestellten Kalibrierungsdatensatz durch das trainierte Modell. Berechne einen Nonkonformitätswert für jede Vorhersage, wie zum Beispiel die inverse Wahrscheinlichkeit in der image classification.
- Quantile Calculation: Bestimme das Zielkonfidenzniveau (z. B. 95%) und finde das entsprechende Quantil dieser Kalibrierungswerte, um die Vorhersagemengen zu konstruieren.
- Inference Application: Werte während der Live-Inferenz neue Eingaben aus und schließe alle möglichen Labels ein, deren Werte unter das Kalibrierungsquantil fallen.
Mathematische Beweise für diesen Ansatz kannst du im Tutorial A Gentle Introduction to Conformal Prediction erkunden oder mehr über time-series forecasting approaches erfahren, um mit zeitlichen Unsicherheiten umzugehen.
Abgrenzung der konformen Vorhersage von verwandten Begriffen#
Es ist entscheidend, dieses Framework von Standardmetriken zu unterscheiden, die beim model testing verwendet werden:
- Conformal Prediction vs. Confidence Scores: Ein Standard-Konfidenzwert spiegelt die interne Sicherheit eines Modells wider, ist jedoch oft schlecht kalibriert und weist keine mathematischen Garantien auf. Conformal prediction wandelt diese rohen Werte in garantierte Mengen um. Traditionelle Anpassungen findest du unter scikit-learn's probability calibration.
- Conformal Prediction vs. Accuracy: Accuracy ist eine globale historische Metrik, die beschreibt, wie oft ein Modell über einen gesamten Datensatz hinweg korrekt ist, während conformal inference ein lokales, instanzspezifisches Intervall für jede einzelne neue Vorhersage liefert.
Praxisanwendungen#
Konforme Vorhersage ist in Hochrisikobereichen unerlässlich, in denen es entscheidend ist, die blinden Flecken des Modells zu kennen.
- Medical Diagnostics: Wenn KI im Gesundheitswesen zur Analyse von Scans eingesetzt wird, gibt ein Modell möglicherweise eine Reihe plausibler Diagnosen anstelle einer einzigen, möglicherweise inkorrekten Klasse aus. Dies stellt sicher, dass Kliniker allen gangbaren Möglichkeiten nachgehen, und unterstützt aktuelle Studien zur reliable genomic medicine and imaging.
- Autonomous Driving: Bei KI in Automobilsystemen erzeugt die Anwendung von Vorhersageintervallen auf die object detection einen räumlichen Konfidenzbereich um einen Fußgänger herum, wodurch die Bremssysteme des Fahrzeugs Worst-Case-Bewegungen sicher berücksichtigen können.
Implementierung von Vorhersagesets#
Bibliotheken wie MAPIE (Model Agnostic Prediction Interval Estimator) bieten integrierte Tools für Python, und Regressionsaufgaben nutzen häufig conformal quantile regression. Du kannst auch eine grundlegende Conformal-Prediction-Logik unter Verwendung von Wahrscheinlichkeiten aus fortgeschrittenen Modellen wie Ultralytics YOLO26 implementieren. Das folgende Beispiel erstellt eine Vorhersagemenge unter Verwendung von YOLO26-Klassifizierungswahrscheinlichkeiten und ahmt dabei die Logik nach, Top-Klassen einzubeziehen, bis ein kumulativer Schwellenwert erreicht ist.
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}")Die Entwicklung zuverlässiger Systeme erfordert robuste Datenpraktiken, um zu verhindern, dass data drift die Kalibrierung zunichtemacht. Tools wie die Ultralytics Platform vereinfachen den Prozess des Sammelns frischer classification datasets, des Retrainings von Modellen und der sicheren Verwaltung des model deployment. Du kannst mehr über das Kuratieren ausgewogener Daten in unserem Leitfaden zum Thema understanding dataset bias lesen oder die neuesten Fortschritte verfolgen, die auf der jährlichen COPA conference vorgestellt wurden.






