- vừa được xem lúc

Confusion matrix trong Machine Learning

0 0 5

Người đăng: Phan Nguyễn Mai Phương

Theo Viblo Asia

Confusion matrix trong Machine Learning là một công cụ quan trọng để đánh giá hiệu suất của các mô hình phân loại. Để hiểu rõ hơn, hãy tưởng tượng bạn đang chơi trò chơi phân loại các loại động vật như hổ, sư tử, và báo. Bạn có một mô hình AI (trí tuệ nhân tạo) để giúp bạn phân loại động vật dựa trên hình ảnh.

  • True Positive (TP): Đây là khi mô hình của bạn dự đoán đúng loài động vật. Ví dụ, nếu mô hình dự đoán một con hổ là hổ, đây là một True Positive.
  • True Negative (TN): Đây là khi mô hình dự đoán đúng việc không phải loài động vật. Nếu mô hình nói con báo không phải là sư tử, đây là một True Negative.
  • False Positive (FP): Đây là khi mô hình dự đoán sai. Ví dụ, nếu mô hình cho rằng một con báo là sư tử, nhưng thực tế không phải, đây là một False Positive.
  • False Negative (FN): Đây là khi mô hình của bạn bỏ lỡ. Ví dụ, nếu mô hình nói một con sư tử không phải sư tử, đây là một False Negative.

Giả sử bạn có một bức tranh động vật chứa 100 con động vật. Trong đó có 10 con hổ, 20 con sư tử và 70 con báo. Bạn sử dụng mô hình AI của mình để phân loại chúng.

Nếu mô hình của bạn nhận diện đúng 8 con hổ, 18 con sư tử và 60 con báo, thì confusion matrix của bạn sẽ như sau:

Thực tế Hổ Sư tử Báo
Dự đoán Hổ 8 0 2
Dự đoán Sư tử 2 18 0
Dự đoán Báo 0 2 60

Trong bảng này:

  • Dòng "Dự đoán Hổ" (Predicted Tiger): Có 8 con hổ được dự đoán đúng là hổ, 2 con được dự đoán sai thành báo.
  • Dòng "Dự đoán Sư tử" (Predicted Lion): Có 2 con sư tử được dự đoán sai thành hổ, và 18 con được dự đoán đúng là sư tử.
  • Dòng "Dự đoán Báo" (Predicted Leopard): Tất cả 60 con báo được dự đoán đúng là báo, không có lỗi dự đoán nào.

Từ confusion matrix này, bạn có thể tính toán các chỉ số như Precision và Recall. Precision cho biết trong các dự đoán là hổ (TP + FP), bao nhiêu là thực sự là hổ. Recall là tỷ lệ giữa số lượng hổ mà mô hình dự đoán đúng (TP) và tổng số hổ có thực trong mô hình bạn xây dựng.

Recall=TPTP+FN\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
Precision=TPTP+FP\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}

Precision (Chính xác):

  • Precision của lớp Hổ = TP_Hổ / (TP_Hổ + FP_Hổ) = 8 / (8 + 2) = 8 / 10 = 0.8
  • Precision của lớp Sư tử = TP_Sư tử / (TP_Sư tử + FP_Sư tử) = 18 / (18 + 2) = 18 / 20 = 0.9
  • Precision của lớp Báo = TP_Báo / (TP_Báo + FP_Báo) = 60 / (60 + 2) = 60 / 62 ≈ 0.968

Recall (Độ nhớ):

  • Recall của lớp Hổ = TP_Hổ / (TP_Hổ + FN_Hổ) = 8 / (8 + 0) = 8 / 8 = 1
  • Recall của lớp Sư tử = TP_Sư tử / (TP_Sư tử + FN_Sư tử) = 18 / (18 + 2) = 18 / 20 = 0.9
  • Recall của lớp Báo = TP_Báo / (TP_Báo + FN_Báo) = 60 / (60 + 0) = 60 / 60 = 1

Việc sử dụng confusion matrix giúp bạn hiểu rõ hơn về hiệu suất của mô hình phân loại và giải quyết các vấn đề như dự đoán sai hay bỏ lỡ.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lợi ích templates .gitignore trong dự án

Mở đầu. Gitignore là một file trong các dự án Git, nó chứa danh sách các tệp và thư mục mà bạn muốn Git bỏ qua (không theo dõi) khi bạn thực hiện các thao tác như git add hoặc git commit.

0 0 16

- vừa được xem lúc

Deploy ELK Stack với Docker

Hello các bạn lại là mình đây Chúc các bạn có kì nghỉ 30/4-1/5 vui vẻ và an toàn . Tiếp tục series học Docker và CICD của mình, hôm nay ta sẽ cùng nhau làm một bài "tàu nhanh" setup ELK Stack bao gồm

0 0 13

- vừa được xem lúc

Transaction trong Rails: Đảm bảo tính toàn vẹn và nhất quán dữ liệu

1. Lời mở đầu.

0 0 14

- vừa được xem lúc

Giới thiệu về Zabbix

1. Lời mở đầu.

0 0 12

- vừa được xem lúc

Ronin Engineer Tích Hợp với VNPay Như Thế Nào?

Hello mọi người, mình là một Ronin Engineer. Hôm nay mình sẽ trình bày website roninhub.com bên mình tích hợp với VNPay như nào thế. 1.

0 0 11

- vừa được xem lúc

Phần 1: Khám phá golang - Bước đầu tiên

Giới thiệu. Sự ra đời.

0 0 10