Apakah SVM menangani dataset yang tidak seimbang? Apakah ada parameter (seperti C, atau biaya kesalahan klasifikasi) yang menangani dataset yang tidak seimbang?
Apakah SVM menangani dataset yang tidak seimbang? Apakah ada parameter (seperti C, atau biaya kesalahan klasifikasi) yang menangani dataset yang tidak seimbang?
Jawaban:
Untuk set data yang tidak seimbang, kami biasanya mengubah penalti kesalahan klasifikasi per kelas. Ini disebut SVM kelas-tertimbang, yang meminimalkan hal berikut:
di mana dan mewakili contoh pelatihan positif / negatif. Dalam SVM standar kita hanya memiliki nilai tunggal , sedangkan sekarang kita memiliki 2. Denda kesalahan klasifikasi untuk kelas minoritas dipilih untuk menjadi lebih besar daripada kelas mayoritas.
Pendekatan ini diperkenalkan cukup awal, disebutkan misalnya dalam makalah 1997:
Edgar Osuna, Robert Freund, dan Federico Girosi. Dukungan Mesin Vektor: Pelatihan dan Aplikasi. Laporan Teknis AIM-1602, 1997. ( pdf )
Pada dasarnya ini setara dengan oversampling kelas minoritas: misalnya jika ini sepenuhnya setara dengan pelatihan SVM standar dengan setelah memasukkan setiap positif dua kali dalam set pelatihan.
SVM mampu menangani dataset dengan frekuensi kelas yang tidak seimbang. Banyak implementasi memungkinkan Anda untuk memiliki nilai yang berbeda untuk slack penalti (C) untuk kelas positif dan negatif (yang secara asimtotik setara dengan mengubah frekuensi kelas). Saya akan merekomendasikan pengaturan nilai-nilai parameter ini untuk memaksimalkan kinerja generalisasi pada set tes di mana frekuensi kelas adalah yang Anda harapkan untuk dilihat dalam penggunaan operasional.
Saya adalah salah satu dari banyak orang yang menulis makalah tentang ini, ini milik saya , saya akan melihat apakah saya dapat menemukan sesuatu yang lebih baru / lebih baik. Coba Veropoulos, Campbell dan Cristianini (1999).