Bộ phân loại tốt của Good Good đã phá hủy đường cong Precision-Recall của tôi. Chuyện gì đã xảy ra?


11

Tôi đang làm việc với dữ liệu mất cân bằng, trong đó có khoảng 40 lớp = 0 trường hợp cho mỗi lớp = 1. Tôi có thể phân biệt hợp lý giữa các lớp bằng các tính năng riêng lẻ và đào tạo trình phân loại Bayes và SVM ngây thơ về 6 tính năng và dữ liệu cân bằng mang lại sự phân biệt tốt hơn (các đường cong ROC bên dưới).

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

Điều đó tốt, và tôi nghĩ rằng tôi đang làm tốt. Tuy nhiên, quy ước cho vấn đề cụ thể này là dự đoán các lần truy cập ở mức chính xác, thường là từ 50% đến 90%. ví dụ: "Chúng tôi đã phát hiện một số - số lần truy cập với độ chính xác 90%." Khi tôi thử điều này, độ chính xác tối đa tôi có thể nhận được từ các phân loại là khoảng 25% (đường màu đen, đường cong PR bên dưới).

Tôi có thể hiểu đây là một vấn đề mất cân bằng lớp học, vì các đường cong PR rất nhạy cảm với sự mất cân bằng và các đường cong ROC không. Tuy nhiên, sự mất cân bằng dường như không ảnh hưởng đến các tính năng riêng lẻ: Tôi có thể có độ chính xác khá cao bằng cách sử dụng các tính năng riêng lẻ (màu xanh lam và màu lục lam).

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

Tôi không hiểu chuyện gì đang xảy ra. Tôi có thể hiểu nó nếu mọi thứ hoạt động kém trong không gian PR, vì xét cho cùng, dữ liệu rất mất cân bằng. Tôi cũng có thể hiểu nó nếu các trình phân loại trông tệ trong không gian ROC PR - có thể chúng chỉ là các trình phân loại kém. Nhưng điều gì đang xảy ra để làm cho các phân loại tốt hơn theo đánh giá của ROC, nhưng tồi tệ hơn theo đánh giá của Precision-Recall ?

Chỉnh sửa : Tôi nhận thấy rằng trong các khu vực TPR / Recall thấp (TPR trong khoảng từ 0 đến 0,35), các tính năng riêng lẻ luôn vượt trội so với các phân loại trong cả hai đường cong ROC và PR. Có lẽ sự nhầm lẫn của tôi là do đường cong ROC "nhấn mạnh" các khu vực TPR cao (nơi các bộ phân loại làm tốt) và đường cong PR nhấn mạnh TPR thấp (nơi phân loại kém hơn).

Chỉnh sửa 2 : Đào tạo về dữ liệu không cân bằng, tức là với sự mất cân bằng giống như dữ liệu thô, đã đưa đường cong PR trở lại cuộc sống (xem bên dưới). Tôi đoán vấn đề của tôi là đào tạo các trình phân loại không đúng cách, nhưng tôi hoàn toàn không hiểu chuyện gì đã xảy ra. nhập mô tả hình ảnh ở đây

Câu trả lời:


7

Tôi đã thấy rằng không có lợi ích đáng kinh ngạc nào trong việc sử dụng downsampling / upampling khi các lớp bị mất cân bằng vừa phải (nghĩa là không quá 100: 1) kết hợp với chỉ số bất biến ngưỡng (như AUC). Lấy mẫu tạo ra tác động lớn nhất đối với các số liệu như điểm F1 và Độ chính xác, bởi vì việc lấy mẫu sẽ di chuyển ngưỡng một cách nhân tạo đến gần hơn với vị trí được coi là "tối ưu" trên đường cong ROC. Bạn có thể thấy một ví dụ về điều này trong tài liệu caret .

Tôi không đồng ý với @Chris rằng việc có AUC tốt sẽ tốt hơn độ chính xác, vì nó hoàn toàn liên quan đến bối cảnh của vấn đề. Ngoài ra, có AUC tốt không nhất thiết phải chuyển thành đường cong Chính xác-Thu hồi tốt khi các lớp bị mất cân bằng. Nếu một mô hình cho thấy AUC tốt, nhưng vẫn có khả năng phục hồi sớm kém, đường cong Precision-Recall sẽ để lại rất nhiều điều mong muốn. Bạn có thể thấy một ví dụ tuyệt vời về điều này xảy ra trong câu trả lời này cho một câu hỏi tương tự. Vì lý do này, Saito et al. khuyên bạn nên sử dụng khu vực dưới đường cong Chính xác-Thu hồi thay vì AUC khi bạn có các lớp không cân bằng.


Tôi không có ý ám chỉ rằng AUC tốt luôn tốt hơn đường cong PR tốt.
Chris

1
Cũng lưu ý rằng bạn luôn có thể lật nhãn tích cực và tiêu cực trước khi lắp mô hình và tối đa hóa AUC-PR. Ví dụ truy xuất tài liệu phổ biến cho thấy thực tế là mọi người thường thích AUC-PR vì nó có thể được sử dụng để giảm thiểu các lần truy cập sai; rõ ràng họ bị làm phiền nhiều hơn bởi các tài liệu không liên quan mà họ buộc phải xem xét hơn là các tài liệu liên quan mà họ bỏ lỡ. Tôi nghiên cứu về các cuộc chiến tranh ... vì vậy, để nói một cách nhẹ nhàng, tôi cảm thấy phiền lòng vì bị bỏ lỡ nhiều hơn là báo động sai. Nhưng điều đó có nghĩa là tôi chỉ sử dụng AUC-PR với sự bình yên là tích cực. Tôi chỉ sử dụng ROC nếu tôi không có ưu tiên về loại lỗi.
DHW

1

Cách tốt nhất để đánh giá một mô hình là xem xét cách nó sẽ được sử dụng trong thế giới thực và phát triển hàm chi phí.

Như một bên, ví dụ, có quá nhiều sự nhấn mạnh vào r bình phương nhưng nhiều người tin rằng đó là một thống kê vô dụng. Vì vậy, không được treo lên trên bất kỳ một thống kê.

Tôi nghi ngờ rằng câu trả lời của bạn là một ví dụ về nghịch lý chính xác.

https://en.m.wikipedia.org/wiki/Accuracy_paradox

Nhớ lại (còn được gọi là độ nhạy hay tỷ lệ dương thực sự) là một phần của các trường hợp có liên quan được truy xuất.

tpr = tp / (tp + fn)

Độ chính xác (còn gọi là giá trị tiên đoán dương) là phần các trường hợp được truy xuất có liên quan.

ppv = tp / (tp + fp)

Giả sử bạn có một bộ rất mất cân bằng gồm 99 dương và một âm.

Giả sử một mô hình được đào tạo trong đó mô hình nói rằng mọi thứ đều tích cực.

tp = 99 fp = 1 ppv trở thành 0,99

Rõ ràng là một mô hình rác mặc dù giá trị tiên đoán tích cực "tốt".

Tôi khuyên bạn nên xây dựng một bộ huấn luyện cân bằng hơn thông qua quá khổ hoặc gạch dưới. Sau khi mô hình được xây dựng, sau đó sử dụng một bộ xác nhận để giữ sự mất cân bằng ban đầu và xây dựng một biểu đồ hiệu suất trên đó.


Cám ơn rất nhiều. Tôi đã không đề cập đến nó, nhưng tôi đang đào tạo về dữ liệu cân bằng (được thực hiện với việc lấy mẫu lại) và đánh giá về dữ liệu mất cân bằng. Re: nghịch lý chính xác, bạn có nghĩa là bộ phân loại có thể chỉ chọn lớp chiếm ưu thế? Điều đó có dẫn đến đường cong ROC trông ngẫu nhiên không? Trình phân loại "tốt" trong ví dụ của bạn có Độ chính xác tốt và ROC xấu; phân loại "tốt" trong trường hợp của tôi thì ngược lại, độ chính xác kém nhưng ROC tốt.
R Greg Stacey

Bỏ qua dữ liệu có giá trị không phải là giải pháp chính xác. Đây là một cách lãng phí để xử lý một vấn đề xuất phát từ việc sử dụng các quy tắc chấm điểm chính xác không phù hợp. Ngoài ra, chiến lược đề xuất được đặt ra trong câu hỏi ban đầu là mâu thuẫn với việc ra quyết định tối ưu.
Frank Harrell

Trường hợp anh ta nói rằng anh ta đang bỏ qua dữ liệu có giá trị?
Chris

@Frank Cảm ơn bạn đã bình luận. Bạn có ý nghĩa gì khi "sử dụng quy tắc chấm điểm chính xác không phù hợp"? Ngoài ra, "chiến lược được đề xuất nào mâu thuẫn với việc ra quyết định tối ưu"? Bạn có nghĩa là xác định lượt truy cập ở một mức độ chính xác nhất định, hoặc một cái gì đó khác?
R Greg Stacey

1
Nó không đủ để đánh giá một mô hình trong trường hợp kinh doanh. Trường hợp kinh doanh nên được giải quyết tối ưu bằng cách xây dựng một mô hình tối ưu và áp dụng chức năng tiện ích trên đó để đưa ra quyết định, chứ không phải bằng cách xây dựng bất kỳ ngưỡng nào trong phân tích. Điểm chính xác không liên tục và điểm chính xác không phù hợp khác cho phép người ta cho rằng mô hình không có thật (sai) là vượt trội và dẫn người ta chọn các tính năng sai và các tác hại khác khi sử dụng điểm chính xác không phù hợp để xây dựng mô hình. Việc @Qroid bị loại bỏ dữ liệu là bằng chứng tuyệt vời cho việc đánh giá độ chính xác bị lỗi.
Frank Harrell

1

Tôi có thể hiểu đây là một vấn đề mất cân bằng lớp học, vì các đường cong PR rất nhạy cảm với sự mất cân bằng và các đường cong ROC không. Tuy nhiên, sự mất cân bằng dường như không ảnh hưởng đến các tính năng riêng lẻ: Tôi có thể có độ chính xác khá cao bằng cách sử dụng các tính năng riêng lẻ (màu xanh lam và màu lục lam).

Tôi có thể chỉ ra rằng đây thực sự là một cách khác: ROC nhạy cảm với sự mất cân bằng của lớp trong khi PR mạnh mẽ hơn khi xử lý các phân phối lớp bị lệch. Xem https://www.biostat.wisc.edu/~page/rocpr.pdf .

Họ cũng chỉ ra rằng "các thuật toán tối ưu hóa khu vực dưới đường cong ROC không được đảm bảo để tối ưu hóa khu vực dưới đường cong PR".

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.