SVM có xử lý dữ liệu không cân bằng không? Có bất kỳ tham số nào (như C, hoặc chi phí phân loại sai) xử lý bộ dữ liệu không cân bằng không?
SVM có xử lý dữ liệu không cân bằng không? Có bất kỳ tham số nào (như C, hoặc chi phí phân loại sai) xử lý bộ dữ liệu không cân bằng không?
Câu trả lời:
Đối với các tập dữ liệu không cân bằng, chúng tôi thường thay đổi hình phạt phân loại sai cho mỗi lớp. Đây được gọi là SVM có trọng số lớp, giúp giảm thiểu các điều sau:
trong đó và đại diện cho các trường hợp đào tạo tích cực / tiêu cực. Trong SVM tiêu chuẩn, chúng tôi chỉ có một giá trị duy nhất , trong khi hiện tại chúng tôi có 2. Hình phạt phân loại sai cho lớp thiểu số được chọn là lớn hơn so với lớp đa số.
Cách tiếp cận này được giới thiệu khá sớm, nó được đề cập ví dụ trong một bài báo năm 1997:
Edgar Osuna, Robert Freund và Federico Girosi. Hỗ trợ máy Vector: Đào tạo và ứng dụng. Báo cáo kỹ thuật AIM-1602, 1997. ( pdf )
Về cơ bản, điều này tương đương với việc chồng chéo lớp thiểu số: ví dụ nếu thì điều này hoàn toàn tương đương với việc đào tạo một SVM tiêu chuẩn với sau khi bao gồm hai lần tích cực trong tập huấn luyện.
Các SVM có thể xử lý các bộ dữ liệu với tần số lớp không cân bằng. Nhiều triển khai cho phép bạn có một giá trị khác nhau cho hình phạt chùng (C) đối với các lớp dương và âm (tương đương với việc thay đổi tần số lớp). Tôi sẽ khuyên bạn nên thiết lập các giá trị của các tham số này để tối đa hóa hiệu suất tổng quát hóa trên tập kiểm tra trong đó tần số lớp là tần số bạn muốn thấy trong sử dụng vận hành.
Tôi là một trong số nhiều người đã viết bài báo về vấn đề này, đây là của tôi , tôi sẽ xem liệu tôi có thể tìm thấy thứ gì đó gần đây / tốt hơn không. Hãy thử Veropoulos, Campbell và Cristianini (1999).