Set data: Set data tidak seimbang

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.

Gambar 5. Grafik batang dengan dua batang. Satu batang menampilkan
sekitar 200
            kelas negatif; batang lainnya menunjukkan 1 kelas positif.
Gambar 5. Set data yang sangat tidak seimbang.

 

{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%).

Gambar 6. Grafik batang dengan dua batang. Satu batang menampilkan 20 negatif
            classes; batang lainnya menunjukkan 1 kelas positif.
Gambar 6. Downsampling (pengurangan sampel).

 

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.)

Gambar 7. Diagram dua langkah downsampling dan upweighting.
            Langkah 1: Downsampling mengekstrak contoh acak dari sebagian besar
            . Langkah 2: Penambahan bobot akan menambahkan bobot ke contoh
            yang didownsample.
Gambar 7. Penambahan bobot.

 

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.
Manakah dari pernyataan berikut yang benar?
Meningkatkan ukuran batch menjadi 1.024 akan meningkatkan kualitas model yang dihasilkan.
Dengan ukuran batch 1.024, setiap batch akan memiliki rata-rata sekitar 10 contoh class minoritas, yang akan membantu melatih model yang jauh lebih baik.
Mempertahankan ukuran tumpukan pada 128 tetapi pengurangan sampel (dan penambahan bobot) hingga 20:1 akan meningkatkan kualitas model yang dihasilkan.
Berkat downsampling, setiap batch 128 akan memiliki rata-rata sekitar 21 contoh kelas minoritas, yang seharusnya cukup untuk pelatihan model yang berguna. Perhatikan bahwa pengurangan sampel akan mengurangi jumlah di set pelatihan dari yang berjumlah di atas satu miliar hingga sekitar 60 juta.
Hyperparameter saat ini sudah baik.
Dengan ukuran batch 128, setiap batch akan memiliki rata-rata sekitar 1 minoritas yang mungkin tidak cukup untuk melatih model model transformer.