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 berisi nama dan rentang yang diterima secara umum 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 class minoritas mewakili 0,5% set data dan class mayoritas mewakili 99,5%. Set data yang sangat tidak seimbang seperti ini umum terjadi dalam bidang kedokteran karena sebagian besar subjek tidak akan memiliki virus.
{i>Dataset<i} yang tidak seimbang terkadang tidak berisi kelas minoritas yang cukup contoh untuk melatih model dengan benar. Artinya, dengan sedikit label positif, model dilatih hampir secara eksklusif label negatif dan tidak dapat mempelajari label-label positif secara memadai. Misalnya, jika ukuran tumpukan adalah 50, banyak tumpukan 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 telah berfungsi dengan baik, berarti Anda telah selesai. Jika tidak, model yang kurang optimal akan menghasilkan dasar bawaan 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 kedua istilah baru tersebut:
- Downsampling (dalam konteks ini) berarti pelatihan pada subset contoh class mayoritas yang rendah dan tidak proporsional.
- Peningkatan bobot berarti menambahkan bobot contoh ke kelas yang dikurangi sampelnya sama dengan faktor yang digunakan dilakukan pengurangan sampel.
Langkah 1: Kurangi sampel kelas 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 terhadap 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 pengurangan sampel dengan faktor 10, contoh bobot harus 10. (Ya, ini mungkin tampak kontra-intuitif, tapi kita akan jelaskan alasannya nanti.)
Istilah bobot tidak merujuk pada parameter model (seperti, w1 atau w2). Di sini, weight mengacu pada contoh bobot, yang meningkatkan pentingnya setiap contoh selama pelatihan. Contoh bobot 10 berarti model memperlakukan contoh sebagai 10 kali lebih penting (saat menghitung kerugian) dibandingkan dengan 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. Bagaimanapun juga, Anda mencoba membuat model menjadi lebih baik pada kelas minoritas, jadi mengapa menambah kelas mayoritas? Faktanya, menaikkan bobot kelas mayoritas cenderung mengurangi bias prediksi. Yaitu, penambahan bobot setelah downsampling cenderung mengurangi delta di antara rata-rata dari prediksi model dan rata-rata label set data Anda.
Seimbangkan kembali rasio
Berapa banyak yang harus Anda kurangi dan tambahkan bobot untuk menyeimbangkan kembali {i>dataset<i} Anda? Untuk menentukan jawabannya, Anda harus bereksperimen dengan rasio rebalancing, sama seperti Anda akan bereksperimen dengan hyperparameter. Dengan demikian, jawabannya pada akhirnya bergantung pada faktor-faktor berikut:
- Ukuran batch
- Rasio ketidakseimbangan
- Jumlah contoh dalam set pelatihan
Idealnya, setiap batch harus berisi beberapa contoh class minoritas. Batch yang tidak berisi kelas minoritas yang memadai akan dilatih dengan sangat buruk. Ukuran tumpukan harus beberapa kali lebih besar daripada rasio ketidakseimbangan. Misalnya, jika rasio ketidakseimbangan adalah 100:1, maka ukuran tumpukan harus minimal 500.
Latihan: Periksa pemahaman Anda
Pertimbangkan situasi berikut:
- Set pelatihan berisi 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 kelas minoritas.