Accuracy so với precision và recall trong machine learning
Tìm hiểu về Accuracy, Precision và Recall trong machine learning. Khám phá Confusion Matrix, F1 Score và cách sử dụng các metric đánh giá quan trọng này.

Machine learning (ML) là một nhánh của trí tuệ nhân tạo (AI), tập trung vào việc tạo ra các hệ thống học từ dữ liệu. Machine learning đóng vai trò trung tâm trong nhiều lĩnh vực khác của AI, bao gồm thị giác máy tính, nơi máy móc diễn giải hình ảnh, và xử lý ngôn ngữ tự nhiên, nơi chúng hiểu và tạo ra ngôn ngữ của con người.
Thông thường, các model AI như vậy sử dụng các kỹ thuật deep learning để đưa ra dự đoán từ dữ liệu. Mặc dù các hệ thống này có thể rất hiệu quả, chúng không phải lúc nào cũng tạo ra dự đoán chính xác. Một số đầu ra có thể đúng, trong khi những đầu ra khác không đạt mục tiêu.
Hiểu cách các lỗi này xảy ra là một phần quan trọng trong việc đánh giá mức độ hoạt động của một model. Để đo lường hiệu năng, chúng ta có thể sử dụng các metric đánh giá model.
Các metric đánh giá phổ biến bao gồm accuracy (độ đúng tổng thể), precision (độ tin cậy của các dự đoán dương tính) và recall (mức độ model xác định các trường hợp dương tính thực tế). Thoạt nhìn, chúng có vẻ tương tự nhau, nhưng mỗi metric tập trung vào một khía cạnh khác nhau trong hành vi của model.
Trong bài viết này, chúng ta sẽ xem xét kỹ hơn từng metric hiệu năng model AI. Chúng ta cũng sẽ tìm hiểu mối liên hệ giữa chúng và cách chọn metric phù hợp cho use case của bạn. Hãy bắt đầu!
Các metric đánh giá model rất quan trọng trong machine learning#
Một model machine learning thoạt nhìn có thể có vẻ đang hoạt động tốt. Tuy nhiên, nếu không có các metric đánh giá phù hợp, rất khó hiểu kết quả của model chính xác đến đâu. Các metric này tạo cấu trúc cho việc đánh giá model và giúp trả lời một câu hỏi then chốt: Các dự đoán của model có hữu ích và đáng tin cậy cho một tác vụ nhất định không?
Các metric như accuracy, precision và recall cung cấp cho developer AI một cách rõ ràng để đo lường mức độ hoạt động của model. Ví dụ, khi so sánh các model khác nhau, những metric này giúp xác định model nào hoạt động tốt nhất cho một tác vụ cụ thể. Chúng hỗ trợ đánh giá hiệu năng và định hướng lựa chọn model phù hợp nhất với mục tiêu của một dự án AI.

Hình 1. Quy trình huấn luyện và đánh giá model (Nguồn)
Các metric này cũng làm cho việc so sánh hiệu năng trở nên khách quan hơn. Thay vì dựa vào phỏng đoán hoặc các quan sát không đầy đủ, chúng cung cấp những thông tin có thể đo lường về cách model hoạt động trong các tình huống khác nhau. Nhờ đó, chúng làm nổi bật những khía cạnh hiệu năng quan trọng nhất trong từng bối cảnh.
Chẳng hạn, việc chọn metric thường phụ thuộc vào ứng dụng. Trong các ứng dụng AI healthcare, recall rất quan trọng vì mục tiêu là xác định càng nhiều ca dương tính càng tốt, ngay cả khi một số ca âm tính bị gắn nhãn nhầm. Ngược lại, bộ lọc spam email có thể ưu tiên precision để tránh đánh dấu nhầm email hợp lệ là spam.
Ma trận nhầm lẫn: Nền tảng của các metric phân loại#
Ma trận nhầm lẫn là một bảng hai chiều cơ bản để đánh giá các model AI. Bảng này sắp xếp các dự đoán thành bốn nhóm bằng cách so sánh kết quả thực tế với kết quả dự đoán (câu trả lời do model đưa ra).
Phép so sánh này cung cấp góc nhìn chi tiết về hiệu năng của model. Đây là cơ sở cho các metric đánh giá quan trọng như precision và recall, được tính trực tiếp từ các giá trị trong ma trận.
Các hàng của bảng biểu thị các class thực tế, còn các cột biểu thị các class được dự đoán. Mỗi ô hiển thị số lượng kết quả thuộc nhóm đó. Nói đơn giản, ma trận cho thấy có bao nhiêu dự đoán đúng và các loại lỗi mà model đã mắc phải.
Ma trận nhầm lẫn đặc biệt hữu ích khi dữ liệu bị mất cân bằng, nghĩa là một số nhóm có nhiều mẫu hơn đáng kể so với các nhóm khác. Ma trận này cũng hữu ích khi các loại lỗi khác nhau có mức độ tác động khác nhau.
Ví dụ, trong phát hiện gian lận, việc phát hiện hoạt động gian lận là rất quan trọng, nhưng gắn cờ nhầm các giao dịch thực cũng có thể gây ra vấn đề. Ma trận cho thấy rõ tần suất xảy ra của từng loại lỗi.
Các thành phần của ma trận nhầm lẫn#
Dưới đây là tổng quan về các thành phần khác nhau trong một ma trận nhầm lẫn:
- Dương tính thật (TP): Khi model dự đoán chính xác một mẫu dương tính, mẫu đó được ghi nhận là dương tính thật. Ví dụ, một model thị giác máy tính phân loại chính xác một phương tiện trong hình ảnh.
- Âm tính thật (TN): Âm tính thật xảy ra khi model xác định chính xác một mẫu âm tính. Chẳng hạn, một bộ phân loại email đánh dấu một thư thông thường là không phải spam.
- Dương tính giả (FP): Model tạo ra một dương tính giả khi dự đoán sai một kết quả dương tính cho một mẫu thực tế là âm tính. Còn được gọi là Lỗi loại I, trường hợp này có thể xảy ra khi hệ thống phát hiện gian lận gắn cờ một giao dịch hợp lệ là gian lận.
- Âm tính giả (FN): Âm tính giả được ghi nhận khi model không phát hiện một ca dương tính và dự đoán sai ca đó là âm tính. Còn được gọi là Lỗi loại II, trường hợp này có thể xảy ra khi một công cụ chẩn đoán bỏ sót bệnh ở một bệnh nhân thực sự mắc bệnh.

Hình 2. Các thành phần của ma trận nhầm lẫn (Nguồn)
Biểu diễn trực quan và diễn giải ma trận nhầm lẫn#
Ma trận nhầm lẫn được hiển thị dưới dạng lưới. Trục dọc hiển thị các class thực tế, còn trục ngang hiển thị các class được dự đoán. Các dự đoán đúng xuất hiện trên đường chéo, biểu thị các trường hợp dương tính thật và âm tính thật.
Các lỗi nằm ngoài đường chéo, bao gồm dương tính giả và âm tính giả. Cấu trúc này giúp dễ dàng nhận ra điểm mạnh và điểm yếu.
Accuracy trong machine learning là gì?#
Accuracy là một trong những metric được sử dụng rộng rãi nhất để đánh giá mức độ hoạt động của một model machine learning. Metric này đo lường tần suất các dự đoán chính xác trên tất cả các class. Nói cách khác, nó trả lời một câu hỏi đơn giản: Trong tất cả dự đoán mà model AI đưa ra, có bao nhiêu dự đoán đúng?
Công thức tính accuracy là số dự đoán đúng (bao gồm cả dương tính thật và âm tính thật) chia cho tổng số dự đoán. Accuracy dễ tính toán và dễ hiểu, vì vậy đây thường là điểm bắt đầu trong việc đánh giá model.
Nhìn chung, accuracy đáng tin cậy khi xử lý các dataset cân bằng. Tuy nhiên, accuracy thường có thể gây hiểu lầm trong các dataset mất cân bằng, nơi một class chiếm ưu thế so với các class khác. Một model luôn dự đoán class chiếm đa số vẫn có thể đạt điểm accuracy cao nhưng không phát hiện được các class thiểu số khác.
Ví dụ, trong một dataset hình ảnh chỉ có vài hình ảnh chứa người đi bộ, một model dự đoán “không có người đi bộ” cho mọi hình ảnh vẫn có thể đạt accuracy cao nhưng hoàn toàn không phát hiện được những người đi bộ thực tế.
Đó là vì bản thân accuracy không cho biết model mắc những loại lỗi nào hoặc chúng xảy ra thường xuyên ra sao. Vì vậy, điều quan trọng là cũng phải xem xét các metric như precision và recall để hiểu đầy đủ mức độ hoạt động của một model AI.
Phân tích chuyên sâu về precision: Giảm thiểu cảnh báo giả#
Precision là một metric đánh giá quan trọng, đo lường độ chính xác của các dự đoán dương tính của model. Metric này trả lời câu hỏi: Trong tất cả các mẫu được dự đoán là dương tính, có bao nhiêu mẫu đúng?
Công thức tính precision là số dương tính thật chia cho tổng của dương tính thật và dương tính giả. Precision đặc biệt quan trọng khi một dự đoán dương tính sẽ gây tốn kém nếu hóa ra là sai.

Hình 3. So sánh accuracy và precision. (Nguồn)
Ví dụ, trong phát hiện gian lận, một model có precision thấp có thể gắn cờ nhiều giao dịch hợp lệ là gian lận, gây ra các vấn đề không cần thiết cho cả người dùng và đội ngũ hỗ trợ. Một model có precision cao sẽ giảm rủi ro này bằng cách đảm bảo rằng các giao dịch bị gắn cờ có nhiều khả năng thực sự là gian lận hơn.
Mặc dù precision cao là điều tốt, các model quá tập trung vào metric này có thể trở nên rất chọn lọc và bỏ sót những ca dương tính thực tế. Vì vậy, precision thường được kiểm tra cùng với recall để duy trì hiệu năng cân bằng.
Recall là gì?#
Recall là một metric được sử dụng để đo lường mức độ model xác định các ca dương tính thực tế. Metric này còn được gọi là độ nhạy hoặc tỷ lệ dương tính thật, và trả lời câu hỏi: Trong tất cả các mẫu dương tính thực tế, model đã phát hiện chính xác bao nhiêu mẫu?
Công thức tính recall là số dương tính thật chia cho tổng của dương tính thật và âm tính giả. Điểm recall cao cho thấy model đã phát hiện phần lớn các ca dương tính thực tế trong dữ liệu.
Recall rất cần thiết trong các ngành như healthcare, nơi việc không phát hiện một tình trạng bệnh có thể làm trì hoãn điều trị và khiến bệnh nhân gặp rủi ro. Ngay cả khi một số ca âm tính bị gắn cờ nhầm, việc xác định tất cả các ca thực vẫn là ưu tiên hàng đầu.
Tuy nhiên, các model chỉ tập trung vào recall có thể gắn cờ quá nhiều dương tính giả, làm giảm precision và ảnh hưởng đến hiệu quả tổng thể của model. Việc cân bằng recall và precision rất quan trọng đối với hiệu năng model AI đáng tin cậy.
Bài toán cân bằng: Sự đánh đổi giữa precision và recall#
Precision và recall thường thay đổi theo hai hướng ngược nhau. Khi một metric cải thiện, metric kia có thể suy giảm. Sự đánh đổi này là một thách thức phổ biến trong các tác vụ machine learning.
Một model có precision cao chỉ dự đoán một đối tượng là dương tính khi model thực sự chắc chắn. Điều này làm giảm cảnh báo giả nhưng có thể bỏ sót các ca dương tính thực tế, từ đó làm giảm recall. Một model cố gắng bắt được mọi ca dương tính sẽ tăng recall nhưng có nguy cơ tạo ra nhiều cảnh báo giả hơn, làm giảm precision.
Sự đánh đổi này trở nên rõ ràng hơn khi bạn điều chỉnh ngưỡng quyết định của model. Ngưỡng là giá trị cắt mà hệ thống sử dụng để chuyển một điểm số hoặc xác suất thành hành động hoặc nhãn. Hạ ngưỡng khiến hệ thống thường xuyên đưa ra hành động dương tính hơn, có thể làm tăng recall nhưng làm giảm precision. Tăng ngưỡng tạo ra tác động ngược lại: model dự đoán ít ca dương tính hơn, precision cải thiện nhưng recall thường giảm.
Giả sử bạn đang làm việc với bài toán phát hiện spam. Model phải cân bằng rủi ro để spam lọt vào hộp thư đến với rủi ro chặn nhầm email thật. Một bộ lọc nghiêm ngặt vẫn có thể bỏ sót một số spam, trong khi bộ lọc nới lỏng hơn có thể vô tình chặn các thư hợp lệ. Sự cân bằng phù hợp phụ thuộc vào use case và chi phí của từng loại lỗi.
Ý nghĩa của đường cong precision–recall#
Đường cong precision-recall hay đường cong PR cho thấy precision và recall thay đổi như thế nào khi ngưỡng quyết định của model thay đổi. Mỗi điểm biểu thị một sự đánh đổi khác nhau giữa hai metric. Đường cong PR đặc biệt hữu ích đối với các dataset mất cân bằng, trong đó một class ít xuất hiện hơn nhiều.
Đường cong này cũng cung cấp thông tin có ý nghĩa hơn đường cong Đặc tính hoạt động của bộ thu (ROC), vốn cũng cho thấy mức độ model phân tách các ca dương tính và âm tính tốt như thế nào tại các ngưỡng quyết định khác nhau. Một model có cả precision cao và recall cao sẽ có đường cong precision–recall nằm gần góc trên bên phải, đây thường là trạng thái lý tưởng.
Giới thiệu F1-score: Metric kết hợp để cân bằng#
F1-score cung cấp một giá trị duy nhất thể hiện sự cân bằng giữa precision và recall. F1-score được tính bằng hai lần tích của precision và recall, chia cho tổng của precision và recall. Metric này hữu ích khi cả dương tính giả và âm tính giả đều quan trọng, cũng như khi làm việc với các dataset mất cân bằng hoặc khi cần góc nhìn cân bằng về hiệu năng của model.

Hình 4. Tính F1-score bằng precision và recall (Nguồn)
Vượt ra ngoài accuracy, precision và recall#
Mặc dù accuracy, precision và recall là các metric thiết yếu, những metric khác cung cấp thêm thông tin chuyên sâu dựa trên loại model và đặc điểm của dataset.
Dưới đây là một số metric thường được sử dụng để đánh giá các khía cạnh hiệu năng khác nhau:
- Specificity: Metric này đo lường mức độ model xác định các ca âm tính thực tế tốt như thế nào. Metric này hữu ích khi việc tránh dương tính giả là điều quan trọng.
- AUC: AUC, hay Diện tích dưới đường cong, cung cấp một điểm số duy nhất phản ánh khả năng phân biệt giữa các class của model.
- Log loss: Log loss được sử dụng để đo lường mức độ chắc chắn của model khi đưa ra dự đoán và phạt nặng hơn các dự đoán sai được đưa ra với độ tin cậy cao. Ở đây, độ tin cậy đề cập đến mức độ chắc chắn của model về dự đoán của mình.
- Đánh giá multi-label: Trong các tác vụ multi-label, các metric được tính trung bình trên các nhãn để phản ánh hiệu năng tổng thể của model.
Áp dụng accuracy, precision và recall trong thị giác máy tính#
Giờ đây, khi đã hiểu rõ hơn về accuracy, precision và recall, hãy cùng tìm hiểu cách áp dụng các metric này trong thị giác máy tính.
Các model thị giác máy tính như Ultralytics YOLO11 hỗ trợ các tác vụ như phát hiện đối tượng, trong đó model xác định những đối tượng nào xuất hiện trong hình ảnh và định vị chúng bằng bounding box. Mỗi dự đoán bao gồm cả nhãn đối tượng và vị trí của đối tượng, khiến việc đánh giá phức tạp hơn so với chỉ kiểm tra xem một nhãn có chính xác hay không.

Hình 5. Ví dụ sử dụng Ultralytics YOLO11 để phát hiện đối tượng. (Nguồn)
Hãy xem xét một ứng dụng bán lẻ, trong đó camera được sử dụng để tự động theo dõi sản phẩm trên kệ. Một model phát hiện đối tượng có thể xác định các mặt hàng như hộp ngũ cốc, lon nước ngọt hoặc chai nước và đánh dấu vị trí của chúng.
Trong trường hợp này, precision cho biết có bao nhiêu mặt hàng được phát hiện là chính xác. Precision cao nghĩa là hệ thống tránh được các dương tính giả, chẳng hạn như gắn nhãn một cái bóng hoặc đối tượng nền là sản phẩm. Recall cho biết model đã phát hiện được bao nhiêu sản phẩm thực tế trên kệ. Recall cao nghĩa là có ít mặt hàng bị bỏ sót hơn, điều này rất quan trọng để đếm hàng tồn kho chính xác.
Accuracy vẫn có thể cung cấp một thước đo tổng quát về độ đúng, nhưng trong bối cảnh này, việc bỏ sót dù chỉ một vài sản phẩm hoặc phát hiện những mặt hàng không tồn tại cũng có thể ảnh hưởng lớn đến việc quản lý hàng tồn kho. Vì vậy, developer xem xét precision, recall và accuracy cùng nhau để đảm bảo hệ thống vừa đáng tin cậy vừa có tính thực tiễn khi sử dụng trong thế giới thực.
Accuracy, precision và recall: Những điểm chính cần ghi nhớ#
Accuracy, precision và recall thể hiện các khía cạnh khác nhau trong hiệu năng của một model machine learning. Chỉ dựa vào một metric có thể dẫn đến hiểu lầm.
Các công cụ và metric như ma trận nhầm lẫn, đường cong precision–recall và F1-score giúp làm rõ những sự đánh đổi, đồng thời định hướng các quyết định cải thiện model ML. Bằng cách chọn tổ hợp metric phù hợp cho một giải pháp AI cụ thể, bạn có thể đảm bảo các model chính xác, đáng tin cậy và hiệu quả trong các ứng dụng thực tế.
Khám phá cộng đồng đang ngày càng phát triển của chúng tôi! Truy cập repository GitHub để tìm hiểu thêm về AI. Sẵn sàng bắt đầu các dự án thị giác máy tính của bạn? Hãy xem các tùy chọn cấp phép của chúng tôi. Khám phá AI trong nông nghiệp và AI thị giác trong robotics bằng cách truy cập các trang giải pháp của chúng tôi!









