Làm thế nào để có được một ma trận nhầm lẫn tổng hợp từ n phân loại khác nhau


8

Tôi muốn kiểm tra tính chính xác của một phương pháp. Tôi đã chạy nó ~ 400 lần và tôi có một phân loại khác nhau cho mỗi lần chạy. Tôi cũng có sự thật nền tảng, tức là phân loại thực sự để kiểm tra chống lại.

Đối với mỗi phân loại tôi tính toán một ma trận nhầm lẫn. Bây giờ tôi muốn tổng hợp các kết quả này để có được ma trận nhầm lẫn tổng thể. Làm thế nào tôi có thể đạt được nó?

Tôi có thể tổng hợp tất cả các ma trận nhầm lẫn để có được tổng thể không?

Câu trả lời:


4

Tôi không biết câu trả lời chuẩn cho vấn đề này, nhưng tôi đã nghĩ về nó một vài lần trước đây và tôi có một số ý tưởng để chia sẻ.

Khi bạn có một ma trận nhầm lẫn, bạn có ít nhiều một bức tranh về cách bạn phân loại mô hình nhầm lẫn (phân loại sai) các lớp. Khi bạn lặp lại các bài kiểm tra phân loại, bạn sẽ có nhiều ma trận nhầm lẫn. Câu hỏi là làm thế nào để có được một ma trận nhầm lẫn tổng hợp có ý nghĩa. Câu trả lời phụ thuộc vào ý nghĩa của ý nghĩa (ý định chơi chữ). Tôi nghĩ rằng không có một phiên bản duy nhất có ý nghĩa.

Một cách là làm theo ý tưởng sơ bộ của nhiều thử nghiệm. Nói chung, bạn kiểm tra một cái gì đó nhiều lần để có kết quả chính xác hơn. Theo nguyên tắc chung, người ta có thể lý giải rằng việc tính trung bình vào kết quả của nhiều thử nghiệm làm giảm phương sai của các ước tính, do đó, do đó, nó làm tăng độ chính xác của các ước tính. Tất nhiên, bạn có thể tiến hành theo cách này bằng cách tính tổng vị trí theo vị trí và sau đó chia cho số lượng bài kiểm tra. Bạn có thể đi xa hơn và thay vì chỉ ước tính một giá trị cho mỗi ô của ma trận nhầm lẫn, bạn cũng có thể tính toán một số khoảng tin cậy, giá trị t, v.v. Điều này là OK từ quan điểm của tôi. Nhưng nó chỉ nói lên một mặt của câu chuyện.

Mặt khác của câu chuyện có thể được điều tra là mức độ ổn định của các kết quả cho các trường hợp tương tự. Để làm gương rằng tôi sẽ lấy một ví dụ cực đoan. Giả sử bạn có một mô hình phân loại cho 3 lớp. Giả sử rằng các lớp này có cùng tỷ lệ. Nếu mô hình của bạn có thể dự đoán hoàn hảo một lớp và 2 lớp còn lại có hiệu suất như ngẫu nhiên, cuối cùng bạn sẽ có tỷ lệ phân loại sai 0,33 + 0,66 + 0,66 = 0,66. Điều này có vẻ tốt, nhưng ngay cả khi bạn nhìn vào một ma trận nhầm lẫn duy nhất, bạn sẽ không biết rằng hiệu suất của bạn trên 2 lớp cuối thay đổi dữ dội. Nhiều bài kiểm tra có thể giúp đỡ. Nhưng trung bình các ma trận nhầm lẫn sẽ tiết lộ điều này? Niềm tin của tôi là không. Tính trung bình sẽ cho cùng một kết quả ít nhiều và thực hiện nhiều thử nghiệm sẽ chỉ làm giảm phương sai của ước lượng.

Vì vậy, một cách khác để soạn thảo các ma trận nhầm lẫn sẽ tốt hơn liên quan đến mật độ dự đoán cho mỗi trường hợp. Người ta có thể xây dựng mật độ này bằng cách đếm cho từng trường hợp, số lần nó được dự đoán là một lớp nhất định. Sau khi chuẩn hóa, bạn sẽ có mật độ dự đoán cho mỗi trường hợp thay vì một nhãn dự đoán. Bạn có thể thấy rằng một nhãn dự đoán duy nhất tương tự với mật độ suy biến trong đó bạn có xác suất 1 cho lớp dự đoán và 0 cho các lớp khác cho mỗi trường hợp riêng biệt. Bây giờ có mật độ này, người ta có thể xây dựng một ma trận nhầm lẫn bằng cách thêm xác suất từ ​​mỗi trường hợp và lớp dự đoán vào ô tương ứng của ma trận nhầm lẫn tổng hợp.

Người ta có thể lập luận rằng điều này sẽ cho kết quả tương tự như phương pháp trước đó. Tuy nhiên, tôi nghĩ rằng đôi khi đây có thể là trường hợp, thường khi mô hình có phương sai thấp, phương pháp thứ hai ít bị ảnh hưởng bởi cách các mẫu từ các thử nghiệm được rút ra, do đó ổn định hơn và gần với thực tế hơn.

Ngoài ra, phương thức thứ hai có thể được thay đổi để có được phương thức thứ ba, trong đó người ta có thể gán như dự đoán nhãn với mật độ cao nhất từ ​​dự đoán của một thể hiện cụ thể.

Tôi không thực hiện những điều đó nhưng tôi dự định nghiên cứu thêm vì tôi tin rằng có thể đáng để dành thời gian.


Bạn có ý nghĩa gì đối với tỷ lệ phân loại sai trong đoạn thứ tư?
gc5

tỷ lệ phân loại sai = (số trường hợp được phân loại chính xác) / (tổng số trường hợp); trong đoạn đó chúng ta có 0,33 = tỷ lệ của mỗi lớp (hãy đặt tên nhãn là c1, c2, c3); chúng ta có 0,33 * 1,0 (c1 đều được phân loại chính xác), + 0,33 * 0,5 (c2 được phân loại ngẫu nhiên là c2 hoặc c3) + 0,33 * 0,5 (c3 được phân loại ngẫu nhiên là c2 hoặc c3) = 0,33 + 0,66 + 0,66 = 0,66 ( các trường hợp được phân loại chính xác / tổng số trường hợp)
rapaio

4

Có một số cách để đạt được "ma trận nhầm lẫn chính" của bạn.

  1. Tổng hợp tất cả các ma trận nhầm lẫn với nhau: Giống như bạn đề xuất, tổng hợp kết quả này trong một ma trận nhầm lẫn. Vấn đề với điều này là bạn không thể giải thích tổng số.

  2. Trung bình các mục. Phương pháp này giống như số một, nhưng bạn chia mỗi mục nhập cho số lượng thử nghiệm (~ 400 trong trường hợp của bạn). Đây sẽ là phương pháp ưa thích của tôi bởi vì sau đó bạn thực sự có thể dịch từng danh mục thành (trung bình) + - (đo lường lỗi) và thực sự xem danh mục nào dễ biến động hoặc ổn định nhất. Mặc dù cẩn thận với việc diễn giải 'đo lường lỗi' này.

  3. Báo cáo một vấn đề đo lường cụ thể của các số nhầm lẫn. Ví dụ: nếu số của bạn có giá trị ngoại lệ, trung bình sẽ ưu tiên hơn phương tiện.

Có những số liệu thống kê khác có thể báo cáo là tốt. Bạn có thể làm lại phương pháp để theo dõi các phân loại riêng lẻ. Sau đó, chúng ta có thể nói các số liệu thống kê quan trọng khác như '% phân loại giữ nguyên và chính xác', v.v ...


1
Khi bạn nói, khi bạn tính tổng kết quả mà bạn không thể giải thích tổng số, bạn có nghĩa là mỗi phân loại có thể có trọng số khác nhau và đóng góp của nó có thể vượt / ước tính trong tổng số? Nếu tôi cho rằng để chạy, ví dụ: 4 bài kiểm tra độc lập, tôi có thể cho rằng mỗi phân loại có cùng trọng số và diễn giải (không đau) tổng số không? Hy vọng điều đó rõ ràng ..
gc5

1
Điều tôi muốn nói là chúng ta không biết ý nghĩa của những con số thực tế. Ví dụ: nếu tôi có 4 trong một mục cụ thể trong lần chạy 1 và nhận 5 trong cùng mục đó trong lần chạy 2, thật khó để nói chính xác ý nghĩa của 4 + 5 = 9. Tôi muốn nhìn vào một phân phối (%) hoặc trung bình nơi các cá nhân rơi vào ma trận. Có vẻ trực quan hơn nhiều.
nfmcclure
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.