Tìm hiểu hiệu suất mô hình với ma trận nhầm lẫn. Khám phá các số liệu, cách sử dụng trong thế giới thực và các công cụ để tinh chỉnh độ chính xác của phân loại AI.
Ma trận nhầm lẫn là một công cụ đo lường hiệu suất toàn diện được sử dụng trong học máy (ML) để đánh giá độ chính xác của mô hình phân loại. Không giống như điểm số độ chính xác đơn giản, chỉ cho bạn biết tỷ lệ phần trăm dự đoán đúng, ma trận nhầm lẫn cung cấp phân tích chi tiết về cách mô hình phân loại từng lớp. Nó trực quan hóa sự khác biệt giữa các nhãn dự đoán và dữ liệu thực tế, cho phép các nhà phát triển xác định chính xác vị trí mô hình "bị nhầm lẫn" hoặc mắc lỗi hệ thống. Mức độ chi tiết này rất quan trọng để tinh chỉnh các hệ thống thị giác máy tính (CV) phức tạp, chẳng hạn như các hệ thống được xây dựng bằng Ultralytics YOLO11 .
Ma trận nhầm lẫn chia nhỏ các dự đoán của bộ phân loại thành bốn loại riêng biệt, thường được sắp xếp theo dạng lưới. Các thành phần này giúp xác định liệu một mô hình có mắc phải các loại lỗi cụ thể hay không, chẳng hạn như "báo động giả" hoặc "mục tiêu bị bỏ lỡ":
Mặc dù các số liệu tổng quát hữu ích cho các tổng quan cấp cao, ma trận nhầm lẫn lại rất cần thiết khi xử lý các tập dữ liệu mất cân bằng . Nếu một tập dữ liệu chứa 95 con mèo và 5 con chó, một mô hình chỉ đơn giản đoán "mèo" mỗi lần đạt độ chính xác 95% nhưng lại vô dụng trong việc tìm chó. Ma trận nhầm lẫn sẽ ngay lập tức phát hiện ra lỗi này bằng cách hiển thị 0 giá trị True Positives cho lớp "chó".
Sự phân tích này đóng vai trò là nền tảng để tính toán các chỉ số hiệu suất quan trọng khác. Bằng cách phân tích ma trận, các kỹ sư có thể rút ra:
Tầm quan trọng của ma trận nhầm lẫn thay đổi tùy theo ứng dụng cụ thể và "chi phí" của các lỗi khác nhau.
Các ultralytics Thư viện tự động tính toán và lưu các ma trận nhầm lẫn trong quá trình xác thực. Điều này cho phép người dùng trực quan hóa hiệu suất trên tất cả các lớp trong tập dữ liệu của họ.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Validate the model on a dataset like COCO8
# This generates the confusion matrix in the 'runs/detect/val' directory
results = model.val(data="coco8.yaml")
# You can also programmatically access the matrix data
print(results.confusion_matrix.matrix)
Điều quan trọng là phải phân biệt ma trận nhầm lẫn với các số liệu phái sinh. Trong khi Độ chính xác (Accuracy) , Độ chính xác (Precision ) và Độ thu hồi (Recall) là các tổng hợp số đơn lẻ, Ma trận nhầm lẫn (Confusion Matrix ) là nguồn dữ liệu thô để tính toán các số liệu đó. Nó cung cấp "bức tranh toàn cảnh" chứ không phải chỉ là một ảnh chụp nhanh. Ngoài ra, trong phát hiện đối tượng , ma trận này thường tương tác với ngưỡng Giao nhau trên Hợp ( IoU ) để xác định giá trị nào được coi là Giá trị dương thực (True Positive), bổ sung thêm một lớp chiều sâu nữa cho việc đánh giá trong các tác vụ thị giác máy tính .