Pertimbangkan set data yang berisi label kategoris yang nilainya Positif atau Negatif. Dalam set data yang seimbang, jumlah label Positif dan Negatif kira-kira sama. Namun, jika satu label lebih umum daripada label lainnya, set data tersebut tidak seimbang. Label yang dominan dalam set data yang tidak seimbang disebut class mayoritas; label yang kurang umum disebut class minoritas.
Tabel berikut memberikan nama dan rentang yang umumnya diterima untuk berbagai tingkat ketidakseimbangan:
Persentase data yang termasuk dalam class minoritas | Tingkat ketidakseimbangan |
---|---|
20–40% set data | Ringan |
1-20% set data | Sedang |
<1% set data | Ekstrem |
Misalnya, pertimbangkan set data deteksi virus dengan kelas minoritas yang mewakili 0,5% set data dan kelas mayoritas mewakili 99,5%. Set data yang sangat tidak seimbang seperti ini umum terjadi dalam kedokteran karena sebagian besar subjek tidak akan memiliki virus.
Set data yang tidak seimbang terkadang tidak berisi cukup contoh kelas minoritas untuk melatih model dengan benar. Artinya, dengan sedikit sekali label positif, model hampir secara eksklusif dilatih dengan label negatif dan tidak dapat mempelajari label positif dengan cukup. Misalnya, jika ukuran batch adalah 50, banyak batch tidak akan berisi label positif.
Sering kali, terutama untuk set data yang sedikit tidak seimbang dan beberapa set data yang tidak seimbang secara moderat, ketidakseimbangan bukanlah masalah. Jadi, Anda harus mencoba pelatihan pada set data asli terlebih dahulu. Jika model berfungsi dengan baik, Anda sudah selesai. Jika tidak, setidaknya model yang kurang optimal memberikan dasar pengukuran yang baik untuk eksperimen mendatang. Setelah itu, Anda dapat mencoba teknik berikut untuk mengatasi masalah yang disebabkan oleh set data yang tidak seimbang.
Downsampling dan Upweighting
Salah satu cara untuk menangani set data yang tidak seimbang adalah dengan mengurangi sampel dan meningkatkan bobot kelas mayoritas. Berikut adalah definisi dari dua istilah baru tersebut:
- Downsampling (dalam konteks ini) berarti pelatihan pada subset contoh class mayoritas yang rendah dan tidak proporsional.
- Peningkatan bobot berarti menambahkan contoh bobot ke class yang didownsample yang sama dengan faktor yang digunakan untuk melakukan downsampling.
Langkah 1: Downsample class mayoritas. Pertimbangkan set data virus yang ditampilkan dalam Gambar 5 yang memiliki rasio 1 label positif untuk setiap 200 label negatif. Downsampling dengan faktor 10 akan meningkatkan keseimbangan menjadi 1 positif untuk 20 negatif (5%). Meskipun set pelatihan yang dihasilkan masih sedang tidak seimbang, proporsi positif terhadap negatif jauh lebih baik daripada proporsi asli yang sangat tidak seimbang (0,5%).
Langkah 2: Tingkatkan bobot class yang didownsample: Tambahkan contoh bobot ke class yang didownsample. Setelah downsampling dengan faktor 10, bobot contohnya harus 10. (Ya, hal ini mungkin tampak berlawanan dengan intuisi, tetapi kita akan menjelaskan alasannya nanti.)
Istilah bobot tidak mengacu pada parameter model (seperti, w1 atau w2). Di sini, bobot mengacu pada bobot contoh, yang meningkatkan pentingnya setiap contoh selama pelatihan. Contoh bobot 10 berarti model memperlakukan contoh tersebut sebagai 10 kali lebih penting (saat menghitung kerugian) daripada contoh bobot 1.
Bobot harus sama dengan faktor yang Anda gunakan untuk melakukan downsampling:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Mungkin tampak aneh untuk menambahkan contoh bobot setelah downsampling. Lagi pula, Anda mencoba membuat model meningkatkan kelas minoritas, jadi mengapa meningkatkan bobot kelas mayoritas? Faktanya, menaikkan bobot class mayoritas cenderung mengurangi bias prediksi. Artinya, peningkatan bobot setelah downsampling cenderung mengurangi delta antara rata-rata prediksi model dan rata-rata label set data Anda.
Rasio penyeimbangan ulang
Berapa banyak Anda harus melakukan downsampling dan menaikkan bobot untuk menyeimbangkan set data? Untuk menentukan jawabannya, Anda harus bereksperimen dengan rasio penyeimbangan ulang, seperti halnya Anda bereksperimen dengan hyperparameter lainnya. Namun, jawabannya pada akhirnya bergantung pada faktor-faktor berikut:
- Ukuran batch
- Rasio ketidakseimbangan
- Jumlah contoh dalam set pelatihan
Idealnya, setiap batch harus berisi beberapa contoh kelas minoritas. Batch yang tidak berisi kelas minoritas yang memadai akan dilatih dengan sangat buruk. Ukuran batch harus beberapa kali lebih besar dari rasio ketidakseimbangan. Misalnya, jika rasio ketidakseimbangan adalah 100:1, ukuran batch harus setidaknya 500.
Latihan: Periksa pemahaman Anda
Pertimbangkan situasi berikut:
- Set pelatihan berisi sedikit lebih dari satu miliar contoh.
- Ukuran batch adalah 128.
- Rasio ketidakseimbangan adalah 100:1, sehingga set pelatihan dibagi sebagai berikut:
- ~1 miliar contoh class mayoritas.
- ~10 juta contoh class minoritas.