Pendapat tentang Oversampling secara umum, dan algoritma SMOTE pada khususnya [ditutup]

18

Apa pendapat Anda tentang oversampling dalam klasifikasi secara umum, dan algoritma SMOTE pada khususnya? Mengapa kita tidak hanya menerapkan biaya / penalti untuk menyesuaikan ketidakseimbangan dalam data kelas dan biaya kesalahan yang tidak seimbang? Untuk tujuan saya, keakuratan prediksi untuk satu set unit eksperimental di masa depan adalah ukuran utama.

Untuk referensi, makalah SMOTE: http://www.jair.org/papers/paper953.html

Dave Cummins
sumber
1
Salah satu masalah dengan oversampling kelas minoritas dalam dataset yang tidak seimbang adalah Anda akan berakhir terlalu banyak belajar dari spesifik beberapa contoh, dan itu tidak akan menggeneralisasi dengan baik. SMOTE seharusnya mempelajari sifat-sifat topologi lingkungan dari titik-titik tersebut di kelas minoritas, sehingga Anda cenderung untuk tidak berpakaian berlebihan.
horaceT
2
Ini adalah topik yang bagus untuk sebuah pertanyaan, tetapi bisakah Anda membuatnya sedikit lebih fokus? "Apa pendapat Anda?" mengundang diskusi tanpa akhir tetapi kami cenderung lebih fokus pada format pertanyaan / jawaban.
Sycorax berkata Reinstate Monica

Jawaban:

19

{1} memberikan daftar keuntungan dan kerugian dari pembelajaran yang sensitif biaya vs. pengambilan sampel:

2.2 Pengambilan sampel

Oversampling dan undersampling dapat digunakan untuk mengubah distribusi kelas dari data pelatihan dan kedua metode telah digunakan untuk mengatasi ketidakseimbangan kelas [1, 2, 3, 6, 10, 11]. Alasan bahwa mengubah distribusi kelas dari data pelatihan membantu belajar dengan set data yang sangat miring adalah bahwa hal itu secara efektif membebankan biaya kesalahan klasifikasi yang tidak seragam. Sebagai contoh, jika seseorang mengubah distribusi kelas dari set pelatihan sehingga rasio contoh positif ke negatif naik dari 1: 1 menjadi 2: 1, maka seseorang telah secara efektif menetapkan rasio biaya kesalahan klasifikasi 2: 1. Kesetaraan ini antara mengubah distribusi kelas dari data pelatihan dan mengubah rasio biaya kesalahan klasifikasi sudah dikenal dan secara formal dijelaskan oleh Elkan [9].

Ada kelemahan yang diketahui terkait dengan penggunaan sampel untuk menerapkan pembelajaran yang sensitif biaya. The Kerugian dengan undersampling adalah bahwa hal itu data yang membuang berpotensi berguna . Kerugian utama dengan oversampling , dari sudut pandang kami, adalah bahwa dengan membuat salinan persis dari contoh yang ada, itu membuat kemungkinan overfitting . Kenyataannya, dengan oversampling, cukup umum bagi seorang pelajar untuk menghasilkan aturan klasifikasi untuk mencakup contoh tunggal yang direplikasi. Kelemahan kedua dari oversampling adalah meningkatkan jumlah contoh pelatihan, sehingga meningkatkan waktu belajar .

2.3 Mengapa Menggunakan Sampling?

Mengingat kerugian dengan pengambilan sampel, perlu ditanyakan mengapa ada orang yang akan menggunakannya daripada algoritma pembelajaran yang sensitif biaya untuk menangani data dengan distribusi kelas yang miring dan biaya kesalahan klasifikasi yang tidak seragam. Ada beberapa alasan untuk ini. Alasan yang paling jelas adalah tidak ada implementasi biaya-sensitif dari semua algoritma pembelajaran dan oleh karena itu pendekatan berbasis pembungkus menggunakan sampling adalah satu-satunya pilihan. Meskipun hal ini tentu saja kurang benar hari ini daripada di masa lalu, banyak algoritma pembelajaran (misalnya, C4.5) masih tidak secara langsung menangani biaya dalam proses pembelajaran.

Alasan kedua untuk menggunakan pengambilan sampel adalah bahwa banyak set data yang sangat miring sangat besar dan ukuran set pelatihan harus dikurangi agar pembelajaran menjadi layak. Dalam hal ini, undersampling tampaknya merupakan strategi yang masuk akal dan valid. Dalam makalah ini kami tidak mempertimbangkan kebutuhan untuk mengurangi ukuran set pelatihan. Kami akan menunjukkan, bagaimanapun, bahwa jika seseorang perlu membuang beberapa data pelatihan, mungkin masih bermanfaat untuk membuang beberapa contoh kelas mayoritas untuk mengurangi ukuran set pelatihan ke ukuran yang diperlukan, dan kemudian juga menggunakan biaya- algoritma pembelajaran sensitif, sehingga jumlah data pelatihan yang dibuang diminimalkan.

Alasan terakhir yang mungkin telah berkontribusi pada penggunaan sampel daripada algoritma pembelajaran yang sensitif biaya adalah bahwa biaya kesalahan klasifikasi sering tidak diketahui. Namun, ini bukan alasan yang valid untuk menggunakan pengambilan sampel melalui algoritma pembelajaran yang sensitif biaya, karena masalah analog muncul dengan pengambilan sampel — seperti apa seharusnya distribusi kelas dari data pelatihan akhir? Jika informasi biaya ini tidak diketahui, ukuran seperti area di bawah kurva ROC dapat digunakan untuk mengukur kinerja classifier dan kedua pendekatan kemudian dapat secara empiris menentukan rasio biaya / distribusi kelas yang tepat.

Mereka juga melakukan serangkaian percobaan, yang tidak meyakinkan:

Berdasarkan hasil dari semua set data, tidak ada pemenang yang pasti antara pembelajaran yang sensitif biaya, oversampling dan undersampling

Mereka kemudian mencoba untuk memahami kriteria mana dalam kumpulan data yang mungkin mengisyaratkan teknik mana yang lebih cocok.

Mereka juga berkomentar bahwa SMOTE dapat membawa beberapa peningkatan:

Ada berbagai peningkatan yang telah dilakukan orang untuk meningkatkan efektivitas pengambilan sampel. Beberapa perangkat tambahan ini termasuk memperkenalkan contoh "sintetis" baru ketika oversampling [5 -> SMOTE], menghapus contoh kelas mayoritas yang kurang bermanfaat ketika undersampling [11] dan menggunakan beberapa sub-sampel saat undersampling dari masing-masing contoh yang digunakan dalam setidaknya satu sub-sampel [3]. Meskipun teknik-teknik ini telah dibandingkan dengan oversampling dan undersampling, mereka umumnya belum dibandingkan dengan algoritma pembelajaran yang sensitif biaya. Ini layak dipelajari di masa depan.


{1} Weiss, Gary M., Kate McCarthy, dan Bibi Zabar. "Pembelajaran sensitif biaya vs. pengambilan sampel: Mana yang terbaik untuk menangani kelas yang tidak seimbang dengan biaya kesalahan yang tidak sama?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=id&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Franck Dernoncourt
sumber
2
Ketika Anda mengatakan "algoritma pembelajaran sensitif biaya", haruskah otak saya berpikir "menghukum kelas dengan frekuensi tinggi kejadian dan mungkin menetapkan lebih penting untuk kelas dengan frekuensi rendah"? Apakah konsep ini setara dengan menugaskan bobot kelas?
Jarad