Vấn đề nào làm quá khổ, gạch dưới và SMote giải quyết?


24

Trong một câu hỏi gần đây, nhận được, Tim hỏi khi nào dữ liệu không cân bằng thực sự là một vấn đề trong Machine Learning ? Tiền đề của câu hỏi là có rất nhiều tài liệu học máy thảo luận về cân bằng lớp họcvấn đề của các lớp mất cân bằng . Ý tưởng là các bộ dữ liệu có sự mất cân bằng giữa lớp tích cực và tiêu cực gây ra vấn đề đối với một số thuật toán phân loại máy học (tôi bao gồm các mô hình xác suất ở đây) và các phương pháp nên được tìm cách "cân bằng" bộ dữ liệu, khôi phục 50/50 hoàn hảo phân chia giữa các lớp tích cực và tiêu cực.

Ý nghĩa chung của các câu trả lời được nêu lên là "không, ít nhất là nếu bạn chu đáo trong mô hình của mình". M. Henry L., trong một bình luận được bình chọn cho một câu trả lời được chấp nhận, tuyên bố

[...] không có vấn đề ở mức độ thấp khi sử dụng dữ liệu không cân bằng. Theo kinh nghiệm của tôi, lời khuyên để "tránh dữ liệu không cân bằng" là thuật toán cụ thể hoặc trí tuệ được kế thừa. Tôi đồng ý với AdamO rằng nói chung, dữ liệu không cân bằng đặt ra không có vấn đề khái niệm nào đối với một mô hình được chỉ định rõ.

AdamO lập luận rằng "vấn đề" với cân bằng lớp thực sự là một trong những sự hiếm có của lớp

Do đó, ít nhất là trong hồi quy (nhưng tôi nghi ngờ trong mọi trường hợp), vấn đề duy nhất với dữ liệu mất cân bằng là bạn thực sự có cỡ mẫu nhỏ. Nếu bất kỳ phương pháp nào phù hợp với số lượng người trong lớp hiếm hơn, sẽ không có vấn đề gì nếu tỷ lệ thành viên của họ bị mất cân bằng.

Nếu đây là vấn đề thực sự trong tay, nó sẽ để lại một câu hỏi mở: mục đích của tất cả các phương pháp lấy mẫu lại nhằm mục đích cân bằng tập dữ liệu: oversampling, undersampling, SMOTE, v.v? Rõ ràng họ không giải quyết vấn đề mặc nhiên có cỡ mẫu nhỏ, bạn không thể tạo ra thông tin mà không có gì!


Đó chính xác là những gì tôi đã thay đổi nó thành ... cảm ơn. Nó không bao gồm toàn bộ phạm vi câu hỏi của bạn nhưng một tiêu đề không phải - nó rõ ràng hiểu được bạn đang hỏi về điều gì.
Glen_b -Reinstate Monica

Chắc chắn có những tình huống trong đó các phương thức bootstrap và subampling rất hữu ích và đôi khi tốt hơn các phương pháp không tham số khác. Sách trên bootstrap và subampling bao gồm điều này. Có các cuộc thảo luận trên trang web này thảo luận về điều này bao gồm tính ưu việt của bootstrap so với bỏ qua trong phân tích phân biệt đối xử ngay cả trong các mẫu tương đối nhỏ. Chắc chắn có một số tình huống mà bootstrap thất bại và những điều đó được đề cập trong cuốn sách của tôi cũng như những thứ khác.
Michael R. Chernick

@MichaelCécick Tôi không nói về bootstrap, đó là những gì Glen đã bình luận. Tôi đang nói về các cách tiếp cận "cân bằng lớp" như trên và dưới lấy mẫu để lớp tích cực đến tiêu cực được thể hiện như nhau trong một tập dữ liệu.
Matthew Drury

Bạn có bao gồm mẫu phụ? Bạn đang đề cập đến kích thước mẫu không chỉ? Làm thế nào chung một tuyên bố bạn đang thực hiện?
Michael R. Chernick

@MichaelCécick Tôi đã thêm một số nhận xét làm rõ trong đoạn đầu tiên và đoạn cuối, tôi hy vọng điều đó có ích.
Matthew Drury

Câu trả lời:


0

Một số kỹ thuật lấy mẫu là để điều chỉnh độ lệch (nếu tỷ lệ dân số được biết và khác nhau), nhưng tôi đồng ý với quan điểm rằng lớp không cân bằng không phải là vấn đề. Một lý do chính đến hiệu suất xử lý. Ví dụ, nếu lớp được nhắm mục tiêu của chúng tôi là trường hợp cực kỳ hiếm gặp ở tỷ lệ 1: 100000, thì bộ dữ liệu mô hình hóa của chúng tôi sẽ rất lớn và việc tính toán sẽ khó khăn. Lấy mẫu, bất kể chiến lược là gì, luôn vứt bỏ một số dữ liệu để giảm tổng kích thước tập dữ liệu. Tôi cho rằng sự khác biệt giữa tất cả các chiến lược lấy mẫu khác nhau, chỉ là sự thông minh xung quanh dữ liệu nào chúng ta vứt đi mà không hy sinh sự mất mát trong các khả năng dự đoán.


4
Điều này hoàn toàn đúng, nhưng nhiều phương pháp tôi đang thảo luận tạo ra các bộ dữ liệu lớn hơn . Upsampling tạo ra nhiều phiên bản của lớp tích cực bằng cách sao chép các điểm dữ liệu hiện có và SMOTE tạo các điểm dữ liệu "tổng hợp" của lớp hiếm. Chúng chắc chắn sẽ không giúp hiệu quả tính toán.
Matthew Drury


0

Vấn đề mà các phương pháp này đang cố gắng giải quyết là làm tăng tác động của lớp thiểu số lên hàm chi phí. Điều này là do thuật toán cố gắng phù hợp với toàn bộ dữ liệu và sau đó thích ứng với đa số. Cách tiếp cận khác sẽ là sử dụng trọng số lớp và aporoach này trong hầu hết các trường hợp cho kết quả tốt hơn, vì không bị mất thông tin bằng cách lấy mẫu hoặc mất hiệu suất và giới thiệu tiếng ồn bằng cách ghi đè.


2
tôi không hiểu câu trả lời của bạn
Michael R. Chernick

Tôi có nghĩa là hiệu suất của trình phân loại được đánh giá trên toàn bộ tập dữ liệu (lỗi trung bình trên cả ví dụ tích cực và tiêu cực), trong đó lỗi cho mỗi ví dụ có trọng số như nhau. Do đó, thuật toán (ví dụ hồi quy logistic) điều chỉnh chức năng giả thuyết của nó thành các ví dụ sẽ tối đa hóa việc giảm lỗi. Trong trường hợp này đối với lớp đa số, trong đó thiểu số (lớp phủ định) thực tế không được chú ý vì nó không có ảnh hưởng lớn đến lỗi trên toàn bộ tập dữ liệu. Đây là lý do tại sao quá mức, dưới mẫu hoặc trọng số lớp cho phép áp dụng thuật toán tốt hơn cho lớp thiểu số.
Milan Vukicevic

0

Tôi sẽ cho bạn một ví dụ cực đoan hơn. Hãy xem xét trường hợp bạn có một tập dữ liệu với 99 điểm dữ liệu được gắn nhãn là dương và chỉ một điểm được gắn nhãn là âm. Trong quá trình đào tạo, mô hình của bạn sẽ nhận ra rằng nếu nó phân loại mọi thứ là tích cực, thì cuối cùng nó sẽ thoát khỏi nó. Một cách để khắc phục điều này là ghi đè lên lớp không đại diện và một cách khác là đánh dấu lớp quá mức. Ví dụ: trong bộ dữ liệu gồm 70 nhãn dương và 30 nhãn âm, tôi có thể lấy mẫu nhãn âm bằng nhãn thay thế và dương mà không thay thế sẽ dẫn đến mô hình của tôi gặp nhiều nhãn âm hơn trong quá trình đào tạo. Bằng cách này, nếu mô hình của tôi cố gắng phân loại mọi thứ là tích cực, nó sẽ phát sinh tổn thất lớn hơn so với cách khác.

Một cách tiếp cận khác không liên quan đến lấy mẫu là điều chỉnh hàm chi phí để mang lại trọng số cao hơn cho các điểm dữ liệu với nhãn thiểu số. Ví dụ: nếu bạn đang sử dụng mất NLL trong bộ dữ liệu trong đó 1 được biểu thị quá mức so với 0 trong số các nhãn, bạn có thể điều chỉnh chức năng mất của mình thành:

L(xi~,yi)=α(yi)ln(xi~)β(1yi)ln(1xi~)

β>αβα


0

Tôi sẽ không đồng ý với tiền đề rằng dữ liệu không cân bằng không phải là vấn đề trong học máy. Có lẽ ít hơn trong hồi quy, nhưng nó chắc chắn là trong phân loại.

Dữ liệu không cân bằng có liên quan trong các ứng dụng Machine Learning do hiệu suất của các thuật toán giảm (nghiên cứu mà tôi nghĩ là cụ thể về phân loại) trong cài đặt mất cân bằng lớp.

Lấy một bài toán phân loại nhị phân đơn giản với tỷ lệ 25: 1 của các ví dụ đào tạo của lớp A 'so với' lớp B '. Nghiên cứu đã chỉ ra rằng độ chính xác liên quan đến việc phân loại lớp B chỉ đơn giản là do tỷ lệ dữ liệu đào tạo giảm. Có ý nghĩa, vì càng ít # ví dụ đào tạo bạn có, trình phân loại của bạn sẽ càng kém về dữ liệu đó. Như một trong những người bình luận đã nêu, bạn không thể làm gì đó từ hư vô. Từ các bài báo tôi đã thấy, trong các vấn đề phân loại đa lớp, có vẻ như bạn cần đạt tỷ lệ 10: 1 để bắt đầu có tác động đáng kể đến độ chính xác của lớp thiểu số. Có lẽ những người đọc các tài liệu khác nhau hơn tôi từng thấy có ý kiến ​​khác nhau.

Vì vậy, các giải pháp được đề xuất là: Overampling lớp thiểu số, Undersampling lớp đa số hoặc sử dụng SMOTE trên lớp thiểu số. Có, bạn thực sự không thể tạo dữ liệu từ đâu cả (sắp xếp SMote, nhưng không chính xác) trừ khi bạn bắt đầu tạo dữ liệu tổng hợp cho lớp thiểu số (không có phương pháp đơn giản). Các kỹ thuật khác như MixUp và những thứ tương tự có khả năng rơi vào khái niệm này, nhưng tôi nghĩ rằng chúng là những người thường xuyên hơn các giải pháp mất cân bằng lớp. Trong các giấy tờ tôi đã đọc, Oversampling> SMOTE> Undersampling.

Bất kể kỹ thuật của bạn là gì, bạn đang thay đổi mối quan hệ giữa các nhóm đa số và thiểu số có thể ảnh hưởng đến tỷ lệ mắc bệnh. Nói cách khác, nếu bạn đang tạo một bộ phân loại để phát hiện bệnh não siêu hiếm X có tỷ lệ mắc 1 trên 100.000 và phân loại của bạn là 1: 1, bạn có thể nhạy cảm hơn và ít cụ thể hơn với số lượng dương tính giả lớn hơn . Nếu điều quan trọng là bạn phát hiện những trường hợp và trọng tài sau đó, bạn sẽ ổn thôi. Nếu không, bạn đã lãng phí rất nhiều thời gian và tiền bạc của người khác. Vấn đề này cuối cùng sẽ cần phải được xử lý.

Vì vậy, để trả lời câu hỏi:

tl / dr: Các hoạt động cân bằng lớp như Over / Undersampling và SMOTE (và dữ liệu tổng hợp) tồn tại để cải thiện hiệu suất của thuật toán học máy (bộ phân loại) bằng cách giải quyết hiệu năng vốn có trong thuật toán do chính sự mất cân bằng gây ra .

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.