Khám phá cách dự đoán phù hợp (conformal prediction) cung cấp độ không chắc chắn không phụ thuộc vào phân phối cho AI. Triển khai các tập dự đoán với Ultralytics để đảm bảo kết quả mô hình đáng tin cậy.
Dự đoán phù hợp (Conformal prediction) là một khung thống kê trong học máy (ML) cung cấp các thước đo độ không chắc chắn không phụ thuộc vào phân phối cho các dự đoán của mô hình. Thay vì đưa ra một dự đoán điểm đơn lẻ—chẳng hạn như một nhãn lớp cụ thể—một bộ dự đoán phù hợp sẽ đưa ra một tập hợp dự đoán hoặc khoảng tin cậy chứa giá trị thực với xác suất do người dùng chỉ định (ví dụ: 90% hoặc 95%). Khung này bao quanh bất kỳ mô hình trí tuệ nhân tạo (AI) nào để cung cấp các đảm bảo thống kê chính thức mà không cần thay đổi kiến trúc của mô hình. Để có danh sách đầy đủ các công cụ và nghiên cứu cập nhật, bạn có thể khám phá kho lưu trữ Awesome Conformal Prediction.
Cơ chế cơ bản dựa trên việc đánh giá mức độ khác thường của một dự đoán mới so với các ví dụ trong quá khứ thông qua một chỉ số độ lệch chuẩn.
Bạn có thể tìm hiểu các chứng minh toán học về phương pháp này trong hướng dẫn “Giới thiệu cơ bản về dự báo tương ứng ” hoặc tìm hiểu về các phương pháp dự báo chuỗi thời gian để xử lý các yếu tố không chắc chắn về thời gian.
Điều quan trọng là phải phân biệt khung này với các chỉ số tiêu chuẩn được sử dụng trong quá trình kiểm thử mô hình:
Dự đoán phù hợp là không thể thiếu trong các lĩnh vực có rủi ro cao, nơi việc nắm rõ những điểm mù của mô hình là vô cùng quan trọng.
Các thư viện như MAPIE (Model Agnostic Prediction Interval Estimator) cung cấp các công cụ tích hợp sẵn cho Python, và các tác vụ hồi quy thường sử dụng phương pháp hồi quy phân vị phù hợp. Bạn cũng có thể triển khai logic dự đoán tương ứng cơ bản bằng cách sử dụng xác suất từ các mô hình nâng cao như Ultralytics . Ví dụ sau đây xây dựng một tập dự đoán bằng cách sử dụng xác suất phân loại của YOLO26, mô phỏng logic bao gồm các lớp hàng đầu cho đến khi đạt được ngưỡng tích lũy.
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}")
Việc phát triển các hệ thống đáng tin cậy đòi hỏi phải có các quy trình xử lý dữ liệu vững chắc để ngăn chặn tình trạng dữ liệu bị lệch làm hỏng quá trình hiệu chuẩn. Các công cụ như Ultralytics giúp đơn giản hóa quy trình thu thập bộ dữ liệu phân loại mới, huấn luyện lại mô hình và quản lý việc triển khai mô hình một cách an toàn. Bạn có thể tìm hiểu thêm về việc xây dựng bộ dữ liệu cân bằng trong hướng dẫn của chúng tôi về việc hiểu rõ sự thiên lệch trong bộ dữ liệu, hoặc track tiến bộ mới nhất được trình bày tại hội nghị thường niên COPA.
Bắt đầu hành trình của bạn với tương lai của học máy