Ketika over / under-sampling kelas tidak seimbang, apakah memaksimalkan akurasi berbeda dari meminimalkan biaya kesalahan klasifikasi?

14

Pertama-tama, saya ingin menjelaskan beberapa tata letak umum yang digunakan buku Penambangan Data yang menjelaskan cara menangani Kumpulan Data Tidak Seimbang . Biasanya bagian utama dinamai Dataset Tidak Seimbang dan mencakup dua subbagian ini: Klasifikasi Sensitif Biaya dan Teknik Pengambilan Sampel.

Tampaknya menghadapi masalah dengan kelas langka, Anda dapat melakukan klasifikasi sensitif biaya dan pengambilan sampel. Sebagai gantinya, saya berpikir bahwa seseorang harus menerapkan teknik sensitif biaya jika kelas langka juga merupakan target klasifikasi dan kesalahan klasifikasi catatan kelas itu mahal.

Di sisi lain, teknik pengambilan sampel, seperti pengambilan sampel berlebih dan pengambilan sampel kurang, berguna jika target klasifikasi adalah akurasi keseluruhan yang baik, tanpa fokus pada kelas tertentu.

Keyakinan ini berasal dari pemikiran MetaCost yang merupakan cara umum untuk membuat classifier menjadi sensitif biaya: jika seseorang ingin membuat classifier sensitif biaya untuk menghukum kesalahan klasifikasi kesalahan kelas langka, dia harus mengambil sampel yang berlebihan di kelas lain . Secara kasar, classifier mencoba beradaptasi dengan kelas lain dan itu menjadi spesifik untuk kelas langka.

Ini adalah kebalikan dari pengambilan sampel berlebihan pada kelas langka, itulah cara yang biasanya disarankan untuk mengatasi masalah ini. Pengambilan sampel berlebihan dari kelas langka atau kurang pengambilan sampel dari kelas lain berguna untuk meningkatkan akurasi keseluruhan.

Tolong, akan lebih bagus jika Anda mengkonfirmasi pikiran saya.

Menyatakan ini, pertanyaan umum yang dihadapi dataset tidak seimbang adalah:

Haruskah saya mencoba untuk mendapatkan dataset yang menghitung sebanyak catatan langka seperti yang lainnya?

Jawaban saya adalah, jika Anda mencari akurasi: OK. Anda dapat melakukannya dengan mencari tahu contoh kelas yang lebih jarang atau menghapus beberapa catatan dari kelas lain.

Jika Anda berfokus pada kelas langka, dengan teknik biaya-sensitif, saya akan menjawab: Anda hanya dapat menemukan contoh kelas yang lebih jarang tetapi Anda tidak boleh menghapus catatan dari kelas lain. Dalam kasus terakhir Anda tidak akan dapat membiarkan classifier beradaptasi dengan kelas lain, dan kesalahan klasifikasi kelas langka dapat meningkat.

Apa yang akan kamu jawab?

Simone
sumber
2
"Mencari tahu" catatan baru untuk kelas langka mungkin tidak mungkin. Saya kira data terstruktur dengan cara ini karena mahal (bioinformatika) atau berisiko (pinjaman bank) untuk menciptakan lebih banyak peristiwa kelas langka.
steffen
Tentu saja, tetapi ini adalah solusi yang umum diajukan. Namun, memang benar bahwa jika Anda dapat menemukan contoh kelas yang lebih langka Anda mungkin dapat menemukan juga contoh lainnya. Karena set pelatihan harus menjadi sampel representatif dari semesta rekaman. Jadi, menurut saya sepertinya melakukan over-sampling.
Simone

Jawaban:

9

Itu pertanyaan yang bagus. Secara pribadi, jawaban saya adalah bahwa tidak pernah masuk akal untuk membuang data (kecuali karena alasan komputasi), karena semakin banyak data yang Anda miliki, semakin baik model dunia Anda. Oleh karena itu, saya menyarankan agar memodifikasi fungsi biaya dengan cara yang sesuai untuk tugas Anda sudah cukup. Misalnya, jika Anda tertarik pada satu kelas langka tertentu, Anda dapat membuat kesalahan klasifikasi kelas ini hanya lebih mahal; jika Anda tertarik pada ukuran seimbang, sesuatu seperti Tingkat Kesalahan Seimbang (rata-rata kesalahan pada setiap kelas) atau Koefisien Korelasi Matthews sesuai; jika Anda hanya tertarik pada kesalahan klasifikasi keseluruhan, kerugian 0-1 tradisional .

Pendekatan modern untuk masalah ini adalah dengan menggunakan Pembelajaran Aktif. Misalnya, Hospedales et al (2011) "Menemukan Kelas Langka: Pembelajaran Aktif dengan Model Generatif dan Diskriminatif, Transaksi IEEE tentang Pengetahuan dan Rekayasa Data, (TKDE 2011) . Namun saya percaya pendekatan ini masih relatif kurang matang.

tdc
sumber
Ukuran yang menarik, Metthews satu jika seseorang membutuhkan ukuran yang seimbang. Namun, mengingat kami tidak ingin menghapus catatan apa pun, sebelum melakukan pengambilan sampel atau modifikasi pada fungsi biaya, apakah Anda akan menyeimbangkan ulang dataset dengan menambahkan contoh kelas langka? Saya pikir jawabannya bisa TIDAK. Karena selama Anda menemukan contoh kelas langka, Anda dapat menemukan contoh lainnya. Jadi, untuk mendapatkan ukuran seimbang yang lebih baik atau ukuran kinerja kelas langka yang lebih baik (misalnya ukuran-F) saya akan melakukan teknik (seperti pengambilan sampel atau mod biaya) hanya setelah fase pengumpulan data. Apa kamu setuju?
Simone
Setuju, operasi apa pun seperti ini harus dilakukan setelah fase pengumpulan data.
tdc