Pembelajaran yang diawasi dengan peristiwa "langka", ketika kelangkaan disebabkan oleh sejumlah besar peristiwa kontra faktual

13

Misalkan Anda bisa mengamati "kecocokan" antara pembeli dan penjual di suatu pasar. Anda juga bisa mengamati karakteristik pembeli dan penjual yang ingin Anda gunakan untuk memprediksi pertandingan di masa depan & membuat rekomendasi untuk kedua sisi pasar.

Untuk kesederhanaan, anggap ada N pembeli dan penjual N dan bahwa masing-masing menemukan kecocokan. Ada N yang cocok dan (N-1) (N-1) tidak cocok. Dataset pelatihan yang mencakup semua memiliki pengamatan N + (N-1) * (N-1), yang bisa sangat besar. Tampaknya pengambilan sampel secara acak dari (N-1) (N-1) yang tidak cocok dan melatih algoritma tentang pengurangan data bisa lebih efisien. Pertanyaan saya adalah:

(1) Apakah pengambilan sampel dari yang tidak cocok untuk membangun dataset pelatihan merupakan cara yang masuk akal untuk menangani masalah ini?

(2) Jika (1) benar, apakah ada cara yang keras untuk memutuskan seberapa besar potongan (N-1) (N-1) untuk dimasukkan?

John Horton
sumber

Jawaban:

11

Jika saya mengerti dengan benar, Anda memiliki masalah klasifikasi dua kelas, di mana kelas positif (cocok) jarang terjadi. Banyak pengklasifikasi berjuang dengan ketidakseimbangan kelas seperti itu, dan merupakan praktik umum untuk mengambil sampel kelas mayoritas untuk mendapatkan kinerja yang lebih baik, jadi jawaban untuk pertanyaan pertama adalah "ya". Namun, jika Anda melakukan sub-sampel terlalu banyak, Anda akan berakhir dengan pengklasifikasi yang terlalu memprediksikan kelas positif minoritas, jadi hal terbaik yang harus dilakukan adalah memilih ransum sub-sampling untuk memaksimalkan kinerja, mungkin dengan meminimalkan persilangan. kesalahan validasi ketika data uji belum disampel jadi Anda mendapatkan indikasi kinerja operasional yang baik.

Jika Anda memiliki pengklasifikasi probabilistik, yang memberikan perkiraan kemungkinan keanggotaan kelas, Anda dapat memilih yang lebih baik dan mengolah output untuk mengkompensasi perbedaan antara frekuensi kelas dalam set pelatihan dan dalam operasi. Saya menduga bahwa untuk beberapa pengklasifikasi, pendekatan optimal adalah untuk mengoptimalkan rasio sub-sampling dan koreksi terhadap output dengan mengoptimalkan kesalahan validasi silang.

Daripada sub-sampling, untuk beberapa pengklasifikasi (misalnya SVM) Anda dapat memberikan bobot yang berbeda untuk pola positif dan negatif. Saya lebih suka ini daripada sub-sampling karena itu berarti tidak ada variabilitas dalam hasil karena sub-sampel tertentu yang digunakan. Jika hal ini tidak memungkinkan, gunakan bootstrap untuk membuat classifier kantong, di mana sub-sampel yang berbeda dari kelas mayoritas digunakan di setiap iterasi.

Satu hal lain yang akan saya katakan adalah bahwa umumnya di mana terdapat ketidakseimbangan kelas yang besar, kesalahan negatif palsu dan kesalahan positif palsu tidak sama buruknya, dan merupakan ide yang baik untuk membangun ini ke dalam desain classifier (yang dapat diselesaikan oleh sub -sampling atau pola pembobotan milik masing-masing kelas).

Dikran Marsupial
sumber
3
(+1), namun saya pikir kita harus membedakan antara tujuan peringkat (mengukur: AUC) dan memisahkan dua kelas (mengukur: Akurasi). Dalam kasus sebelumnya, diberikan kelas probabilitas probabilistik seperti Naif Bayes, ketidakseimbangan memainkan peran yang lebih rendah, saya kira. Atau haruskah seseorang khawatir dalam kasus ini juga? Pertanyaan lain: Apa yang Anda maksud dengan "post-process the output"? Mengkonversi skor menjadi probabilitas aktual?
steffen
@ Seffen Intuisi saya adalah bahwa masalah ketidakseimbangan kelas kurang menjadi masalah peringkat, tetapi itu tidak akan hilang sepenuhnya (saya sedang mengerjakan makalah tentang masalah ini, jadi itu adalah sesuatu yang layak untuk diselesaikan). Dengan post-processing, saya bermaksud melipatgandakan output dengan rasio frekuensi kelas operasional dan pelatihan dan kemudian menormalkan kembali sehingga probabilitas semua hasil yang mungkin dijumlahkan menjadi satu. Namun dalam prakteknya faktor penskalaan optimal aktual agaknya agak berbeda - karenanya optimalkan dengan XVAL (tetapi masih dinormalisasi ulang).
Dikran Marsupial
1

Tentang (1). Anda perlu menjaga pengamatan positif dan negatif jika Anda ingin hasil yang bermakna.
(2) Tidak ada metode yang lebih bijaksana untuk subsampling daripada distribusi seragam jika Anda tidak memiliki apriori pada data Anda.

Ugo
sumber
Terima kasih Ugo - setuju, pasti ada kebutuhan pertandingan dan non-pertandingan dalam data pelatihan. Pertanyaannya adalah tentang berapa banyak (N-1) (N-1) yang tidak cocok diperlukan. Untuk bagian (2), saya pasti akan sampel w / berat yang sama di atas semua pengamatan.
John Horton
Nah jika Anda tidak memiliki apriori pada data Anda, tidak ada cara yang masuk akal untuk mengambil sampel data. Jadi, Anda harus melakukan pengambilan sampel yang seragam, dan dalam hal ini, semakin banyak Anda mengambil, semakin baik. Namun Anda dapat memperkirakan kesalahan yang diperkenalkan oleh pengambilan sampel, tetapi kami kehilangan informasi di sini untuk membantu Anda dalam hal ini.
Ugo
Sepertinya saya bahwa kesalahan akan tergantung pada jenis classifier yang digunakan. Pokoknya Anda selalu dapat mencoba untuk memprediksi pada laju sampel yang berbeda dan memperbaiki ambang di mana Anda pikir kesalahan yang diperkenalkan memuaskan.
Ugo