Nhớ lại và chính xác trong phân loại


40

Tôi đọc một số định nghĩa về thu hồi và độ chính xác, mặc dù đó là mỗi lần trong bối cảnh truy xuất thông tin. Tôi đã tự hỏi nếu ai đó có thể giải thích điều này nhiều hơn một chút trong bối cảnh phân loại và có thể minh họa một số ví dụ. Ví dụ, tôi có một bộ phân loại nhị phân cho tôi độ chính xác 60% và thu hồi 95%, đây có phải là một bộ phân loại tốt không?

Có lẽ để giúp mục tiêu của tôi nhiều hơn một chút, phân loại tốt nhất theo bạn là gì? (tập dữ liệu bị mất cân bằng. Lớp đa số có gấp đôi số lượng ví dụ của lớp thiểu số)

Cá nhân tôi muốn nói 5 vì khu vực dưới đường cong toán tử máy thu.

(như bạn có thể thấy ở đây, mô hình 8 có độ chính xác thấp, độ thu hồi rất cao, nhưng một trong những AUC_ROC thấp nhất, điều đó có làm cho nó trở thành một mô hình tốt không? hay là một mô hình xấu?)

nhập mô tả hình ảnh ở đây


chỉnh sửa:

Tôi có một tệp excel với nhiều thông tin hơn: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

Trong tài liệu này, khu vực dưới đường cong toán tử reciever có thể được tìm thấy và khu vực dưới đường cong thu hồi chính xác. Cùng với các lô.


6
Tại sao bỏ phiếu tiêu cực? Đây có vẻ như là một câu hỏi thú vị (chắc chắn một vài người nghĩ có thể trả lời).
Gala

Có bao nhiêu trường hợp thử nghiệm đã tham gia vào việc tính toán các biện pháp thực hiện? Ngoài ra, nếu bạn so sánh một số phân loại trên cùng một tập dữ liệu, bạn có thể sử dụng một thiết kế được ghép nối (có một số câu hỏi và câu trả lời xung quanh về CV thảo luận so sánh phân loại).
cbeleites hỗ trợ Monica

Tôi có 799 mẫu (nếu đó là ý của bạn trong trường hợp thử nghiệm). Mỗi lần tôi chia dữ liệu thành 10 tập con. 1 tập hợp con để kiểm tra các trình phân loại và phần còn lại để đào tạo các trình phân loại (Các trình phân loại được so sánh được đào tạo trên cùng một dữ liệu).
Olivier_s_j

Do các bộ phân loại xuất ra một giá trị nhị phân, hoặc chúng tạo ra một giá trị thực, và sau đó sử dụng một ngưỡng để biến nó thành nhị phân?
galath

Họ đầu ra đầu ra nhị phân.
Olivier_s_j

Câu trả lời:


40

Việc phân loại có tốt hay không thực sự phụ thuộc vào

  1. Những gì khác có sẵn cho vấn đề cụ thể của bạn. Rõ ràng, bạn muốn một bộ phân loại tốt hơn những dự đoán ngẫu nhiên hoặc ngây thơ (ví dụ: phân loại mọi thứ thuộc về loại phổ biến nhất) nhưng một số thứ dễ phân loại hơn những thứ khác.
  2. Chi phí của những sai lầm khác nhau (báo động sai so với phủ định sai) và tỷ lệ cơ sở. Điều rất quan trọng là phải phân biệt hai loại và tìm ra hậu quả vì có thể có một bộ phân loại với độ chính xác rất cao (phân loại chính xác trên một số mẫu thử nghiệm) hoàn toàn vô dụng trong thực tế (giả sử bạn đang cố gắng phát hiện một bệnh hiếm gặp hoặc một số hành vi tinh nghịch không phổ biến và có kế hoạch khởi động một số hành động khi bị phát hiện; Thử nghiệm quy mô lớn gây ra chi phí gì đó và hành động / biện pháp khắc phục cũng thường liên quan đến rủi ro / chi phí đáng kể vì vậy xem xét rằng hầu hết các lần truy cập sẽ là sai lầm, từ góc độ chi phí / lợi ích có thể tốt hơn để không làm gì).

Để hiểu mối liên hệ giữa thu hồi / độ chính xác một mặt và độ nhạy / độ đặc hiệu mặt khác, thật hữu ích khi quay lại ma trận nhầm lẫn:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Nhớ lại là TP / (TP + FN) trong khi độ chính xác là TP / (TP + FP). Điều này phản ánh bản chất của vấn đề: Trong truy xuất thông tin, bạn muốn xác định càng nhiều tài liệu có liên quan càng tốt (đó là thu hồi) và tránh phải phân loại rác (chính xác).

Sử dụng cùng một bảng, các số liệu phân loại truyền thống là độ nhạy (1) được xác định là độ đặc hiệu TP / (TP + FN) và (2) được xác định là TN / (FP + TN). Vì vậy, việc thu hồi và độ nhạy chỉ đơn giản là đồng nghĩa nhưng độ chính xác và độ đặc hiệu được xác định khác nhau (như thu hồi và độ nhạy, độ đặc hiệu được xác định theo tổng số cột trong khi độ chính xác liên quan đến tổng hàng). Độ chính xác đôi khi còn được gọi là giá trị dự đoán dương tính, hay, hiếm khi, tỷ lệ dương dương tính giả (nhưng xem câu trả lời của tôi về Mối quan hệ giữa dương tính thật, dương tính giả, âm tính giả và âm tính đúng về sự nhầm lẫn xung quanh định nghĩa về dương tính giả này tỷ lệ).

Điều thú vị là, các số liệu truy xuất thông tin không liên quan đến số lượng tiêu cực thực sự của YouTube. Điều này có ý nghĩa: Trong quá trình truy xuất thông tin, bạn không quan tâm đến việc phân loại chính xác các trường hợp tiêu cực theo từng se , bạn chỉ không muốn quá nhiều trong số chúng làm ô nhiễm kết quả của bạn (xem thêm Tại sao không nhớ lại có tính đến các tiêu cực thực sự? ).

Do sự khác biệt này, không thể đi từ độ đặc hiệu đến độ chính xác hay ngược lại nếu không có thêm thông tin, cụ thể là số lượng âm tính thực sự hoặc, thay vào đó, tỷ lệ chung của các trường hợp tích cực và tiêu cực. Tuy nhiên, đối với cùng một tập hợp / kiểm tra, độ đặc hiệu cao hơn luôn có nghĩa là độ chính xác tốt hơn để chúng có liên quan chặt chẽ với nhau.

Trong ngữ cảnh truy xuất thông tin, mục tiêu thường là xác định một số lượng nhỏ các kết quả khớp từ một số lượng lớn tài liệu. Do tính không đối xứng này, trên thực tế khó có được độ chính xác tốt hơn nhiều so với độ đặc hiệu tốt trong khi vẫn giữ độ nhạy / thu hồi không đổi. Vì hầu hết các tài liệu đều không liên quan, bạn có nhiều lần báo động sai hơn so với dương tính thật và các báo động sai này có thể tràn vào kết quả chính xác ngay cả khi trình phân loại có độ chính xác ấn tượng trên bộ kiểm tra cân bằng (thực tế đây là những gì đang diễn ra trong các tình huống tôi đã đề cập ở điểm 2 của tôi ở trên). Do đó, bạn thực sự cần tối ưu hóa độ chính xác và không chỉ để đảm bảo tính cụ thể tốt bởi vì ngay cả tỷ lệ trông ấn tượng như 99% trở lên đôi khi cũng không đủ để tránh nhiều báo động sai.

Thường có sự đánh đổi giữa độ nhạy và độ đặc hiệu (hoặc thu hồi và độ chính xác). Theo trực giác, nếu bạn tạo một mạng lưới rộng hơn, bạn sẽ phát hiện nhiều tài liệu / trường hợp tích cực hơn (độ nhạy / thu hồi cao hơn) nhưng bạn cũng sẽ nhận được nhiều báo động sai hơn (độ đặc hiệu thấp hơn và độ chính xác thấp hơn). Nếu bạn phân loại mọi thứ trong danh mục tích cực, bạn có khả năng thu hồi / độ nhạy 100%, độ chính xác kém và phân loại chủ yếu là vô dụng (chủ yếu là vì nếu bạn không có bất kỳ thông tin nào khác, thì hoàn toàn hợp lý khi cho rằng nó sẽ không mưa trên sa mạc và để hành động phù hợp để có thể đầu ra không phải là vô dụng, tất nhiên, bạn không cần một mô hình tinh vi cho điều đó).

Xem xét tất cả điều này, độ chính xác 60% và thu hồi 95% nghe có vẻ không tệ lắm, nhưng, một lần nữa, điều này thực sự phụ thuộc vào tên miền và những gì bạn định làm với trình phân loại này.


Một số thông tin bổ sung liên quan đến các bình luận / chỉnh sửa mới nhất:

Một lần nữa, hiệu suất bạn có thể mong đợi tùy thuộc vào chi tiết cụ thể (trong bối cảnh này, đây sẽ là những thứ như bộ cảm xúc chính xác có trong tập huấn luyện, chất lượng của hình ảnh / video, độ sáng, tắc, chuyển động đầu, video hành động hoặc tự phát, mô hình phụ thuộc vào con người hoặc độc lập với con người, v.v.) nhưng F1 trên 0 có vẻ tốt cho loại ứng dụng này ngay cả khi các mô hình tốt nhất có thể làm tốt hơn trên một số bộ dữ liệu [xem Valstar, MF, Mehu, M., Jiang, B., Pantic, M., & Scherer, K. (2012). Phân tích tổng hợp các thách thức nhận dạng biểu hiện khuôn mặt đầu tiên. Giao dịch của IEEE trên Hệ thống, Con người và Điều khiển học, Phần B: Điều khiển học, 42 (4), 966-979.]

Liệu một mô hình như vậy có hữu ích trong thực tế hay không là một câu hỏi hoàn toàn khác và rõ ràng phụ thuộc vào ứng dụng. Lưu ý rằng biểu hiện trên khuôn mặt, bản thân nó là một chủ đề phức tạp và đi từ một tập huấn luyện điển hình (biểu thức đặt ra) đến bất kỳ tình huống thực tế nào là không dễ dàng. Điều này khá lạc đề trên diễn đàn này nhưng nó sẽ gây ra hậu quả nghiêm trọng cho bất kỳ ứng dụng thực tế nào bạn có thể chiêm ngưỡng.

Cuối cùng, so sánh trực tiếp giữa các mô hình là một câu hỏi khác. Tôi cho rằng những con số bạn đã trình bày là không có sự khác biệt lớn giữa các mô hình (nếu bạn tham khảo bài báo tôi đã trích dẫn ở trên, phạm vi điểm F1 cho các mô hình nổi tiếng trong lĩnh vực này rộng hơn nhiều). Trong thực tế, các khía cạnh kỹ thuật (đơn giản / sẵn có của các thư viện tiêu chuẩn, tốc độ của các kỹ thuật khác nhau, v.v.) có thể sẽ quyết định mô hình nào được triển khai, ngoại trừ có thể nếu chi phí / lợi ích và tỷ lệ chung khiến bạn ưu tiên chính xác hoặc thu hồi.


Phân loại của tôi phân loại khuôn mặt thành cảm xúc tích cực hoặc tiêu cực. Tôi đã chạy một vài thuật toán phân loại với xác nhận chéo 10 lần và đôi khi tôi thậm chí còn nhận được 100%, mặc dù độ chính xác dành cho tất cả các phân loại gần như giống nhau (khoảng 65%). Tôi làm việc với một bộ dữ liệu không cân bằng (lớp đa số có gấp đôi số lượng mẫu của lớp thiểu số). Do đó, tôi nghĩ rằng điều này có thể có nghĩa là các mô hình của tôi không học được mô hình.
Olivier_s_j

1
@Gala: Sự khác biệt giữa 'báo động sai' và 'âm tính giả' là gì? Bạn có nghĩa là 'báo động sai' và 'dương tính giả'?
Matt O'Brien

@ MattO'Brien Báo động sai là dương tính giả (tức là hệ thống cho biết Cẩn thận! Hay hoặc Tìm thấy thứ gì đó! Rằng nhưng không có gì và không cần phải hành động, do đó, báo động giả sai). Có lẽ thuật ngữ này hơi khó hiểu, tôi sẽ xem lại câu trả lời sau.
Gala

@Ojtwist Nếu dương có xác suất trước 67%, thì bạn có thể thu hồi 100% và độ chính xác ~ 67% bằng cách dự đoán mọi thứ là dương.
Đánh dấu

21

Trong bối cảnh phân loại nhị phân, các ví dụ là tích cực hoặc tiêu cực.

  • Việc thu hồi giải quyết câu hỏi: "Đưa ra một ví dụ tích cực, phân loại sẽ phát hiện ra nó?"
  • Độ chính xác giải quyết câu hỏi: "Đưa ra một dự đoán tích cực từ bộ phân loại, làm thế nào nó có thể đúng?"

Vì vậy, nó phụ thuộc nếu tập trung vào các ví dụ tích cực hoặc dự đoán tích cực.

Người ta có thể nói "ở mức thu hồi ít nhất 90%, phân loại có độ chính xác cao nhất là 4." Nhưng nếu điều quan trọng là chất lượng của các dự đoán, trong số các phân loại có độ chính xác ít nhất 70%, thì tỷ lệ đạt được thu hồi cao nhất là 6.


6

Chuyển từ dự đoán liên tục, như được sử dụng trong điện toán khu vực ROC (xác suất phù hợp; chỉ số c) sang quy tắc chấm điểm không liên tục (độ chính xác phân loại lựa chọn bắt buộc) dẫn đến tất cả các loại dị thường và sẽ đánh lừa nhà phân tích để chọn sai dự đoán và / hoặc mô hình sai. Sẽ tốt hơn nhiều khi đưa ra quyết định dựa trên các quy tắc chấm điểm thích hợp (ví dụ: quy tắc tính điểm xác suất log / khả năng sai lệch / logarit; điểm Brier (điểm chính xác xác suất bậc hai)). Trong số nhiều ưu điểm của cách tiếp cận như vậy là việc xác định các quan sát trong đó phân loại là nguy hiểm cho sức khỏe của bạn do sự không chắc chắn gây ra bởi xác suất tầm trung.


Không phải các quy tắc tính điểm này chỉ áp dụng khi mô hình đưa ra kết quả xác suất?
Olivier_s_j

3
Bạn đã đề cập đến ROC AUC, yêu cầu đầu ra xác suất (hoặc một cái gì đó là một hàm đơn điệu giống nhau). Các phương pháp dự đoán tốt nhất có xác suất dưới mui xe.
Frank Harrell

DxyY

Vấn đề với việc sử dụng các biện pháp phân loại chính xác của ROC và không "lựa chọn bắt buộc" là chúng thực sự không có ý nghĩa gì trong bối cảnh ứng dụng mà người ta phải thực sự chọn một ngưỡng theo trường hợp kinh doanh. Ví dụ, trong một sản phẩm phát hiện tội phạm tài chính cho ngân hàng đầu tư, một doanh nghiệp chỉ có thể có nguồn nhân lực để điều tra 100 phân loại mỗi năm, điều này tạo ra một ngưỡng cố định cần được tối ưu hóa. Gini, khu vực ROC, v.v. sẽ không cho bạn biết mô hình tốt như thế nào ở ngưỡng này. ...
samthebest

2
Nó là rất hợp lý để có một giới hạn ngân sách về số lượng điều tra. Điều này không yêu cầu ngưỡng, không tối ưu hóa mới, không phân loại và không phân tích ROC. Người ta chỉ sắp xếp các quan sát theo thứ tự giảm dần rủi ro dự đoán và chọn 100 quan sát đầu tiên để điều tra. Điều này có liên quan đến một đường cong nâng được sử dụng trong tiếp thị.
Frank Harrell

5

Cả độ chính xác lẫn độ nhớ đều không nói lên toàn bộ câu chuyện, và thật khó để so sánh một người dự đoán với, giả sử, thu hồi 90% và độ chính xác 60% với một người dự đoán với, nói, chính xác 85% và nhớ lại 65% - tất nhiên, trừ khi bạn có chi phí / lợi ích liên quan đến mỗi trong số 4 ô (tp / fp / tn / fn) trong ma trận nhầm lẫn .

Một cách thú vị để có được một số duy nhất ( thành thạo , hay còn gọi là hệ số không chắc chắn ) mô tả hiệu suất phân loại là sử dụng lý thuyết thông tin :

proficiency = I(predicted,actual) / H(actual)

tức là, nó cho bạn biết phần nào của thông tin có trong dữ liệu thực tế đã được phân loại phục hồi. Đó là 0 nếu độ chính xác hoặc thu hồi là 0 và nó là 100% nếu (và chỉ khi) cả độ chính xác và thu hồi là 100%. Trong đó nó tương tự với điểm F1 , nhưng sự thành thạo có ý nghĩa lý thuyết thông tin rõ ràng trong khi F1 chỉ là trung bình hài hòa của hai số có nghĩa.

Bạn có thể tìm thấy giấy, bản trình bày và mã (Python) để tính toán số liệu Thông thạo tại đây: https://github.com/Mag từ / profencies-method


hấp dẫn! bạn có thể cho chúng tôi một ví dụ về cách tính thành thạo? gây ra công thức có vẻ kỳ lạ với tôi
cô đơn


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
Scortchi - Tái lập Monica
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.