Erfahren Sie, wie die konforme Vorhersage verteilungsunabhängige Unsicherheitsangaben für KI liefert. Implementieren Sie Vorhersagesätze mit Ultralytics , um zuverlässige Modellergebnisse zu gewährleisten.
Die konforme Vorhersage ist ein statistisches Rahmenwerk im maschinellen Lernen (ML), das verteilungsunabhängige Maße für die Unsicherheit bei Modellvorhersagen liefert. Anstatt eine Einzelpunktvorhersage – wie beispielsweise eine bestimmte Klassenbezeichnung – auszugeben, liefert ein konformer Prädiktor einen Vorhersagebereich oder ein Intervall, das den wahren Wert mit einer vom Benutzer festgelegten Wahrscheinlichkeit (z. B. 90 % oder 95 %) enthält. Dieser Rahmen lässt sich um jedes Modell der künstlichen Intelligenz (KI) legen, um formale statistische Garantien zu bieten, ohne dass Änderungen an der Modellarchitektur erforderlich sind. Eine umfassende Liste aktueller Tools und Forschungsergebnisse finden Sie im Repository „Awesome Conformal Prediction “.
Der grundlegende Mechanismus beruht darauf, anhand eines Abweichungswerts zu bewerten, wie ungewöhnlich eine neue Vorhersage im Vergleich zu früheren Beispielen ist.
Mathematische Beweise für diesen Ansatz finden Sie im Tutorial „Eine leicht verständliche Einführung in die konforme Prognose “ oder informieren Sie sich über Ansätze zur Zeitreihenprognose zum Umgang mit zeitlichen Unsicherheiten.
Es ist entscheidend, diesen Rahmen von den Standardkennzahlen zu unterscheiden, die bei der Modellprüfung verwendet werden:
Konforme Vorhersagen sind in Bereichen mit hohem Risiko unverzichtbar, in denen es entscheidend ist, die Schwachstellen des Modells zu kennen.
Bibliotheken wie MAPIE (Model Agnostic Prediction Interval Estimator) bieten integrierte Tools für Python, und bei Regressionsaufgaben kommt häufig die konforme Quantilregression zum Einsatz. Sie können auch eine grundlegende Logik für die konforme Vorhersage implementieren, indem Sie Wahrscheinlichkeiten aus fortgeschrittenen Modellen wie Ultralytics verwenden. Das folgende Beispiel erstellt einen Vorhersagesatz unter Verwendung der 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 solide Datenpraktiken, um zu verhindern, dass Datenverschiebungen die Kalibrierung beeinträchtigen. Tools wie die Ultralytics vereinfachen den Prozess der Erfassung aktueller Klassifizierungsdatensätze, des erneuten Trainings von Modellen und der sicheren Verwaltung der Modellbereitstellung. Weitere Informationen zur Kuratierung ausgewogener Daten finden Sie in unserem Leitfaden zum Verständnis von Verzerrungen in Datensätzen oder track neuesten Fortschritte, die auf der jährlichen COPA-Konferenz vorgestellt werden.
Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens