اكتشف كيف يوفر التنبؤ المطابق درجة من عدم اليقين لا تعتمد على التوزيع في مجال الذكاء الاصطناعي. قم بتنفيذ مجموعات التنبؤ باستخدام Ultralytics لضمان موثوقية نتائج النموذج.
التنبؤ المطابق هو إطار عمل إحصائي في التعلم الآلي (ML) يوفر مقاييس عدم اليقين غير المرتبطة بالتوزيع لتنبؤات النماذج. بدلاً من إخراج تنبؤ بنقطة واحدة — مثل تصنيف فئة محددة — يقوم المتنبئ المطابق بإخراج مجموعة تنبؤات أو نطاق يحتوي على القيمة الحقيقية باحتمال يحدده المستخدم (على سبيل المثال، 90% أو 95%). يحيط هذا الإطار بأي نموذج ذكاء اصطناعي (AI) لتقديم ضمانات إحصائية رسمية دون الحاجة إلى إجراء تغييرات على بنية النموذج. للحصول على قائمة شاملة بالأدوات والأبحاث الحديثة، يمكنك استكشاف مستودع Awesome Conformal Prediction.
وتعتمد الآلية الأساسية على تقييم مدى غرابة التنبؤ الجديد مقارنةً بالأمثلة السابقة باستخدام مقياس عدم المطابقة.
يمكنك الاطلاع على البراهين الرياضية لهذا النهج في البرنامج التعليمي «مقدمة مبسطة للتنبؤ المطابق» أو التعرف على منهجيات التنبؤ بالسلاسل الزمنية للتعامل مع حالات عدم اليقين الزمني.
من الضروري التمييز بين هذا الإطار والمقاييس القياسية المستخدمة أثناء اختبار النموذج:
يُعد التنبؤ المطابق أمراً لا غنى عنه في المجالات ذات المخاطر العالية، حيث يُعد التعرف على نقاط الضعف في النموذج أمراً بالغ الأهمية.
توفر مكتبات مثل MAPIE (مُقدِّر فاصل التنبؤ غير المرتبط بالنموذج) أدوات مدمجة في Python، وغالبًا ما تستخدم مهام الانحدار الانحدار الكمي المطابق. يمكنك أيضًا تنفيذ منطق تنبؤ متوافق أساسي باستخدام الاحتمالات من نماذج متقدمة مثل Ultralytics . يبني المثال التالي مجموعة تنبؤات باستخدام احتمالات تصنيف YOLO26، محاكياً منطق تضمين الفئات العليا حتى يتم الوصول إلى عتبة تراكمية.
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}")
يتطلب تطوير أنظمة موثوقة اتباع ممارسات قوية في التعامل مع البيانات لمنع انحراف البيانات من إفساد عملية المعايرة. تعمل أدوات مثل Ultralytics على تبسيط عملية جمع مجموعات بيانات التصنيف الحديثة، وإعادة تدريب النماذج، وإدارة نشر النماذج بأمان. يمكنك قراءة المزيد عن تنظيم البيانات المتوازنة في دليلنا حول فهم التحيز في مجموعات البيانات، أو track أحدث track تم عرضها في المؤتمر السنوي COPA.

ابدأ رحلتك مع مستقبل تعلم الآلة