Tôi nên đi tìm bộ dữ liệu 'cân bằng' hay bộ dữ liệu 'đại diện'?


48

Nhiệm vụ 'học máy' của tôi là tách lưu lượng truy cập Internet lành tính khỏi lưu lượng độc hại. Trong kịch bản thế giới thực, hầu hết (nói 90% trở lên) lưu lượng truy cập Internet là lành tính. Vì vậy, tôi cảm thấy rằng tôi nên chọn một thiết lập dữ liệu tương tự để đào tạo các mô hình của mình. Nhưng tôi đã bắt gặp một hoặc hai bài nghiên cứu (trong lĩnh vực công việc của tôi) đã sử dụng phương pháp tiếp cận dữ liệu "cân bằng lớp" để đào tạo các mô hình, ngụ ý một số lượng tương đương lưu lượng truy cập lành tính và độc hại.

Nói chung, nếu tôi đang xây dựng các mô hình học máy, tôi nên tìm một tập dữ liệu đại diện cho vấn đề trong thế giới thực hoặc là một tập dữ liệu cân bằng phù hợp hơn để xây dựng các mô hình (vì các trình phân loại nhất định không hoạt động tốt với sự mất cân bằng lớp, hoặc do những lý do khác mà tôi không biết)?

Ai đó có thể làm sáng tỏ hơn về những ưunhược điểm của cả hai lựa chọn và làm thế nào để quyết định chọn cái nào?

Câu trả lời:


38

Tôi muốn nói câu trả lời phụ thuộc vào trường hợp sử dụng của bạn. Dựa trên kinh nghiệm của tôi:

  • Nếu bạn đang cố gắng xây dựng một mô hình đại diện - mô hình mô tả dữ liệu chứ không nhất thiết phải dự đoán - thì tôi sẽ đề xuất sử dụng một mẫu đại diện cho dữ liệu của bạn.
  • Nếu bạn muốn xây dựng một mô hình dự đoán, đặc biệt là mô hình hoạt động tốt bằng cách đo AUC hoặc thứ tự xếp hạng và lên kế hoạch sử dụng khung ML cơ bản (ví dụ: Cây quyết định, SVM, Naive Bayes, v.v.), thì tôi khuyên bạn nên cung cấp khung dữ liệu cân bằng. Phần lớn các tài liệu về sự mất cân bằng của lớp phát hiện ra rằng việc lấy mẫu ngẫu nhiên (lấy mẫu lớp đa số theo kích cỡ của lớp thiểu số) có thể thúc đẩy tăng hiệu suất.
  • Nếu bạn đang xây dựng một mô hình dự đoán, nhưng đang sử dụng một khung nâng cao hơn (nghĩa là một cái gì đó xác định các tham số lấy mẫu thông qua trình bao bọc hoặc sửa đổi khung đóng gói lấy mẫu tương đương lớp), thì tôi sẽ đề nghị một lần nữa cho ăn mẫu đại diện và cho phép thuật toán đảm nhiệm việc cân bằng dữ liệu cho đào tạo.

2
Nếu bạn đang cố gắng xây dựng một mô hình đại diện - mô hình mô tả dữ liệu chứ không nhất thiết phải dự đoán ... ai sẽ xây dựng một mô hình không dự đoán trước ?? Không đưa bạn đến đó ...
pnp

8
Học tập không giám sát sẽ là một ví dụ trong đó bạn xây dựng một mô hình không nhất thiết phải dự đoán. Trong một số trường hợp, bạn có thể muốn khám phá hoặc tóm tắt dữ liệu của mình.
DSea

1
Tôi muốn nói rằng an toàn hơn để cân bằng mẫu của bạn, nhưng cũng thu thập trọng lượng mẫu để sau này bạn có thể cân lại dữ liệu của mình cho tính đại diện nếu bạn cần. @pnp rất nhiều nhà khoa học xã hội xây dựng các mô hình không dự đoán, ví dụ để xác nhận các lý thuyết.
Shadowtalker

Làm thế nào một mô hình cân bằng so với một mô hình đại diện sử dụng các quan sát có trọng số để bắt chước một mô hình cân bằng?
JenSCDC

1
AUC không bị ảnh hưởng bởi sự mất cân bằng của lớp, là xác suất mà mô hình của bạn xếp hạng một lớp tích cực được chọn ngẫu nhiên cao hơn một lớp phủ định được chọn ngẫu nhiên. Tôi khá không đồng ý với lời khuyên của bạn ở đây cho mục đích chung. Nếu bạn có một mẫu đại diện, ví dụ, một mẫu ngẫu nhiên đơn giản, thì nó phải là mẫu đại diện.
Matthew Drury

8

Tôi nghĩ nó luôn phụ thuộc vào kịch bản. Sử dụng một bộ dữ liệu đại diện không phải lúc nào cũng là giải pháp. Giả sử rằng tập huấn luyện của bạn có 1000 ví dụ tiêu cực và 20 ví dụ tích cực. Nếu không có bất kỳ sửa đổi nào của trình phân loại, thuật toán của bạn sẽ có xu hướng phân loại tất cả các ví dụ mới là âm. Trong một số tình huống, điều này là ổn Nhưng trong nhiều trường hợp, chi phí của các ví dụ thiếu sót là cao nên bạn phải tìm giải pháp cho nó.

Trong những trường hợp như vậy, bạn có thể sử dụng thuật toán học máy nhạy cảm với chi phí. Ví dụ trong trường hợp phân tích dữ liệu chẩn đoán y tế.

Tóm lại: Lỗi phân loại không có cùng chi phí!


7

Luôn luôn có giải pháp để thử cả hai cách tiếp cận và giữ cho phương pháp tối đa hóa các màn trình diễn dự kiến.

Trong trường hợp của bạn, tôi cho rằng bạn thích giảm thiểu âm tính giả với chi phí của một số dương tính giả, vì vậy bạn muốn thiên vị phân loại của bạn so với tiêu cực mạnh trước đó và giải quyết sự mất cân bằng bằng cách giảm số lượng ví dụ tiêu cực trong tập huấn luyện của bạn.

Sau đó, tính toán độ chính xác / thu hồi hoặc độ nhạy / độ đặc hiệu hoặc bất kỳ tiêu chí nào phù hợp với bạn trên bộ dữ liệu đầy đủ, không cân bằng để đảm bảo bạn đã bỏ qua một mẫu quan trọng có trong dữ liệu thực trong khi xây dựng mô hình trên dữ liệu giảm.


4

Phân tách các hoạt động và các kịch bản đào tạo.

Kịch bản hoạt động là kịch bản mà phân loại của bạn sẽ được đo. Đây là nơi bạn nên thực hiện tốt. Sử dụng nên có một bộ dữ liệu đại diện cho kịch bản này.

Kịch bản đào tạo là bất cứ điều gì bạn đang làm để xây dựng một bộ phân loại sẽ hoạt động tốt trên kịch bản hoạt động.

Nhiều lần các bộ dữ liệu trong cả hai kịch bản có cùng bản chất nên không cần phân biệt chúng. Ví dụ: bạn có một số cửa hàng trực tuyến để bạn sử dụng cho việc đào tạo sử dụng trong quá khứ để thực hiện tốt việc sử dụng trong tương lai. Tuy nhiên, trong khi đào tạo, bạn có thể sử dụng một bộ dữ liệu khác với dữ liệu đại diện cho kịch bản hoạt động. Trên thực tế, nếu bạn ngủ, mơ thấy một bộ phân loại, xác nhận nó trong kịch bản hoạt động của bạn (bước này nên được thực hiện sau khi thức dậy), bạn vẫn tốt như sau khi đi theo con đường học máy thông thường.

Sự khác biệt giữa các kịch bản hoạt động và đào tạo trở nên quan trọng khi bộ dữ liệu bị mất cân bằng. Hầu hết các thuật toán sẽ không hoạt động tốt trên một tập dữ liệu như vậy.

Vì vậy, đừng ngần ngại sử dụng hai bộ dữ liệu - Bạn có thể sử dụng bộ dữ liệu cân bằng cho khóa đào tạo. Khi bạn đã hoàn tất, xác thực phân loại của bạn về bộ dữ liệu hoạt động.


3

Tôi nghĩ có hai vấn đề riêng biệt cần xem xét: Thời gian đào tạo và độ chính xác dự đoán.

Lấy một ví dụ đơn giản: xem xét bạn có hai lớp, có phân phối chuẩn nhiều biến. Về cơ bản, bạn cần ước tính các phương tiện lớp tương ứng và hiệp phương sai lớp. Bây giờ, điều đầu tiên bạn quan tâm là ước tính của bạn về sự khác biệt trong lớp có nghĩa là: nhưng hiệu suất của bạn bị giới hạn bởi độ chính xác của trung bình ước tính tồi tệ nhất: không có nghĩa là ước tính tốt cho vị trí thập phân thứ 100 - nếu ý nghĩa khác chỉ là ước tính đến 1 chữ số thập phân. Vì vậy, thật lãng phí tài nguyên máy tính để sử dụng tất cả dữ liệu - thay vào đó bạn có thể gạch dưới lớp phổ biến hơn và xem xét lại các lớp một cách thích hợp. (những tài nguyên điện toán đó sau đó có thể được sử dụng để khám phá các biến đầu vào khác nhau, v.v.)

Bây giờ vấn đề thứ hai là độ chính xác dự đoán: các thuật toán khác nhau sử dụng các số liệu lỗi khác nhau, có thể hoặc không thể đồng ý với các mục tiêu của riêng bạn. Ví dụ, hồi quy logistic sẽ xử phạt lỗi xác suất tổng thể, vì vậy nếu hầu hết dữ liệu của bạn là từ một lớp, thì nó sẽ có xu hướng cố gắng cải thiện các ước tính xác suất chính xác (ví dụ: xác suất 90 so với 95%) của một lớp đó thay vì cố gắng xác định Lớp hiếm. Trong trường hợp đó, bạn chắc chắn sẽ muốn thử viết lại để nhấn mạnh lớp hiếm (và sau đó điều chỉnh ước tính [bằng cách điều chỉnh thuật ngữ sai lệch] để có được ước tính xác suất được sắp xếp lại)

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.