Tại sao chúng ta cần xử lý mất cân bằng dữ liệu?


12

Tôi cần biết lý do tại sao chúng ta cần phải đối phó với sự mất cân bằng dữ liệu. Tôi biết làm thế nào để đối phó với nó và các phương pháp khác nhau để giải quyết vấn đề bằng cách lấy mẫu lên hoặc xuống lấy mẫu hoặc bằng cách sử dụng Smote.

Ví dụ: nếu tôi mắc một căn bệnh hiếm gặp 1 phần trăm trong số 100 và giả sử tôi đã quyết định có một bộ dữ liệu cân bằng cho tập huấn luyện của mình, đó là: 50/50 mẫu Sẽ không khiến máy nghĩ rằng 50% bệnh nhân sẽ có dịch bệnh? mặc dù tỷ lệ là 1 trên 100. Vì vậy,

  1. Tại sao chúng ta cần phải đối phó với sự mất cân bằng dữ liệu?
  2. Tỷ lệ được đề nghị để thiết lập số dư là gì

Tôi thích câu hỏi đó Hiểu tại sao rất quan trọng.
DaL

Xem một câu hỏi liên quan trong số liệu thống kê được xác thực chéo.stackexchange.com/questions/312780
/ trên

Câu trả lời:


8

Bạn cần phải xử lý tập dữ liệu mất cân bằng khi giá trị của việc tìm lớp thiểu số cao hơn nhiều so với tìm phần lớn.

Hãy nói rằng 1% dân số mắc căn bệnh hiếm gặp đó. Giả sử rằng bạn chỉ định cùng một chi phí để nói rằng một người đàn ông khỏe mạnh bị bệnh hoặc nói rằng một người đàn ông bị bệnh là khỏe mạnh. Cung cấp một mô hình nói rằng mọi người đều khỏe mạnh, có độ chính xác 99% và về nhà sớm. Vấn đề với một mô hình như vậy là mặc dù nó có độ chính xác cao, nhưng nó có thể sẽ không phải là những gì bạn đang tìm kiếm. Hầu hết thời gian bạn muốn tìm những người mắc bệnh (cân nặng cao với âm tính giả) nhiều hơn bạn sợ gửi một người khỏe mạnh đến xét nghiệm không cần thiết (trọng lượng thấp đến dương tính giả). Trong một vấn đề sức khỏe trong thế giới thực, tỷ lệ giữa trọng lượng có thể dễ dàng là 1 đến 1.000.

Sự mất cân bằng trong phân phối thất bại hầu hết các thuật toán từ việc tìm một giải pháp thích hợp.

Bạn đúng rằng chỉ cần cân bằng phân phối không phải là giải pháp tối ưu. Thật vậy, một thuật toán được đào tạo về phân phối cân bằng không phù hợp với phân phối tự nhiên mà nó sẽ được đánh giá. Phương pháp yêu thích của tôi là điều chỉnh lại, như bạn có thể thấy ở đây . Đối với một cuộc thảo luận, xem ở đây .

Chỉ cần đặt tỷ lệ cho một số vấn đề khác sẽ không hoạt động vì bạn sẽ có cùng một vấn đề.

Smote đang hoạt động theo một cách khác, nó không hoạt động tốt khi tôi thử nó, nhưng nó có thể phù hợp với vấn đề của bạn.


Vì vậy, theo tôi hiểu tốt hơn để cân bằng dữ liệu bởi vì hầu hết các thuật toán hoạt động tốt trên dữ liệu Cân bằng mặc dù nó không phù hợp với phân phối tự nhiên?
sara

Bạn có thể nói rõ hơn về câu này "khi chi phí lỗi của bạn không phù hợp với phân phối mẫu." Tôi đã không hiểu rõ lắm
sara

1
Trả lời nhận xét đầu tiên: Tập dữ liệu mất cân bằng sẽ dẫn các thuật toán để có kết quả tốt bằng cách trả về đa số. Đó sẽ là một vấn đề nếu bạn quan tâm đến thiểu số nhiều hơn. Vì vậy, cân bằng là một cách để buộc thuật toán tăng thêm trọng lượng cho thiểu số. Tuy nhiên, một khi bạn đã cân bằng, phân phối thử nghiệm và phân phối thử nghiệm là khác nhau, do đó bạn cần điều chỉnh mô hình của mình trở lại phân phối thử nghiệm (như trong phương pháp tôi đã đề xuất).
DaL

Trả lời bình luận thứ hai: Thật vậy, điểm đó hơi không rõ ràng. Tôi chỉnh sửa câu trả lời. Bây giờ có rõ không?
DaL

vâng, vì tôi hiểu rằng phân phối đào tạo và kiểm tra nên giống nhau, vì vậy có phải là một giải pháp là sau khi tôi cân bằng tập huấn luyện của mình thành tỷ lệ 50 50, tôi đi và cũng đặt tập kiểm tra của mình thành 50 50 không?
sara

3
  • Câu trả lời ngắn:

bạn cần đối phó với sự mất cân bằng lớp nếu / vì nó làm cho mô hình của bạn tốt hơn (trên dữ liệu không nhìn thấy). "Tốt hơn" là điều mà bạn phải xác định chính mình. Nó có thể là chính xác, nó có thể là một chi phí, nó có thể là tỷ lệ tích cực thực sự, vv

  • Câu trả lời dài:

Có một sắc thái tinh tế rất quan trọng để nắm bắt khi nói về sự mất cân bằng giai cấp. Cụ thể, dữ liệu của bạn bị mất cân bằng vì:

  1. phân phối dữ liệu tự mất cân bằng

Trong một số trường hợp, một lớp xảy ra nhiều hơn một lớp khác. Và nó ổn. Trong trường hợp này, bạn phải xem xét liệu những sai lầm nhất định có tốn kém hơn những lỗi khác hay không. Đây là ví dụ điển hình của việc phát hiện các căn bệnh chết người ở bệnh nhân, tìm hiểu xem ai đó là một kẻ khủng bố, v.v ... Điều này quay trở lại câu trả lời ngắn. Nếu một số sai lầm tốn kém hơn những lỗi khác, bạn sẽ muốn "trừng phạt" chúng bằng cách cho chúng chi phí cao hơn. Do đó, một mô hình tốt hơn sẽ có chi phí thấp hơn. Nếu tất cả các sai lầm là xấu, thì không có lý do thực sự tại sao bạn nên sử dụng các mô hình nhạy cảm với chi phí.

Cũng cần lưu ý rằng việc sử dụng các mô hình nhạy cảm với chi phí không đặc trưng cho các bộ dữ liệu mất cân bằng. Bạn có thể sử dụng các mô hình như vậy nếu dữ liệu của bạn cũng được cân bằng hoàn hảo.

  1. nó không đại diện cho phân phối thực sự của dữ liệu

Đôi khi dữ liệu của bạn bị "mất cân bằng" vì nó không thể hiện sự phân phối dữ liệu thực sự. Trong trường hợp này, bạn phải cẩn thận, vì bạn có "quá nhiều" ví dụ về một lớp và "quá ít" của lớp kia, và do đó, bạn cần đảm bảo rằng mô hình của bạn không vượt quá / không phù hợp với một lớp của các lớp này.

Điều này khác với việc sử dụng chi phí vì có thể không phải là một sai lầm tồi tệ hơn một lỗi khác. Điều gì sẽ xảy ra là bạn sẽ bị thiên vị và sẽ không có lợi cho mô hình của bạn nếu dữ liệu không nhìn thấy không có phân phối giống như dữ liệu bạn đã đào tạo.

Giả sử tôi cung cấp cho bạn dữ liệu đào tạo và mục tiêu của bạn là đoán xem thứ gì đó có màu đỏ hay màu xanh. Cho dù bạn nhầm màu xanh với màu đỏ hay màu đỏ với màu xanh không tạo ra nhiều sự khác biệt. Dữ liệu đào tạo của bạn có 90% trường hợp màu đỏ trong đó ngoài đời thực, chúng chỉ xảy ra 10% thời gian. Bạn sẽ cần phải đối phó với điều đó để làm cho mô hình của bạn tốt hơn.


Câu trả lời rất khó hiểu. Bạn có thể giải thích nhiều hơn với ví dụ về ý nghĩa của bạn bằng cách "Nếu mô hình của bạn tốt hơn bởi vì nó có chi phí thấp, thì hãy giải quyết sự mất cân bằng." Tại sao tôi nên giải quyết sự mất cân bằng nếu mô hình có chi phí thấp?
sara

Tôi đã chỉnh sửa câu trả lời của mình một chút để hy vọng, nó rõ ràng hơn. Điều tôi muốn nói là: "nếu mô hình của bạn được coi là tốt hơn khi nó có chi phí thấp và xử lý sự mất cân bằng sẽ giảm chi phí, thì hãy làm điều đó".
Valentin Calomme
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.