Làm cách nào để xác định ngưỡng tối ưu cho trình phân loại và tạo đường cong ROC?


27

Giả sử chúng ta có một trình phân loại SVM, làm thế nào để chúng ta tạo đường cong ROC? (Giống như trên lý thuyết) (vì chúng tôi đang tạo TPR và FPR với mỗi ngưỡng). Và làm thế nào để chúng ta xác định ngưỡng tối ưu cho trình phân loại SVM này?


2
Có lẽ điều này sẽ giúp stackoverflow.com/questions/28719067/ từ
prashanth

Câu trả lời:


14

Sử dụng trình phân loại SVM để phân loại một tập hợp các ví dụ được chú thích và "một điểm" trên không gian ROC dựa trên một dự đoán của các ví dụ có thể được xác định. Giả sử số lượng ví dụ là 200, đầu tiên đếm số ví dụ của bốn trường hợp.

labeledtruelabeledfalsepredictedtrue7128predictedfalse5744


Sau đó tính toán TPR (Tỷ lệ dương thực sự) và FPR (Tỷ lệ dương tính giả). và Trên không gian ROC, trục x là FPR và trục y là TPR. Vì vậy, điểm được lấy. Để vẽ đường cong ROC, chỉ cần (1) Điều chỉnh một số giá trị ngưỡng kiểm soát số lượng ví dụ được gắn nhãn đúng hoặc saiF P R = 28 / ( 28 + 44 ) = 0,389 ( 0,389 , 0,5547 )TPR=71/(71+57)=0.5547FPR=28/(28+44)=0.3889(0.3889,0.5547)



Ví dụ: nếu nồng độ protein nhất định trên α% biểu thị một bệnh, các giá trị khác nhau của α mang lại các giá trị TPR và FPR cuối cùng khác nhau. Các giá trị ngưỡng có thể được xác định đơn giản theo cách tương tự như tìm kiếm lưới; các ví dụ đào tạo nhãn với các giá trị ngưỡng khác nhau, phân loại đào tạo với các bộ ví dụ được gắn nhãn khác nhau, chạy trình phân loại trên dữ liệu thử nghiệm, tính toán các giá trị FPR và chọn các giá trị ngưỡng bao phủ thấp (gần 0) và cao (gần 1) FPR các giá trị, nghĩa là gần với 0, 0,05, 0,1, ..., 0,95, 1

(2) Tạo nhiều bộ ví dụ chú thích
(3) Chạy trình phân loại trên các tập hợp ví dụ
(4) Tính điểm (FPR, TPR) cho mỗi người trong số họ
(5) Vẽ đường cong ROC cuối cùng

Một số chi tiết có thể được kiểm tra trong http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Bên cạnh đó, hai liên kết này rất hữu ích về cách xác định ngưỡng tối ưu. Một phương pháp đơn giản là lấy một phương pháp có tổng tối đa tỷ lệ âm tính dương và sai thực sự. Các tiêu chí tốt hơn khác có thể bao gồm các biến số khác liên quan đến các ngưỡng khác nhau như chi phí tài chính, v.v ...
http://www.medicalbiostatistic.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-nhận-vận hành-đặc trưng.html


5
Cảm ơn bạn đã giải thích, những gì về ngưỡng tối ưu?
RockTheStar

1
Xin lỗi, tôi đã học được rằng ngưỡng tối ưu là một thuật ngữ đặc biệt trước đây. Sau khi tìm kiếm, tôi thấy rằng chương "3.5 Chọn Ngưỡng tối ưu" của cuốn sách "Phân tích đường cong đặc trưng của người nhận với SAS" trên Google Book có một số giải thích chi tiết về cách chọn ngưỡng tối ưu. Hai cách được sử dụng rộng rãi như được mô tả trên đó là chọn ngưỡng sẽ làm cho dự đoán nhị phân kết quả (1) càng gần với một công cụ dự đoán hoàn hảo càng tốt. (2) càng xa người dự đoán không có thông tin càng tốt
Tom

Thật tuyệt, tôi có thể tìm tài liệu tham khảo ở đâu? Cảm ơn!
RockTheStar

2
Vâng, "xa từ một người dự đoán không thông tin" có nghĩa là gì? Vui lòng thêm tài liệu tham khảo.
Simone

1
Bên cạnh đó, tôi cũng chỉ đọc từ đó có nhiều tiêu chí để xác định ngưỡng tối ưu. Ví dụ: một tiêu chí đơn giản là trong số tất cả các ngưỡng, hãy chọn một tiêu chí có tổng giá trị cực đại của giá trị dương và sai âm tối đa. Ngoài ra còn có các tiêu chí khác tinh vi hơn.
Tom

3

Một cách thực sự dễ dàng để chọn ngưỡng là lấy các giá trị dự đoán trung bình của các trường hợp dương tính cho một bộ thử nghiệm. Điều này trở thành ngưỡng của bạn.

Ngưỡng tương đối gần với cùng ngưỡng bạn sẽ nhận được bằng cách sử dụng đường cong roc trong đó tỷ lệ dương thực sự (tpr) và 1 - tỷ lệ dương tính giả (fpr) trùng nhau. Chữ thập 1-fpr này tối đa hóa tích cực thực sự trong khi giảm thiểu âm tính giả.


Tôi hiểu rồi. Giá trị trung bình dự đoán. Cám ơn vì sự gợi ý.
RockTheStar

2
Có một nguồn cho phương pháp này?
JEquihua

1
Điều này tương đương với việc chọn điểm có TPR = 0,5 trong đường cong ROC, nghe có vẻ thực sự tùy ý.
Tunin

Giá trị trung bình dự đoán? Và điều gì xảy ra nếu bạn có sự mất cân bằng lớp 1000: 1?
ldmtwo

3

Chọn điểm gần góc trên cùng bên trái của không gian ROC của bạn. Bây giờ ngưỡng được sử dụng để tạo điểm này phải là điểm tối ưu.


2
Làm thế nào để làm điều này tự động?
ldmtwo

1

Việc lựa chọn ngưỡng phụ thuộc vào tầm quan trọng của vấn đề phân loại TPR và FPR. Ví dụ: nếu phân loại của bạn sẽ quyết định nghi phạm hình sự nào sẽ nhận án tử hình, thì dương tính giả là rất xấu (những người vô tội sẽ bị giết!). Do đó, bạn sẽ chọn ngưỡng mang lại FPR thấp trong khi vẫn giữ TPR hợp lý (để bạn thực sự bắt được một số tội phạm thực sự). Nếu không có mối quan tâm bên ngoài về TPR thấp hoặc FPR cao, một lựa chọn là cân bằng chúng bằng cách chọn ngưỡng tối đa hóa .TPRFPR

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.