Kiểm tra xem cải thiện độ chính xác có đáng kể không


14

Giả sử tôi có một thuật toán phân loại mọi thứ thành hai loại. Tôi có thể đo lường độ chính xác của thuật toán khi nói 1000 điều thử nghiệm - giả sử 80% những điều được phân loại chính xác.

Giả sử tôi sửa đổi thuật toán bằng cách nào đó để 81% mọi thứ được phân loại chính xác.

Số liệu thống kê có thể cho tôi biết bất cứ điều gì về việc cải thiện thuật toán của tôi có ý nghĩa thống kê không? Là khái niệm có ý nghĩa thống kê có liên quan trong tình huống này? Vui lòng chỉ cho tôi theo hướng của một số tài nguyên có thể có liên quan.

Cảm ơn nhiều.

Câu trả lời:


3

Tóm lại, vâng. Ý nghĩa thống kê có liên quan ở đây. Bạn đang xem xét lỗi phân loại (hoặc, như bạn đưa ra ở đây độ chính xác = 1- lỗi phân loại). Nếu bạn so sánh các phân loại trên 1000 mẫu khác nhau, bạn có thể chỉ cần sử dụng thử nghiệm nhị thức, nếu đó là 1000 mẫu giống nhau, bạn cần sử dụng thử nghiệm của McNemar. Lưu ý rằng chỉ cần kiểm tra lỗi phân loại theo cách này là tối ưu vì bạn cho rằng lỗi phân loại là độc lập với lớp thực hoặc tỷ lệ của các lớp thực là giống nhau trên các ứng dụng tiềm năng của bạn.

Điều này có nghĩa là bạn nên xem xét các biện pháp như tỷ lệ dương thực sự, tỷ lệ dương tính giả hoặc AUC. Biện pháp nào để sử dụng và cách kiểm tra nó, phụ thuộc vào đầu ra của trình phân tích cổ điển của bạn. Nó có thể chỉ là một lớp hoặc nó có thể là một số liên tục đưa ra xác suất thuộc về một lớp nhất định.


Đó là tuyệt vời, cảm ơn. Tôi thực sự đang xem xét phân tích tình cảm của các tài liệu văn bản - phân loại chúng thành "tích cực" hoặc "tiêu cực" - có rất nhiều công việc được công bố trong đó mọi người thay đổi lựa chọn tính năng theo cách tinh tế, với cải thiện độ chính xác 1% - và viết một bài báo về điều này. Tôi tự hỏi liệu trong nhiều trường hợp này, các tác giả đã không đưa ra bằng chứng cho sự cải thiện đáng kể về mặt thống kê về độ chính xác phân loại.
Ben

Thử nghiệm của McNemar cho bạn biết liệu các mô hình có khác nhau đáng kể hay không, điều này không phải lúc nào cũng ngụ ý sự khác biệt về độ chính xác là đáng kể (các mô hình khác nhau có thể có cùng độ chính xác). Để kiểm tra mức độ quan trọng của việc tăng độ chính xác trực tiếp, bạn muốn thực hiện nhiều ước tính chính xác để ánh xạ các phân phối của độ chính xác và do đó ước tính nếu chúng khác nhau. Điều này có nghĩa là đào tạo mô hình của bạn nhiều lần.
drevicko

3

Như Erik đã nói, có bạn có thể kiểm tra điều này cho ý nghĩa thống kê. Tuy nhiên, hãy suy nghĩ một chút chính xác những gì bạn muốn kiểm tra. Tôi nghĩ rằng một câu hỏi thú vị hơn có thể hỏi làm thế nào có khả năng nó là bị cáo buộc "cải thiện" thuật toán là tốt hơn (hoặc có ý nghĩa tốt hơn) so với bản gốc, cho các dữ liệu của một quan sát 1% chênh lệch. Đặt câu hỏi về "ý nghĩa thống kê" có xu hướng dẫn đến loại câu hỏi ngược lại: Cho rằng hai thuật toán là như nhau, có ít hơn 5% cơ hội quan sát sự cải thiện ít nhất là như vậy không?

Đối với tôi, câu hỏi sau là ngược, nhưng bằng cách nào đó nó đã trở thành tiêu chuẩn. Bạn có thể kiểm tra Wikipedia về tranh cãi trong kiểm tra giả thuyết thống kê . Sau đó bạn có thể quan tâm đến suy luận Bayes . Nếu bạn thực sự muốn tham gia phân tích dữ liệu Bayes, bạn có thể xem "Phân tích dữ liệu Bayes" của Gelman và cộng sự hoặc kiểm tra câu hỏi này .


2

Áp dụng câu trả lời của Erik cho Michael's :

Bạn có thể thực hiện cùng một kiểu suy nghĩ mà Erik đề cập đến khi chọn thước đo hiệu suất.

Tôi thấy hữu ích khi tham khảo các biện pháp khác nhau bằng các câu hỏi mà họ trả lời (ở đây bằng ngôn ngữ chẩn đoán y khoa mà tôi quen thuộc nhất - nhưng có lẽ bạn chỉ có thể thay thế bệnh nhân bằng văn bản và bệnh bằng thư rác ;-)):

  • Độ nhạy: cho bệnh nhân thực sự mắc bệnh, khả năng phân loại nhận ra điều đó như thế nào?

  • Tính đặc hiệu: do bệnh nhân thực sự không mắc bệnh, khả năng phân loại nhận ra điều đó như thế nào?

  • Giá trị tiên đoán tích cực: đưa ra phân loại tuyên bố bệnh nhân bị bệnh, khả năng bệnh nhân thực sự mắc bệnh như thế nào?

  • Giá trị tiên đoán tiêu cực: đưa ra phân loại tuyên bố bệnh nhân không bị bệnh, bệnh nhân thực sự không mắc bệnh như thế nào?

Như bạn thấy, các giá trị tiên đoán là điều mà các bác sĩ và bệnh nhân thực sự quan tâm. Tuy nhiên, hầu hết mọi người đều mô tả đặc điểm phân loại của mình bằng độ nhạy và độ đặc hiệu. Lý do là các giá trị tiên đoán cần phải tính đến tỷ lệ lưu hành của bệnh và điều đó có thể thay đổi lớn (thứ tự cường độ!) Cho các loại bệnh nhân khác nhau.

Thêm về chủ đề cho câu hỏi của bạn:

Tôi cá là bạn đúng khi lo lắng.

Lấy cả hai kịch bản của Erik làm ví dụ:

Dưới đây là các mẫu thử nghiệm độc lập:

> binom.test (x = 810, n = 1000, p = 0.8)

    Exact binomial test

data:  810 and 1000 
number of successes = 810, number of trials = 1000, p-value = 0.4526
alternative hypothesis: true probability of success is not equal to 0.8 
95 percent confidence interval:
 0.7842863 0.8338735 
sample estimates:
probability of success 
                  0.81 

(lưu ý rằng thử nghiệm này là hai mặt, giả sử hai phân loại sẽ được công bố ngay cả khi kết quả ngược lại ...)

Đây là tình huống tốt nhất có thể xảy ra: thử nghiệm được ghép nối và trình phân loại mới phù hợp với tất cả các mẫu, mẫu cũ là đúng, cộng thêm 10:

> ## mc.nemar: best possible case
> oldclassif <- c (rep ("correct", 800), rep ("wrong", 200))
> newclassif <- c (rep ("correct", 810), rep ("wrong", 190))
> table (oldclassif, newclassif)
          newclassif
oldclassif correct wrong
   correct     800     0
   wrong        10   190
> mcnemar.test (oldclassif, newclassif)

    McNemar's Chi-squared test with continuity correction

data:  oldclassif and newclassif 
McNemar's chi-squared = 8.1, df = 1, p-value = 0.004427

(giá trị p nằm dưới 0,05 ma thuật miễn là không quá 10 mẫu trong số 1000 được dự đoán khác nhau bởi hai phân loại).

Ngay cả khi giá trị p là câu trả lời đúng cho câu hỏi sai, vẫn có dấu hiệu cho thấy đó là một nơi chật hẹp.

Tuy nhiên, có tính đến thực tiễn khoa học thông thường, tức là một số tính năng mới chưa được biết đến (chưa được công bố) đã được thử nghiệm và chỉ có tính năng hoạt động tốt hơn một chút được công bố, nơi này thậm chí còn chặt chẽ hơn. Và sau đó, trình phân loại 80% có thể chỉ là sự kế thừa của một số phân loại 79% ...

Nếu bạn thích đọc tiếng Đức, có một số cuốn sách thực sự hay của Beck-Bornhold và Dubben. Nếu tôi nhớ chính xác, Mit một Wahrscheinlichkeit grenzender Sicherheit có một cuộc thảo luận rất hay về những vấn đề này. (Tôi không biết có phiên bản tiếng Anh hay không, bản dịch theo nghĩa đen của tiêu đề là "Với sự chắc chắn giáp với xác suất")


1

Tôi đặc biệt không khuyến khích sử dụng bất kỳ quy tắc chấm điểm không liên tục nào (điểm chính xác như độ nhạy, độ đặc hiệu, tỷ lệ được phân loại chính xác khi tối ưu hóa kết quả trong mô hình không có thật) và thay vào đó sử dụng các thử nghiệm tỷ lệ khả năng hoặc thử nghiệm F một phần để tăng giá trị mới biến.

Một trong nhiều cách để xem các vấn đề với tỷ lệ được phân loại chính xác là nếu tỷ lệ tổng thể trong một danh mục là 0,9 thì bạn sẽ đúng 0,9 bằng cách bỏ qua dữ liệu và phân loại mọi quan sát là trong danh mục đó.


2
Có đôi khi độ chính xác là một số liệu tệ hại để sử dụng, và đôi khi nó là một phương pháp tuyệt vời; nó phụ thuộc Điều đó dường như là hoàn toàn tiếp tuyến với những gì câu hỏi về mặc dù. Câu hỏi là về việc xác định liệu một thuật toán mới có tốt hơn theo một số liệu đã biết hay không, về việc chọn một số liệu ở vị trí đầu tiên.
Michael McGowan

Tôi nghĩ rằng chúng ta cần mô tả cẩn thận các mục tiêu và chức năng tiện ích và nếu chúng ta không muốn cung cấp các chức năng tiện ích, chúng ta cần sao lưu cho chức năng tiện ích được giả định một cách hiệu quả khi phân loại được thực hiện.
Frank Harrell

Bất kỳ lý do cho rất nhiều downvote ẩn danh?
chl

2
@chl Tôi nghĩ rằng tôi đã giải thích rằng tôi đã từ chối vì không thực sự trả lời câu hỏi được hỏi.
Michael McGowan

@MichaelMcGowan Hội chợ đủ.
chl
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.