Ưu điểm của đường cong ROC


15

Những lợi thế của các đường cong ROC là gì?

Ví dụ tôi đang phân loại một số hình ảnh là một vấn đề phân loại nhị phân. Tôi đã trích xuất khoảng 500 tính năng và áp dụng thuật toán chọn tính năng để chọn một bộ tính năng sau đó tôi áp dụng SVM để phân loại. Trong trường hợp này làm thế nào tôi có thể có được một đường cong ROC? Tôi có nên thay đổi các giá trị ngưỡng của thuật toán lựa chọn tính năng của mình và nhận được độ nhạy và độ đặc hiệu của đầu ra để vẽ đường cong ROC không?

Trong trường hợp của tôi, mục đích của việc tạo đường cong ROC là gì?


2
"Giới thiệu về phân tích ROC" của Tom Fawcett đã giúp tôi hiểu rõ hơn về các đường cong ROC. Bạn có thể thích nó nếu bạn đang tìm kiếm tài liệu bổ sung về chủ đề này.
Alexander

Được rồi nhưng bạn sẽ làm gì để so sánh hai phân loại? Nếu họ sử dụng các ngưỡng sao cho độ đặc hiệu cũng như độ nhạy không khớp rất chặt chẽ, tôi không nghĩ rằng có thể dễ dàng xử lý mà không cần nhìn vào các bài thơ khác trên ROC.
Michael R. Chernick

Rất hiếm khi thích hợp để phát triển các trình phân loại và lỗi phân loại là một quy tắc chấm điểm không đúng. Có nhiều phương pháp công suất cao để so sánh chất lượng của các dự đoán thực sự và chúng trực quan hơn các đường cong ROC. Xem ví dụ này .
Frank Harrell

Câu trả lời:


13

Nhiều thuật toán phân loại nhị phân tính toán một loại điểm phân loại (đôi khi nhưng không phải lúc nào đây cũng là xác suất ở trạng thái mục tiêu) và chúng phân loại dựa trên việc điểm số có vượt quá ngưỡng nhất định hay không. Xem đường cong ROC cho phép bạn thấy sự đánh đổi giữa độ nhạy và độ đặc hiệu cho tất cả các ngưỡng có thể thay vì chỉ được chọn bởi kỹ thuật mô hình hóa. Các mục tiêu phân loại khác nhau có thể làm cho một điểm trên đường cong phù hợp hơn cho một nhiệm vụ và một điểm khác phù hợp hơn cho một nhiệm vụ khác, vì vậy nhìn vào đường cong ROC là một cách để đánh giá mô hình độc lập với sự lựa chọn ngưỡng.


Cảm ơn bạn đã trả lời. Nó thực sự hữu ích. Dựa vào đường cong ROC có cách nào để xác định ngưỡng không? Và trong trường hợp của tôi, làm thế nào tôi có thể đạt được một điểm trong không gian ROC cho độ nhạy = 100% hoặc độ đặc hiệu = 100%. bởi vì tôi đang thay đổi ngưỡng của thuật toán lựa chọn tính năng.
dùng570593

1
Đường cong ROC cho bạn thấy độ nhạy và độ đặc hiệu ở tất cả các ngưỡng có thể, vì vậy nếu bạn tìm thấy một điểm thể hiện sự đánh đổi phù hợp, bạn có thể chọn ngưỡng đi với điểm đó trên đường cong.
Michael McGowan

Có cách nào tự động để chọn đúng sự đánh đổi hay tôi nên tự mình chọn sự đánh đổi? Và trong trường hợp của tôi, làm thế nào tôi có thể đạt được một điểm trong không gian ROC cho độ nhạy = 100% hoặc độ đặc hiệu = 100%. bởi vì tôi đang thay đổi ngưỡng của thuật toán lựa chọn tính năng.
dùng570593

2
Nếu bạn có một tiêu chí được xác định rõ (ví dụ độ chính xác tối đa hóa) thì điều này có thể được tự động hóa. Nhưng một sự đánh đổi tốt cho một vấn đề có thể là tệ hại cho một vấn đề khác.
Michael McGowan

2
Độ nhạy hoặc độ đặc hiệu 100% có thể đạt được một cách tầm thường bằng cách đặt ngưỡng của bạn ở giá trị tối thiểu hoặc tối đa ... đó có thực sự là điều bạn muốn?
Michael McGowan

11

Các đường cong ROC không có nhiều thông tin trong 99% các trường hợp tôi đã thấy trong vài năm qua. Chúng dường như được coi là bắt buộc bởi nhiều nhà thống kê và thậm chí nhiều học viên máy học hơn. Và chắc chắn rằng vấn đề của bạn thực sự là một vấn đề phân loại và không phải là một vấn đề ước tính rủi ro. Trọng tâm của vấn đề với các đường cong ROC là họ mời người dùng sử dụng các điểm cắt cho các biến liên tục và họ sử dụng xác suất ngược, nghĩa là xác suất của các sự kiện theo thứ tự ngược thời gian (độ nhạy và độ đặc hiệu). Các đường cong ROC không thể được sử dụng để tìm ra sự đánh đổi tối ưu trừ những trường hợp rất đặc biệt khi người dùng quy tắc quyết định thoái vị chức năng (chi phí; tiện ích) của họ cho nhà phân tích.


Tôi không hoàn toàn đồng ý với Frank. Tôi nghĩ rằng việc sử dụng AUC của ROC thường là một vấn đề. Nhưng về mặt chất lượng tôi nghĩ rằng nó có thể hữu ích để so sánh các thuật toán. Chỉ nhìn vào tính đặc hiệu và độ nhạy cảm tại một điểm không gần như là thông tin. Ngoài ra tôi không chắc chắn rằng câu trả lời của anh ấy thực sự giải quyết được câu hỏi bởi vì OP thực sự muốn biết trong trường hợp của anh ấy tại sao nó rơi vào 99% trường hợp không có thông tin hoặc 1% là không phổ biến.
Michael R. Chernick

R2

R2

1
@FrankHarrell Nhưng làm thế nào để bạn so sánh hai thuật toán khi chúng không khớp nhau rất chặt chẽ về tính đặc hiệu và độ nhạy?
Michael R. Chernick

7
R2χ2R2

1

Sau khi tạo đường cong ROC, AUC (diện tích dưới đường cong) có thể được tính toán. AUC là độ chính xác của bài kiểm tra qua nhiều ngưỡng. AUC = 1 có nghĩa là bài kiểm tra là hoàn hảo. AUC = .5 có nghĩa là thực hiện cơ hội phân loại nhị phân.

Nếu có nhiều mô hình, AUC cung cấp một phép đo duy nhất để so sánh giữa các mô hình khác nhau. Luôn có sự đánh đổi với bất kỳ biện pháp nào nhưng AUC là một nơi tốt để bắt đầu.


1
Tôi nghĩ rằng đây là suy nghĩ nguy hiểm. AUROC chỉ hữu ích IMHO vì trong nhị phânY trường hợp nó bằng xác suất phù hợp (c-mục lục; Thống kê Wilcoxon; Somalia 'Dxyhệ số tương quan xếp hạng). Vẽ toàn bộ ROC dẫn đến suy nghĩ phân đôi.
Frank Harrell

0

AUC không so sánh các lớp thực so với dự đoán với nhau. Nó không nhìn vào lớp dự đoán, mà là điểm dự đoán hoặc xác suất. Bạn có thể thực hiện dự đoán của lớp bằng cách áp dụng điểm cắt cho điểm này, giả sử, mọi mẫu có điểm dưới 0,5 được phân loại là âm. Nhưng ROC đến trước khi điều đó xảy ra. Nó đang làm việc với điểm số / xác suất của lớp.

Nó lấy các điểm số này và sắp xếp tất cả các mẫu theo điểm số đó. Bây giờ, bất cứ khi nào bạn tìm thấy một mẫu dương, đường cong ROC sẽ thực hiện một bước lên (dọc theo trục y). Bất cứ khi nào bạn tìm thấy một mẫu âm bạn di chuyển sang phải (dọc theo trục x). Nếu điểm số đó là khác nhau đối với hai lớp, các mẫu dương tính sẽ đến trước (thường). Điều đó có nghĩa là bạn thực hiện nhiều bước lên hơn bên phải. Tiếp tục xuống danh sách các mẫu âm tính sẽ đến, vì vậy bạn di chuyển sang trái. Khi bạn thông qua toàn bộ danh sách các mẫu bạn đạt được tại tọa độ (1,1) tương ứng với 100% mẫu dương tính và 100% mẫu âm tính.

Nếu điểm số tách biệt hoàn toàn dương với các mẫu âm bạn chuyển tất cả từ (x = 0, y = 0) sang (1,0) và sau đó từ đó sang (1, 1). Vậy, diện tích dưới đường cong là 1.

Nếu điểm của bạn có cùng phân phối cho các mẫu dương tính và âm tính thì xác suất tìm thấy mẫu dương tính hoặc âm tính trong danh sách được sắp xếp là bằng nhau và do đó xác suất di chuyển lên hoặc sang trái trong đường cong ROC là bằng nhau. Đó là lý do tại sao bạn di chuyển dọc theo đường chéo, bởi vì về cơ bản bạn di chuyển lên và sang trái, và lên và sang trái, v.v ... điều đó mang lại giá trị AROC khoảng 0,5.

Trong trường hợp của một tập dữ liệu không cân bằng, các bước là khác nhau. Vì vậy, bạn thực hiện các bước nhỏ hơn ở bên trái (nếu bạn có nhiều mẫu âm tính hơn). Đó là lý do tại sao điểm số ít nhiều độc lập với sự mất cân bằng.

Vì vậy, với đường cong ROC, bạn có thể hình dung cách các mẫu của bạn được phân tách và khu vực dưới đường cong có thể là một thước đo rất tốt để đo hiệu suất của thuật toán phân loại nhị phân hoặc bất kỳ biến nào có thể được sử dụng để phân tách các lớp.

enter image description here

Hình vẽ cho thấy các bản phân phối giống nhau với các cỡ mẫu khác nhau. Vùng màu đen cho thấy đường cong ROC của hỗn hợp ngẫu nhiên của các mẫu dương tính và âm tính sẽ được mong đợi.


Những biểu đồ này không cung cấp cái nhìn sâu sắc và có mực đặc biệt cao: tỷ lệ thông tin IMHO. Bám sát với điểm chính xác phù hợp: fharrell.com/post/ class
Frank Harrell

Có nhiều thông tin hơn trong các biểu đồ này so với điểm chính xác một chiều. Điểm giống nhau có thể đến từ nhiều bản phân phối khác nhau. Bạn có nhận ra sớm? Bạn có nhiều lớp mẫu dương tính có hành vi khác nhau không? Là kết quả của bạn có ý nghĩa thống kê? Tất cả những câu hỏi có thể rõ ràng để trả lời bằng cách nhìn vào các biểu đồ và không thể giải quyết với một điểm chính xác duy nhất.
Sören

Tôi nghiêm túc đặt câu hỏi rằng người tiêu dùng và nhà phân tích có thể hiểu rõ hơn về những đường cong gần như trực quan như hiển thị đường cong hiệu chuẩn được phủ bằng biểu đồ có độ phân giải cao hiển thị các giá trị dự đoán. Và mỗi điểm trên đường cong ROC là một điểm chính xác không chính xác.
Frank Harrell

Người mới bắt đầu thường có một thời gian khó hiểu những đường cong này. Do đó, tôi không nhất thiết phải giới thiệu nó cho người tiêu dùng để quảng cáo sản phẩm của bạn. Tôi nghĩ rằng, có bạn muốn một cái gì đó đơn giản hơn. Các đường cong là nhiều hơn các điểm riêng lẻ mặc dù.
Sören
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.