Ưu điểm của AUC so với độ chính xác tiêu chuẩn


64

Tôi đã bắt đầu nhìn vào khu vực dưới đường cong (AUC) và hơi bối rối về tính hữu dụng của nó. Khi lần đầu tiên giải thích cho tôi, AUC dường như là một thước đo hiệu suất tuyệt vời nhưng trong nghiên cứu của tôi, tôi thấy rằng một số người cho rằng lợi thế của nó chủ yếu là ở chỗ tốt nhất là bắt các mô hình 'may mắn' với số đo chính xác tiêu chuẩn cao và AUC thấp .

Vì vậy, tôi nên tránh dựa vào AUC để xác nhận các mô hình hoặc kết hợp sẽ là tốt nhất? Cảm ơn tất cả sự giúp đỡ của bạn.


5
Hãy xem xét một vấn đề rất mất cân bằng. Đó là nơi ROC AUC rất phổ biến, vì đường cong cân bằng các kích cỡ lớp học. Thật dễ dàng để đạt được độ chính xác 99% trên một tập dữ liệu trong đó 99% đối tượng nằm trong cùng một lớp.
Anony-Mousse

3
"Mục tiêu ngầm của AUC là xử lý các tình huống trong đó bạn có phân phối mẫu rất sai lệch và không muốn quá phù hợp với một lớp duy nhất." Tôi nghĩ rằng những tình huống này là nơi AUC thực hiện kém và chính xác - thu hồi đồ thị / khu vực dưới chúng được sử dụng.
JenSCDC

@JenSCDC, Từ kinh nghiệm của tôi trong những tình huống này, AUC hoạt động tốt và như indico mô tả bên dưới, đó là từ đường cong ROC mà bạn có được khu vực đó. Biểu đồ PR cũng hữu ích (lưu ý rằng Recall giống với TPR, một trong các trục trong ROC) nhưng Precision không hoàn toàn giống với FPR nên âm mưu PR có liên quan đến ROC nhưng không giống nhau. Nguồn: stats.stackexchange.com/questions/132777/ Kẻ và số liệu thống kê.stackexchange.com/questions/7207/ trộm
alexey

Câu trả lời:


59

Câu hỏi thực sự tuyệt vời, và một câu hỏi mà tôi thấy rằng hầu hết mọi người không thực sự hiểu ở mức độ trực quan. AUCtrong thực tế thường được ưa thích hơn độ chính xác để phân loại nhị phân vì một số lý do khác nhau. Trước hết, hãy nói về chính xác những gì AUC. Thành thật mà nói, vì là một trong những thước đo hiệu quả được sử dụng rộng rãi nhất, thật đáng ngạc nhiên khi tìm hiểu chính xác cách thức AUChoạt động.

AUClà viết tắt của Area Under the Curve, đường cong nào bạn yêu cầu? Vâng, đó sẽ là ROCđường cong. ROClà viết tắt của đặc tính hoạt động của người nhận , thực ra hơi không trực quan. Mục tiêu ngầm định AUClà xử lý các tình huống trong đó bạn có phân phối mẫu rất sai lệch và không muốn phù hợp với một lớp duy nhất.

Một ví dụ tuyệt vời là trong phát hiện thư rác. Nói chung, các bộ dữ liệu thư rác thiên về MẠNH hoặc không phải là thư rác. Nếu bộ dữ liệu của bạn là 90% ham, bạn có thể có được độ chính xác khá tốt bằng cách chỉ nói rằng mỗi email đều bị ham, đó rõ ràng là thứ chỉ ra một bộ phân loại không lý tưởng. Hãy bắt đầu với một vài số liệu hữu ích hơn một chút cho chúng tôi, cụ thể là tỷ lệ dương thực sự ( TPR) và tỷ lệ dương tính giả ( FPR):

Trục ROC

Bây giờ trong biểu đồ này, TPRcụ thể là tỷ lệ dương thực sự với tất cả các dương, và FPRlà tỷ lệ dương tính giả với tất cả các phủ định. (Hãy nhớ rằng, điều này chỉ dành cho phân loại nhị phân.) Trên một biểu đồ như thế này, sẽ khá đơn giản để tìm ra rằng dự đoán của tất cả 0 hoặc tất cả 1 sẽ dẫn đến các điểm (0,0)(1,1)tương ứng. Nếu bạn vẽ một dòng qua những dòng này, bạn sẽ nhận được một cái gì đó như thế này:

Kiểu như một hình tam giác

Về cơ bản trông giống như một đường chéo (nó là), và bằng một số hình học dễ dàng, bạn có thể thấy rằng AUCmô hình như vậy sẽ là 0.5(chiều cao và cơ sở đều là 1). Tương tự, nếu bạn dự đoán một loại ngẫu nhiên là 0 và 1, giả sử 90% 1, bạn có thể nhận được điểm (0.9, 0.9), một lần nữa rơi dọc theo đường chéo đó.

Bây giờ đến phần thú vị. Điều gì xảy ra nếu chúng ta không chỉ dự đoán 0 và 1? Điều gì sẽ xảy ra nếu thay vào đó, chúng tôi muốn nói rằng, về mặt lý thuyết, chúng tôi sẽ thiết lập một điểm cắt, trên đó mọi kết quả là 1 và dưới đó mọi kết quả là 0. Điều này có nghĩa là ở thái cực bạn sẽ gặp tình huống ban đầu khi bạn có tất cả 0 và tất cả 1 (ở mức cắt 0 và 1 tương ứng), nhưng cũng có một loạt các trạng thái trung gian nằm trong 1x1biểu đồ chứa của bạn ROC. Trong thực tế, bạn nhận được một cái gì đó như thế này: Lịch sự của Wikipedia

Về cơ bản, những gì bạn thực sự nhận được khi bạn làm AUCquá chính xác là điều sẽ khiến mọi người không khuyến khích những người mẫu đại diện, nhưng không phân biệt đối xử, vì điều này sẽ chỉ thực sự chọn những mô hình đạt được tỷ lệ dương và sai thực sự mà là đáng kể trên cơ hội ngẫu nhiên, không được đảm bảo cho độ chính xác.


Bạn có thể thêm cách AUC so sánh với điểm F1 không?
Dan

7
@ Dan- Sự khác biệt lớn nhất là bạn không phải đặt ngưỡng quyết định với AUC (về cơ bản là đo xác suất thư rác được xếp hạng trên mức không phải thư rác). Điểm F1 yêu cầu ngưỡng quyết định. Tất nhiên, bạn luôn có thể đặt ngưỡng quyết định làm tham số vận hành và vẽ đồ thị điểm F1.
DSea

17

AUC và độ chính xác là những thứ khá khác nhau. AUC áp dụng cho các phân loại nhị phân có một số khái niệm về ngưỡng quyết định trong nội bộ. Ví dụ, hồi quy logistic trả về giá trị dương / âm tùy thuộc vào hàm logistic có lớn hơn / nhỏ hơn ngưỡng hay không, thường là 0,5 theo mặc định. Khi bạn chọn ngưỡng của mình, bạn có một bộ phân loại. Bạn phải chọn một.

Đối với một lựa chọn ngưỡng nhất định, bạn có thể tính toán độ chính xác, là tỷ lệ của các giá trị dương và âm thực trong toàn bộ tập dữ liệu.

AUC đo lường tỷ lệ dương thực sự (thu hồi) và tỷ lệ dương tính giả đánh đổi như thế nào, vì vậy theo nghĩa đó, nó đã đo lường một thứ khác. Quan trọng hơn, AUC không phải là một hàm của ngưỡng. Đây là một đánh giá của bộ phân loại vì ngưỡng thay đổi trên tất cả các giá trị có thể. Đó là một số liệu rộng hơn, kiểm tra chất lượng của giá trị nội bộ mà bộ phân loại tạo ra và sau đó so sánh với một ngưỡng. Nó không kiểm tra chất lượng của một lựa chọn ngưỡng cụ thể.

AUC có cách hiểu khác nhau và đó cũng là xác suất mà một ví dụ tích cực được chọn ngẫu nhiên được xếp hạng trên một ví dụ tiêu cực được chọn ngẫu nhiên, theo giá trị bên trong của bộ phân loại cho các ví dụ.

AUC có thể tính toán được ngay cả khi bạn có một thuật toán chỉ tạo ra thứ hạng trên các ví dụ. AUC không thể tính toán được nếu bạn thực sự chỉ có một bộ phân loại hộp đen và không phải là một bộ có ngưỡng bên trong. Chúng thường chỉ ra cái nào trong hai cái thậm chí có sẵn cho một vấn đề trong tay.

AUC, theo tôi là một biện pháp toàn diện hơn, mặc dù áp dụng trong ít tình huống hơn. Nó không hoàn toàn tốt hơn độ chính xác; nó khác nhau. Nó phụ thuộc một phần vào việc bạn có quan tâm nhiều hơn về mặt tích cực thực sự, tiêu cực giả, v.v.

Biện pháp F giống như độ chính xác theo nghĩa đó là chức năng của trình phân loại và cài đặt ngưỡng của nó. Nhưng nó đo độ chính xác so với thu hồi (tỷ lệ dương thực sự), không giống như ở trên.


Do đó, nếu tôi muốn dự đoán kết quả nhị phân cho một tập hợp các quan sát cho kích thước nhóm nào bằng nhau (cụ thể là nghiên cứu kiểm soát trường hợp), tôi có đạt được gì khi sử dụng AUC trên độ chính xác không? Hay việc sử dụng AUC điển hình trong các nghiên cứu như vậy chỉ là do quy ước?
Joe

AUC đo lường mức độ phân loại xếp hạng các trường hợp tích cực cao hơn so với trường hợp tiêu cực, trong khi độ chính xác đo lường đúng so với dương tính giả cho một ngưỡng quyết định nhất định. Tôi cho rằng nó phụ thuộc vào những gì phù hợp với những gì bạn muốn đánh giá. AUC được cho là thước đo toàn diện hơn của phân loại độc lập với lựa chọn ngưỡng, nhưng, bất kỳ việc sử dụng phân loại thực tế nào cũng sẽ phụ thuộc vào việc chọn ngưỡng để phân loại
Sean Owen

4

Tôi muốn tham khảo cách bạn nên chọn một thước đo hiệu suất. Trước đó tôi sẽ đề cập đến câu hỏi cụ thể về độ chính xác và AUC.

Như đã trả lời trước đây, trên bộ dữ liệu mất cân bằng sử dụng phần lớn chạy như một bộ phân loại sẽ dẫn đến độ chính xác cao, điều gì sẽ làm cho nó trở thành một biện pháp gây hiểu lầm. AUC tổng hợp trên ngưỡng tin cậy, tốt và xấu. Đối với tốt, bạn có được một kết quả trọng lượng cho tất cả các mức độ tự tin. Điều tệ hại là bạn thường chỉ quan tâm đến mức độ tự tin mà bạn sẽ thực sự sử dụng và phần còn lại là không liên quan.

Tuy nhiên, tôi muốn nhận xét về việc chọn một thước đo hiệu suất phù hợp cho một mô hình. Bạn nên so sánh một mô hình theo mục tiêu của nó. Mục tiêu của một mô hình không phải là một câu hỏi về máy học hay thống kê, đó là câu hỏi về lĩnh vực kinh doanh và nhu cầu của nó.

Nếu bạn đang đào vàng (một kịch bản mà bạn có lợi ích rất lớn từ một dương thực sự, chi phí không quá cao của một dương tính giả) thì thu hồi là một biện pháp tốt.

Nếu bạn đang cố gắng quyết định có nên thực hiện một quy trình y tế phức tạp trên người hay không (chi phí cao cho dương tính giả, hy vọng chi phí thấp cho âm tính giả), độ chính xác là biện pháp bạn nên sử dụng.

Có rất nhiều biện pháp bạn có thể sử dụng. Bạn cũng có thể kết hợp chúng theo nhiều cách khác nhau.

Tuy nhiên, không có biện pháp "tốt nhất" phổ quát. Có một mô hình tốt nhất cho nhu cầu của bạn, một mô hình tối đa hóa nó sẽ tối đa hóa lợi ích của bạn.

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.