Phân loại nhị phân với các lớp không cân bằng mạnh


52

Tôi có một bộ dữ liệu ở dạng (tính năng, đầu ra nhị phân 0 hoặc 1), nhưng 1 xảy ra khá hiếm, vì vậy chỉ cần luôn dự đoán 0, tôi có được độ chính xác từ 70% đến 90% (tùy thuộc vào dữ liệu cụ thể mà tôi nhìn vào ). Các phương thức ML cung cấp cho tôi về độ chính xác tương tự và tôi cảm thấy, nên có một số phương pháp tiêu chuẩn để áp dụng trong tình huống này, điều đó sẽ cải thiện độ chính xác so với quy tắc dự đoán rõ ràng.


3
Tôi thấy bài viết này rất hữu ích về chủ đề này: svds.com/learning-imbal cân- classes
J. O'Brien Antognini

@ J.O'BrienAntognini Đó là một bài viết thực sự hay!
Kim Hoa Vương

Câu trả lời:


30

Cả hxd1011 và Frank đều đúng (+1). Về cơ bản việc lấy mẫu lại và / hoặc học tập nhạy cảm với chi phí là hai cách chính để khắc phục vấn đề mất cân bằng dữ liệu; thứ ba là sử dụng các phương thức kernel mà đôi khi có thể ít bị ảnh hưởng bởi sự mất cân bằng của lớp. Hãy để tôi nhấn mạnh rằng không có giải pháp đạn bạc. Theo định nghĩa, bạn có một lớp được thể hiện không đầy đủ trong các mẫu của bạn.

Đã nói ở trên tôi tin rằng bạn sẽ thấy các thuật toán SMoteROSE rất hữu ích. SMOTE sử dụng hiệu quả cách tiếp cận hàng xóm -gần nhất để loại trừ các thành viên của nhóm đa số trong khi theo cách tương tự tạo ra các ví dụ tổng hợp của một nhóm thiểu số. ROSE cố gắng tạo các ước tính về các bản phân phối cơ bản của hai lớp bằng cách sử dụng phương pháp bootstrap được làm mịn và lấy mẫu cho các ví dụ tổng hợp. Cả hai đều có sẵn trong R, SMOTE trong gói DMwR và ROSE trong gói có cùng tên . Cả SMOTE và ROSE đều dẫn đến một tập dữ liệu huấn luyện nhỏ hơn tập dữ liệu gốc.k

Tôi có lẽ sẽ lập luận rằng một tốt hơn (hoặc ít hơn xấu) số liệu đối với trường hợp dữ liệu mất cân bằng đang sử dụng Cohenk và / hoặc Receiver hoạt động Diện tích đặc trưng của dưới đường cong . Kappa của Cohen trực tiếp kiểm soát độ chính xác dự kiến, AUC vì đây là chức năng của độ nhạy và độ đặc hiệu, đường cong không nhạy cảm với sự chênh lệch về tỷ lệ lớp. Một lần nữa, lưu ý rằng đây chỉ là những số liệu nên được sử dụng với một hạt muối lớn. Bạn nên lý tưởng thích ứng chúng với vấn đề cụ thể của bạn có tính đến lợi ích và chi phí phân loại đúng và sai trong trường hợp của bạn. Tôi đã tìm thấy rằng nhìn vào đường cong thang máylà thực sự khá nhiều thông tin cho vấn đề này. Bất kể số liệu của bạn, bạn nên thử sử dụng một thử nghiệm riêng để đánh giá hiệu suất của thuật toán của bạn; chính xác là do sự mất cân bằng quá mức của lớp thậm chí còn có khả năng cao hơn nên việc kiểm tra ngoài mẫu là rất quan trọng.

Có lẽ bài báo phổ biến gần đây nhất về vấn đề này là Học từ dữ liệu mất cân bằng của He và Garcia. Nó đưa ra một cái nhìn tổng quan rất hay về những điểm được nêu ra bởi bản thân tôi và trong các câu trả lời khác. Ngoài ra, tôi tin rằng việc đi bộ về Lấy mẫu đối với Mất cân bằng lớp , được Max Kuhn trình bày như một phần của gói caret là một tài nguyên tuyệt vời để lấy ví dụ về cấu trúc về cách lấy mẫu quá mức cũng như tạo dữ liệu tổng hợp có thể đo lường chống lại nhau.


Một số liệu thứ ba hơi phổ biến (và một lần nữa không quá phù hợp) là Đường cong dưới đường cong của đường cong chính xác. Davis & James, bài báo năm 2006 được coi là một tác phẩm kinh điển về vấn đề này; CV có một chủ đề tốt quá . Gần đây tôi đã thấy một bài báo với tiêu đề hơi hóc búa " Âm mưu thu hồi chính xác có nhiều thông tin hơn âm mưu ROC khi đánh giá phân loại nhị phân trên bộ dữ liệu không cân bằng ", vì vậy người ta cũng có thể muốn kiểm tra điều đó.
usεr11852 nói Phục hồi Monic

1
Để triển khai python của một loạt các kỹ thuật lấy mẫu lại dữ liệu, tôi khuyên bạn nên sử dụng gói tìm hiểu sự mất cân bằng: github.com/scikit-learn-contrib/imbalified-learn
Vadim Smolyakov

Đối với các bản phân phối lớp không cân bằng cao, AUPRC có nhiều thông tin hơn AUROC. Chi tiết không bao gồm vì đây là một bình luận. Trong số nhiều nguồn, một ở đây .
Zhubarb

15

Đầu tiên, số liệu đánh giá cho dữ liệu mất cân bằng sẽ không chính xác. Giả sử bạn đang thực hiện phát hiện gian lận, rằng 99,9% dữ liệu của bạn không phải là gian lận. Chúng ta có thể dễ dàng tạo ra một mô hình giả có độ chính xác 99,9%. (chỉ dự đoán tất cả dữ liệu không gian lận).

Bạn muốn thay đổi số liệu đánh giá của mình từ độ chính xác sang thứ khác, chẳng hạn như điểm F1 hoặc độ chính xác và thu hồi . Trong liên kết thứ hai tôi cung cấp. có những chi tiết và trực giác về lý do tại sao việc thu hồi chính xác sẽ hoạt động.

Đối với dữ liệu mất cân bằng cao, việc xây dựng một mô hình có thể rất khó khăn. Bạn có thể chơi với chức năng giảm cân hoặc chỉ mô hình hóa một lớp. chẳng hạn như một lớp SVM hoặc phù hợp với một Gaussian đa biến (Như liên kết tôi đã cung cấp trước đây.)


2
+1. Ví dụ đẹp và đề cập tốt về SVM một lớp. Mặc dù vậy, tôi nghĩ rằng điểm hơi quá nặng tay, bỏ qua tất cả tiêu cực thực sự cùng nhau. F1
usεr11852 nói Phục hồi Monic

liên kết đến "chính xác và thu hồi" đã chết?
Jason

13

Các vấn đề mất cân bằng trong lớp học có thể được giải quyết bằng cách học hoặc lấy mẫu nhạy cảm với chi phí. Xem những lợi thế và bất lợi của việc học tập nhạy cảm với chi phí so với lấy mẫu , được sao chép dưới đây:


{1} đưa ra danh sách các ưu điểm và nhược điểm của việc học nhạy cảm với chi phí so với lấy mẫu:

2.2 Lấy mẫu

Quá khổ và lấy mẫu có thể được sử dụng để thay đổi phân phối lớp của dữ liệu huấn luyện và cả hai phương pháp đã được sử dụng để đối phó với sự mất cân bằng của lớp [1, 2, 3, 6, 10, 11]. Lý do thay đổi phân phối lớp của dữ liệu đào tạo hỗ trợ việc học với các tập dữ liệu bị sai lệch cao là vì nó áp dụng hiệu quả chi phí phân loại sai không thống nhất. Ví dụ: nếu một người thay đổi phân phối lớp của tập huấn luyện để tỷ lệ giữa các ví dụ tích cực và tiêu cực đi từ 1: 1 đến 2: 1, thì người ta đã chỉ định một cách hiệu quả tỷ lệ chi phí phân loại sai là 2: 1. Sự tương đương này giữa việc thay đổi phân phối lớp của dữ liệu đào tạo và thay đổi tỷ lệ chi phí phân loại sai được biết đến và được mô tả chính thức bởi Elkan [9].

Có những nhược điểm đã biết liên quan đến việc sử dụng lấy mẫu để thực hiện việc học tập nhạy cảm với chi phí. Các bất lợi với undersampling là nó dữ liệu vứt bỏ khả năng hữu ích . Nhược điểm chính với quá khổ , theo quan điểm của chúng tôi, là bằng cách tạo ra các bản sao chính xác của các ví dụ hiện có, nó làm cho quá mức có thể xảy ra . Trong thực tế, với việc quá khổ, việc người học tạo ra một quy tắc phân loại để bao quát một ví dụ đơn lẻ là điều khá phổ biến. Một nhược điểm thứ hai của oversampling là nó làm tăng số lượng ví dụ đào tạo, do đó tôi làm tăng thời gian học .

2.3 Tại sao nên sử dụng Lấy mẫu?

Với những nhược điểm khi lấy mẫu, đáng để hỏi tại sao mọi người sẽ sử dụng nó thay vì thuật toán học nhạy cảm với chi phí để xử lý dữ liệu với phân phối lớp bị lệch và chi phí phân loại sai không đồng nhất. Cái này có một vài nguyên nhân. Lý do rõ ràng nhất là không có triển khai nhạy cảm với chi phí của tất cả các thuật toán học tập và do đó, cách tiếp cận dựa trên trình bao bọc sử dụng lấy mẫu là lựa chọn duy nhất. Mặc dù điều này chắc chắn ít đúng với ngày nay so với trước đây, nhiều thuật toán học tập (ví dụ, C4.5) vẫn không trực tiếp xử lý chi phí trong quá trình học tập.

Một lý do thứ hai cho việc sử dụng lấy mẫu là nhiều bộ dữ liệu bị sai lệch rất lớn và kích thước của tập huấn luyện phải được giảm xuống để việc học có thể khả thi. Trong trường hợp này, gạch dưới dường như là một chiến lược hợp lý và hợp lệ. Trong bài báo này, chúng tôi không xem xét sự cần thiết phải giảm kích thước tập huấn luyện. Tuy nhiên, chúng tôi sẽ chỉ ra rằng nếu cần loại bỏ một số dữ liệu đào tạo, vẫn có thể có ích để loại bỏ một số ví dụ của lớp đa số để giảm kích thước tập huấn xuống kích thước yêu cầu, và sau đó cũng sử dụng chi phí thuật toán học nhạy cảm, để số lượng dữ liệu đào tạo bị loại bỏ được giảm thiểu.

Một lý do cuối cùng có thể đã góp phần vào việc sử dụng lấy mẫu thay vì thuật toán học tập nhạy cảm với chi phí là chi phí phân loại sai thường không được biết. Tuy nhiên, đây không phải là lý do hợp lệ để sử dụng lấy mẫu qua thuật toán học tập tốn kém, vì vấn đề tương tự phát sinh với lấy mẫu, phân phối lớp của dữ liệu đào tạo cuối cùng là gì? Nếu không biết thông tin chi phí này, một biện pháp như khu vực dưới đường cong ROC có thể được sử dụng để đo hiệu suất phân loại và cả hai phương pháp sau đó có thể xác định theo tỷ lệ chi phí / phân phối lớp phù hợp.

Họ cũng đã làm một loạt các thí nghiệm, không có kết luận:

Dựa trên kết quả từ tất cả các bộ dữ liệu, không có người chiến thắng dứt khoát giữa học tập nhạy cảm với chi phí, quá mức và thiếu mẫu

Sau đó, họ cố gắng hiểu tiêu chí nào trong bộ dữ liệu có thể gợi ý kỹ thuật nào phù hợp hơn.

Họ cũng nhận xét rằng SMOTE có thể mang lại một số cải tiến:

Có nhiều cải tiến mà mọi người đã thực hiện để cải thiện hiệu quả của việc lấy mẫu. Một số cải tiến này bao gồm giới thiệu các ví dụ mới về tổng hợp, khi quá mẫu [5 -> SMOTE], xóa các ví dụ lớp đa số ít hữu ích hơn khi lấy mẫu [11] và sử dụng nhiều mẫu phụ khi lấy mẫu nhỏ hơn mỗi ví dụ được sử dụng trong ít nhất một mẫu mẫu phụ [3]. Mặc dù các kỹ thuật này đã được so sánh với quá khổ và gạch dưới, nhưng nhìn chung chúng không được so sánh với các thuật toán học tập nhạy cảm với chi phí. Điều này sẽ có giá trị học tập trong tương lai.


{1} Weiss, Gary M., Kate McCarthy và Bibi Zabar. "Học tập nhạy cảm với chi phí so với lấy mẫu: Cách nào tốt nhất để xử lý các lớp không cân bằng với chi phí lỗi không bằng nhau?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=vi&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf


1
Vì vậy, để tóm tắt liên kết: có kết quả về phương pháp nào tốt hơn là không có kết luận, và việc sử dụng lấy mẫu dưới / quá mức sẽ dễ dàng hơn. Đúng?
LazyCat

1
@LazyCat đúng.
Franck Dernoncourt

Vâng, nền tảng có những hạn chế. Nhưng nhiều trong số chúng cũng là tính năng. Chẳng hạn, tôi cho rằng nếu một câu trả lời dài, chi tiết như thế này có thể trả lời thỏa đáng cho hai câu hỏi, thì những câu hỏi đó phải là trùng lặp. Và nếu chúng không trùng lặp, thì có thể thay đổi câu trả lời của một người theo một cách có ý nghĩa để chúng không bị sao chép. Những hành động nên được thực hiện trong trường hợp này? (cc @gung)
whuber

@whuber Câu hỏi khác đã được đóng lại :-)
Franck Dernoncourt

1
Được rồi - đó là một lý lẽ thuyết phục!
whuber

6

Một số câu trả lời cho truy vấn này đã cung cấp một số cách tiếp cận khác nhau, tất cả đều hợp lệ. Gợi ý này là từ một bài báo và phần mềm liên quan của Gary King, nhà khoa học chính trị nổi tiếng tại Harvard. Ông là đồng tác giả của một bài báo có tiêu đề Hồi quy logistic trong dữ liệu sự kiện hiếm , cung cấp một số giải pháp khá chung.

Đây là bản tóm tắt:

Chúng tôi nghiên cứu dữ liệu về các sự kiện hiếm gặp, các biến phụ thuộc nhị phân với số lượng ít hơn hàng chục đến hàng nghìn lần (các sự kiện, như chiến tranh, bác sĩ thú y, các trường hợp hoạt động chính trị hoặc nhiễm trùng dịch tễ học) so với số không ("không liên quan"). Trong nhiều tài liệu, các biến này đã được chứng minh là khó giải thích và dự đoán, một vấn đề dường như có ít nhất hai nguồn. Đầu tiên, các thủ tục thống kê phổ biến, như hồi quy logistic, có thể đánh giá thấp khả năng xảy ra các sự kiện hiếm. Chúng tôi khuyên bạn nên điều chỉnh vượt trội so với các phương pháp hiện có và thay đổi các ước tính về rủi ro tuyệt đối và tương đối bằng nhiều như một số hiệu ứng ước tính được báo cáo trong tài liệu. Thứ hai, các chiến lược thu thập dữ liệu thường được sử dụng là không hiệu quả đối với dữ liệu sự kiện hiếm. Nỗi sợ thu thập dữ liệu với quá ít sự kiện đã dẫn đến việc thu thập dữ liệu với số lượng quan sát khổng lồ nhưng tương đối ít và các biến giải thích được đo lường kém, chẳng hạn như trong dữ liệu xung đột quốc tế với hơn một phần tư triệu, chỉ một vài trong số đó đang có chiến tranh Hóa ra, các thiết kế lấy mẫu hiệu quả hơn tồn tại để đưa ra các kết luận hợp lệ, chẳng hạn như lấy mẫu tất cả các sự kiện có thể thay đổi (ví dụ: chiến tranh) và một phần rất nhỏ của các trường hợp không liên quan (hòa bình). Điều này cho phép các học giả tiết kiệm tới 99% chi phí thu thập dữ liệu (không có tiền tố) của họ hoặc thu thập các biến giải thích có ý nghĩa hơn nhiều. Chúng tôi cung cấp các phương pháp liên kết hai kết quả này, cho phép cả hai loại chỉnh sửa hoạt động đồng thời và phần mềm thực hiện các phương pháp được phát triển. và các biến giải thích được đo lường kém, chẳng hạn như trong dữ liệu xung đột quốc tế với hơn một phần tư triệu đê, chỉ một vài trong số đó có chiến tranh. Hóa ra, các thiết kế lấy mẫu hiệu quả hơn tồn tại để đưa ra các kết luận hợp lệ, chẳng hạn như lấy mẫu tất cả các sự kiện có thể thay đổi (ví dụ: chiến tranh) và một phần rất nhỏ của các trường hợp không liên quan (hòa bình). Điều này cho phép các học giả tiết kiệm tới 99% chi phí thu thập dữ liệu (không có tiền tố) của họ hoặc thu thập các biến giải thích có ý nghĩa hơn nhiều. Chúng tôi cung cấp các phương pháp liên kết hai kết quả này, cho phép cả hai loại chỉnh sửa hoạt động đồng thời và phần mềm thực hiện các phương pháp được phát triển. và các biến giải thích được đo lường kém, chẳng hạn như trong dữ liệu xung đột quốc tế với hơn một phần tư triệu đê, chỉ một vài trong số đó có chiến tranh. Hóa ra, các thiết kế lấy mẫu hiệu quả hơn tồn tại để đưa ra các kết luận hợp lệ, chẳng hạn như lấy mẫu tất cả các sự kiện có thể thay đổi (ví dụ: chiến tranh) và một phần rất nhỏ của các trường hợp không liên quan (hòa bình). Điều này cho phép các học giả tiết kiệm tới 99% chi phí thu thập dữ liệu (không có tiền tố) của họ hoặc thu thập các biến giải thích có ý nghĩa hơn nhiều. Chúng tôi cung cấp các phương pháp liên kết hai kết quả này, cho phép cả hai loại chỉnh sửa hoạt động đồng thời và phần mềm thực hiện các phương pháp được phát triển. thiết kế lấy mẫu hiệu quả hơn tồn tại để thực hiện các suy luận hợp lệ, chẳng hạn như lấy mẫu tất cả các sự kiện có thể thay đổi (ví dụ: chiến tranh) và một phần rất nhỏ của những điều không liên quan (hòa bình). Điều này cho phép các học giả tiết kiệm tới 99% chi phí thu thập dữ liệu (không có tiền tố) của họ hoặc thu thập các biến giải thích có ý nghĩa hơn nhiều. Chúng tôi cung cấp các phương pháp liên kết hai kết quả này, cho phép cả hai loại chỉnh sửa hoạt động đồng thời và phần mềm thực hiện các phương pháp được phát triển. thiết kế lấy mẫu hiệu quả hơn tồn tại để thực hiện các suy luận hợp lệ, chẳng hạn như lấy mẫu tất cả các sự kiện có thể thay đổi (ví dụ: chiến tranh) và một phần rất nhỏ của những điều không liên quan (hòa bình). Điều này cho phép các học giả tiết kiệm tới 99% chi phí thu thập dữ liệu (không có tiền tố) của họ hoặc thu thập các biến giải thích có ý nghĩa hơn nhiều. Chúng tôi cung cấp các phương pháp liên kết hai kết quả này, cho phép cả hai loại chỉnh sửa hoạt động đồng thời và phần mềm thực hiện các phương pháp được phát triển.

Đây là một liên kết đến bài báo ... http://gking.harvard.edu/files/abs/0s-abs.shtml


Cảm ơn bạn, - nếu bạn đọc bài báo, họ có đề xuất bất cứ điều gì quan trọng ngoài việc lấy mẫu dưới đây được đề xuất ở trên không?
LazyCat

4
Đây là một bài báo hay, tôi đã đọc nó nhiều lần! (+1) Tôi nghĩ mặc dù bạn nên chỉ ra rằng bài báo cũng quan tâm đến suy luận. Đây là lý do tại sao một GBM sẽ ít hữu ích hơn đối với một nhà khoa học chính trị so với GLM. Ví dụ: nếu phương pháp cây được sử dụng: " ... hai thuật toán phân vùng đệ quy có thể đạt được độ chính xác dự đoán giống nhau, nhưng đồng thời, biểu thị các mối quan hệ hồi quy khác nhau về mặt cấu trúc, tức là các mô hình khác nhau và do đó có thể dẫn đến các kết luận khác nhau về ảnh hưởng của một số đồng biến nhất định về phản ứng. "(Hothorn et al. 2006)
usεr11852 nói Phục hồi Monic

2

Phát triển các bộ phân loại cho các bộ dữ liệu với các lớp không cân bằng là một vấn đề phổ biến trong học máy. Các phương pháp dựa trên mật độ có thể có giá trị đáng kể so với "phân loại truyền thống" trong tình huống như vậy.

Phương thức dựa trên mật độ ước tính mật độ không xác định , trong đó là lớp chiếm ưu thế nhất (Trong ví dụ của bạn, ).CC={x:yi=0}p^(x|yC)CC={x:yi=0}

Sau khi ước tính mật độ được đào tạo, bạn có thể dự đoán xác suất rằng một bản ghi kiểm tra chưa thấy thuộc về ước tính mật độ này hay không. Nếu xác suất đủ nhỏ, nhỏ hơn ngưỡng xác định (thường thu được qua giai đoạn xác thực), thì , nếu không thì* y ( x * ) C y ( x * ) Cxy^(x)Cy^(x)C

Bạn có thể tham khảo bài báo sau:

"Công cụ ước tính trình cắm thêm có thể tính toán của Bộ khối lượng tối thiểu để phát hiện mới lạ", C. Park, J. Huang và Y. Đinh, Nghiên cứu hoạt động, 58 (5), 2013.


2

Đây là loại vấn đề trong đó Phát hiện bất thường là một cách tiếp cận hữu ích. Về cơ bản, đây là những gì Rodrigo mô tả trong câu trả lời của anh ấy, trong đó bạn xác định hồ sơ thống kê của lớp đào tạo của mình và đặt ngưỡng xác suất vượt quá các phép đo trong tương lai được xác định không thuộc về lớp đó. Đây là một video hướng dẫn , sẽ giúp bạn bắt đầu. Khi bạn đã tiếp thu điều đó, tôi khuyên bạn nên tra cứu Ước tính Mật độ Hạt nhâ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.