Apa itu class imbalance dalam machine learning?
Class imbalance terjadi ketika satu kelas dalam dataset klasifikasi punya contoh jauh lebih banyak daripada kelas lain, misalnya 990 transaksi normal untuk setiap 10 transaksi penipuan. Model yang dilatih dengan data seperti ini bisa mencapai akurasi tinggi hanya dengan selalu memprediksi kelas yang umum, sementara kelas langka yang seharusnya ia temukan terlewat.
Ketidakseimbangan adalah kondisi normal di banyak masalah terapan: deteksi penipuan, skrining penyakit langka, deteksi cacat manufaktur, prediksi churn, dan prediksi click-through semuanya punya porsi kelas minoritas beberapa persen atau kurang. Cara standar mengatasinya terbagi tiga: resample data training (oversampling, SMOTE, undersampling), ubah loss (class weight, focal loss), dan evaluasi dengan metrik yang mengabaikan ukuran kelas mayoritas, seperti precision, recall, dan kurva precision-recall.
Ide utama
- Class imbalance berarti jumlah satu kelas jauh melebihi kelas lain di data training.
- Akurasi menghargai model yang selalu memprediksi mayoritas, jadi kegagalan pada kelas minoritas tersembunyi.
- Oversampling dan SMOTE menambah contoh minoritas; undersampling membuang contoh mayoritas.
- Resampling hanya boleh diterapkan pada bagian training, setelah data dibagi.
- Class weight menaikkan biaya kesalahan minoritas tanpa mengubah data.
- Precision, recall, F1, dan kurva precision-recall mengukur hal yang penting pada data tidak seimbang.
Ulasan singkat tentang topik ini
Pertanyaan umum
Sebaiknya pakai SMOTE atau class weight?
Mulai dengan class weight atau threshold tuning, karena keduanya sederhana, tidak butuh data sintetis, dan bisa dipakai di sebagian besar model. SMOTE bisa membantu weak learner pada dataset tabular kecil, tetapi studi dengan model kuat seperti gradient-boosted tree sering hanya menemukan sedikit keuntungan dibanding weighting. Bandingkan opsinya dengan cross-validation memakai metrik yang sesuai dengan tugasnya.
Bagaimana deep learning menangani class imbalance?
Alat yang umum adalah weighted cross-entropy, oversampling kelas langka di tiap batch, dan focal loss. Focal loss, yang diperkenalkan untuk object detection, mengalikan loss tiap contoh dengan (1 − p_t)^γ, sehingga contoh mudah yang diklasifikasikan dengan yakin hanya sedikit berkontribusi dan training berfokus pada contoh sulit. Data augmentation untuk kelas minoritas adalah opsi lain pada gambar dan audio.
Rasio berapa yang sebaiknya dipakai saat menyeimbangkan kelas?
Keseimbangan penuh 50/50 tidak wajib dan sering berlebihan. Rasio seperti 1:2 sampai 1:5 adalah titik awal yang umum, dan yang terbaik dipilih seperti hyperparameter lain, pada data validasi. Test set harus mempertahankan rasio kelas sebenarnya supaya skornya sesuai dengan kondisi produksi.
Bagaimana memperbaiki probabilitas prediksi setelah resampling?
Model yang dilatih dengan data yang sudah diseimbangkan mempelajari prior data training, bukan prior sebenarnya. Kalikan odds prediksinya p/(1 − p) dengan odds kelas sebenarnya dibagi odds kelas training, lalu ubah kembali menjadi probabilitas. Kalibrasi ulang pada data validasi dengan rasio kelas sebenarnya, misalnya dengan Platt scaling atau isotonic regression, juga bisa.
Penjelasan terkait
- Evaluasi Model dan Metrik · Precision, recall, F1, kurva ROC, dan metrik regresi
- Data Augmentation · Perbanyak data training secara buatan dengan salinan hasil transformasi untuk mengurangi overfitting
- Loss Function · Cara network mengukur kesalahannya
- Cross-Validation · Evaluasi dengan k-fold, stratified, dan leave-one-out
- Klasifikasi vs Regresi · Dua jenis prediksi dan kapan memakai masing-masing
- Data Preprocessing · Membersihkan, melakukan scaling, dan encoding data mentah
Referensi
- Chawla, Bowyer, Hall & Kegelmeyer (2002), "SMOTE: Synthetic Minority Over-sampling Technique", JAIR
- He & Garcia (2009), "Learning from Imbalanced Data", IEEE TKDE
- Lin, Goyal, Girshick, He & Dollár (2017), "Focal Loss for Dense Object Detection"
- Saito & Rehmsmeier (2015), "The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets", PLoS ONE
Terakhir diperbarui